diff --git a/src/core/services/NodeIKernelGroupService.ts b/src/core/services/NodeIKernelGroupService.ts index 252db0e8..d46255af 100644 --- a/src/core/services/NodeIKernelGroupService.ts +++ b/src/core/services/NodeIKernelGroupService.ts @@ -239,7 +239,7 @@ export interface NodeIKernelGroupService { setMemberShutUp(groupCode: string, memberTimes: { uid: string, timeStamp: number }[]): Promise; - getGroupRecommendContactArkJson(groupCode: string): unknown; + getGroupRecommendContactArkJson(groupCode: string): Promise; getJoinGroupLink(param: { groupCode: string, diff --git a/src/onebot/api/msg.ts b/src/onebot/api/msg.ts index afe3e9cb..b4b008a3 100644 --- a/src/onebot/api/msg.ts +++ b/src/onebot/api/msg.ts @@ -624,12 +624,20 @@ export class OneBotMsgApi { [OB11MessageDataType.miniapp]: async () => undefined, - [OB11MessageDataType.contact]: async ({ data }, context) => { - const arkJson = await this.core.apis.UserApi.getBuddyRecommendContactArkJson(data.id.toString(), ''); - return this.ob11ToRawConverters.json({ - data: { data: arkJson.arkMsg }, - type: OB11MessageDataType.json - }, context); + [OB11MessageDataType.contact]: async ({ data: { type = "qq", id } }, context) => { + if(type === "qq"){ + const arkJson = await this.core.apis.UserApi.getBuddyRecommendContactArkJson(id.toString(), ''); + return this.ob11ToRawConverters.json({ + data: { data: arkJson.arkMsg }, + type: OB11MessageDataType.json + }, context); + }else if(type === "group"){ + const arkJson = await this.core.apis.GroupApi.getGroupRecommendContactArkJson(id.toString()); + return this.ob11ToRawConverters.json({ + data: { data: arkJson.arkJson }, + type: OB11MessageDataType.json + }, context); + } } }; diff --git a/src/onebot/types/message.ts b/src/onebot/types/message.ts index 93ab4180..d4890e34 100644 --- a/src/onebot/types/message.ts +++ b/src/onebot/types/message.ts @@ -85,6 +85,7 @@ export interface OB11MessageText { export interface OB11MessageContext { type: OB11MessageDataType.contact, data: { + type:"qq"|"group", id: string, } }