diff --git a/src/core/apis/webapi.ts b/src/core/apis/webapi.ts index 2273a1ff..1a49e675 100644 --- a/src/core/apis/webapi.ts +++ b/src/core/apis/webapi.ts @@ -34,11 +34,21 @@ export class NTQQWebApi { return undefined; } } - - async getGroupEssenceMsg(GroupCode: string) { + async getGroupEssenceMsgAll(GroupCode: string) { + let ret: GroupEssenceMsgRet[] = []; + for (let i = 0; i < 4; i++) { + let data = await this.getGroupEssenceMsg(GroupCode, i, 50); + if (!data || data?.data.is_end) break; + ret.push(data); + } + return ret; + } + async getGroupEssenceMsg(GroupCode: string, page_start: number = 0, page_limit: number = 50) { const cookieObject = await this.core.apis.UserApi.getCookies('qun.qq.com'); const url = `https://qun.qq.com/cgi-bin/group_digest/digest_list?${new URLSearchParams({ bkn: this.getBknFromCookie(cookieObject), + page_start: page_start.toString(), + page_limit: page_limit.toString(), group_code: GroupCode, }).toString() }`; diff --git a/src/onebot/action/group/GetGroupEssence.ts b/src/onebot/action/group/GetGroupEssence.ts index aa7aed41..5fd0641f 100644 --- a/src/onebot/action/group/GetGroupEssence.ts +++ b/src/onebot/action/group/GetGroupEssence.ts @@ -33,11 +33,11 @@ export class GetGroupEssence extends BaseAction { async _handle(payload: Payload) { const NTQQWebApi = this.core.apis.WebApi; const NTQQGroupApi = this.core.apis.GroupApi; - const ret = await NTQQWebApi.getGroupEssenceMsg(payload.group_id.toString()); - if (!ret) { + const msglist = (await NTQQWebApi.getGroupEssenceMsgAll(payload.group_id.toString())).flatMap((e) => e.data.msg_list); + if (!msglist) { throw new Error('获取失败'); } - return await Promise.all(ret.data.msg_list.map(async (msg) => { + return await Promise.all(msglist.map(async (msg) => { const msgOriginData = await this.msgSeqToMsgId({ chatType: ChatType.KCHATTYPEGROUP, peerUid: payload.group_id.toString(),