From 86da417c17566ac81b881b73a1128d8b6199ef20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=89=8B=E7=93=9C=E4=B8=80=E5=8D=81=E9=9B=AA?= Date: Thu, 14 Nov 2024 20:44:14 +0800 Subject: [PATCH] feat: add SetMsgEmojiLike --- src/onebot/action/msg/SetMsgEmojiLike.ts | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/onebot/action/msg/SetMsgEmojiLike.ts b/src/onebot/action/msg/SetMsgEmojiLike.ts index 8ceb32bc..065538f0 100644 --- a/src/onebot/action/msg/SetMsgEmojiLike.ts +++ b/src/onebot/action/msg/SetMsgEmojiLike.ts @@ -8,6 +8,7 @@ const SchemaData = { properties: { message_id: { type: ['string', 'number'] }, emoji_id: { type: ['string', 'number'] }, + set: { type: ['boolean', 'string'] } }, required: ['message_id', 'emoji_id'], } as const satisfies JSONSchema; @@ -26,10 +27,19 @@ export class SetMsgEmojiLike extends BaseAction { if (!payload.emoji_id) { throw new Error('emojiId not found'); } + if (!payload.set) { + payload.set = true; + } + const msgData = (await this.core.apis.MsgApi.getMsgsByMsgId(msg.Peer, [msg.MsgId])).msgList; if (!msgData || msgData.length == 0 || !msgData[0].msgSeq) { throw new Error('find msg by msgid error'); } - return await this.core.apis.MsgApi.setEmojiLike(msg.Peer, msgData[0].msgSeq, payload.emoji_id.toString(), true); + return await this.core.apis.MsgApi.setEmojiLike( + msg.Peer, + msgData[0].msgSeq, + payload.emoji_id.toString(), + typeof payload.set == 'string' ? payload.set === 'true' : !!payload + ); } }