diff --git "a/doc/\346\233\264\346\226\260\346\227\245\345\277\227.txt" "b/doc/\346\233\264\346\226\260\346\227\245\345\277\227.txt" index abb58f62..a3db367c 100644 --- "a/doc/\346\233\264\346\226\260\346\227\245\345\277\227.txt" +++ "b/doc/\346\233\264\346\226\260\346\227\245\345\277\227.txt" @@ -1,3 +1,10 @@ +V7.12.7 +更新时间 2026-04-28 + +* OneBot 支持 _get_group_notice API 获取群公告是否发送给新成员 +* OneBot 支持 _send_group_notice API 设置群公告是否发送给新成员 + +================= V7.12.6 更新时间 2026-04-28 diff --git a/package-dist.json b/package-dist.json index da7539b1..e856d2c2 100644 --- a/package-dist.json +++ b/package-dist.json @@ -1 +1 @@ -{"name":"llonebot-dist","version":"7.12.6","type":"module","description":"","main":"llbot.js","author":"linyuchen","repository":{"type":"git","url":"https://github.com/LLOneBot/LuckyLilliaBot"}} \ No newline at end of file +{"name":"llonebot-dist","version":"7.12.7","type":"module","description":"","main":"llbot.js","author":"linyuchen","repository":{"type":"git","url":"https://github.com/LLOneBot/LuckyLilliaBot"}} \ No newline at end of file diff --git a/src/ntqqapi/api/webapi.ts b/src/ntqqapi/api/webapi.ts index 71853783..1c97b61e 100644 --- a/src/ntqqapi/api/webapi.ts +++ b/src/ntqqapi/api/webapi.ts @@ -624,7 +624,8 @@ export class NTQQWebApi extends Service { imgHeight: imgHeight?.toString() } - const res = await fetch('https://web.qun.qq.com/cgi-bin/announce/add_qun_notice', { + const url = type === 20 ? 'https://web.qun.qq.com/cgi-bin/announce/add_qun_instruction' : 'https://web.qun.qq.com/cgi-bin/announce/add_qun_notice' + const res = await fetch(url, { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded', diff --git a/src/onebot11/action/go-cqhttp/GetGroupNotice.ts b/src/onebot11/action/go-cqhttp/GetGroupNotice.ts index ad119cc3..2282e939 100644 --- a/src/onebot11/action/go-cqhttp/GetGroupNotice.ts +++ b/src/onebot11/action/go-cqhttp/GetGroupNotice.ts @@ -22,6 +22,7 @@ interface Notice { tip_window: boolean confirm_required: boolean pinned: boolean + send_new_member: boolean } } @@ -53,7 +54,8 @@ export class GetGroupNotice extends BaseAction { is_show_edit_card: !!feed.settings.isShowEditCard, tip_window: !feed.settings.tipWindowType, confirm_required: !!feed.settings.confirmRequired, - pinned: !!feed.pinned + pinned: !!feed.pinned, + send_new_member: feed.type === 20 } }) } diff --git a/src/onebot11/action/go-cqhttp/SendGroupNotice.ts b/src/onebot11/action/go-cqhttp/SendGroupNotice.ts index 48a20cf7..197b3078 100644 --- a/src/onebot11/action/go-cqhttp/SendGroupNotice.ts +++ b/src/onebot11/action/go-cqhttp/SendGroupNotice.ts @@ -12,6 +12,7 @@ interface Payload { confirm_required: boolean is_show_edit_card: boolean tip_window: boolean + send_new_member: boolean } export class SendGroupNotice extends BaseAction { @@ -23,15 +24,12 @@ export class SendGroupNotice extends BaseAction { pinned: Schema.union([Boolean, Schema.transform(String, parseBool)]).default(false), confirm_required: Schema.union([Boolean, Schema.transform(String, parseBool)]).default(true), is_show_edit_card: Schema.union([Boolean, Schema.transform(String, parseBool)]).default(false), - tip_window: Schema.union([Boolean, Schema.transform(String, parseBool)]).default(false) + tip_window: Schema.union([Boolean, Schema.transform(String, parseBool)]).default(false), + send_new_member: Schema.union([Boolean, Schema.transform(String, parseBool)]).default(false) }) async _handle(payload: Payload) { const groupCode = payload.group_id.toString() - const pinned = +payload.pinned - const confirmRequired = +payload.confirm_required - const isShowEditCard = +payload.is_show_edit_card - const tipWindowType = +!payload.tip_window let picInfo: { id: string, width: number, height: number } | undefined if (payload.image) { @@ -52,11 +50,11 @@ export class SendGroupNotice extends BaseAction { const res = await this.ctx.ntWebApi.publishGroupBulletin( groupCode, payload.content, - pinned, - 1, - isShowEditCard, - tipWindowType, - confirmRequired, + +payload.pinned, + payload.send_new_member ? 20 : 1, + +payload.is_show_edit_card, + +!payload.tip_window, + +payload.confirm_required, picInfo?.id, picInfo?.width, picInfo?.height diff --git a/src/onebot11/action/group/GetGroupMemberInfo.ts b/src/onebot11/action/group/GetGroupMemberInfo.ts index 3f2e826e..13d172c2 100644 --- a/src/onebot11/action/group/GetGroupMemberInfo.ts +++ b/src/onebot11/action/group/GetGroupMemberInfo.ts @@ -28,16 +28,17 @@ class GetGroupMemberInfo extends BaseAction { let info: UserDetailInfo | undefined try { info = await this.ctx.ntUserApi.getUserDetailInfoWithBizInfo(member.uid) + this.ctx.logger.info('getUserDetailInfoWithBizInfo') } catch (e) { try { const fetchInfo = await this.ctx.ntUserApi.fetchUserDetailInfo(member.uid) - if (fetchInfo) { - info = fetchInfo.detail.get(member.uid) - } + info = fetchInfo.detail.get(member.uid) + this.ctx.logger.info('fetchUserDetailInfo') } catch (e) { } } if (info) { + this.ctx.logger.info(info.simpleInfo.baseInfo) ret.sex = OB11Entities.sex(info.simpleInfo.baseInfo.sex) ret.qq_level = info.commonExt?.qqLevel && calcQQLevel(info.commonExt.qqLevel) || 0 ret.age = info.simpleInfo.baseInfo.age ?? 0 diff --git a/src/version.ts b/src/version.ts index 3fcd77f8..806f195a 100644 --- a/src/version.ts +++ b/src/version.ts @@ -1 +1 @@ -export const version = '7.12.6' +export const version = '7.12.7'