feat:兼容更多onebot

This commit is contained in:
Jerry 2025-10-06 19:39:10 +08:00
parent 8d678c3980
commit 4492d58d9d
3 changed files with 34 additions and 7 deletions

View File

@ -1,5 +1,6 @@
import ConfigControl from '../lib/config/configControl.js'; import ConfigControl from '../lib/config/configControl.js';
import Message from '../lib/yunzai/message.js'; import Message from '../lib/yunzai/message.js';
import YunzaiUtils from '../lib/yunzai/utils.js';
export class FaceReply extends plugin { export class FaceReply extends plugin {
constructor() { constructor() {
@ -28,9 +29,10 @@ export class FaceReply extends plugin {
} }
} }
}); });
const adapter = await YunzaiUtils.getAdapter(e);
if (face.length) { if (face.length) {
for (const f of face) { for (const f of face) {
await Message.emojiLike(e, e.message_id, String(f.id)); await Message.emojiLike(e, e.message_id, String(f.id), e.group_id, adapter);
} }
} }
} }

View File

@ -16,14 +16,25 @@ const Message = {
* @param e * @param e
* @param message_id 消息id * @param message_id 消息id
* @param emoji_id 表情id * @param emoji_id 表情id
* @param group_id 群号
* @param adapter nc/lgr
* @returns {Promise<*>} * @returns {Promise<*>}
*/ */
async emojiLike(e, message_id, emoji_id) { async emojiLike(e, message_id, emoji_id, group_id, adapter) {
return await e.bot.sendApi('set_msg_emoji_like', { if (adapter === 'nc') {
message_id: message_id, return await e.bot.sendApi('set_msg_emoji_like', {
emoji_id: emoji_id, message_id: message_id,
set: true, emoji_id: emoji_id,
}); set: true,
});
} else if (adapter === 'lgr') {
return await e.bot.sendApi('set_group_reaction', {
group_id: group_id,
message_id: message_id,
code: emoji_id,
is_add: true,
});
}
}, },
}; };
export default Message; export default Message;

View File

@ -32,4 +32,18 @@ export default class YunzaiUtils {
if (!imgUrls.length) imgUrls = [me]; if (!imgUrls.length) imgUrls = [me];
return imgUrls.slice(0, limit); return imgUrls.slice(0, limit);
} }
/**
* 看看使用的是哪个适配器
* @param e
* @returns {Promise<*>}
*/
static async getAdapter(e) {
const adapter = e.bot.sendApi('get_version_info', {})?.data?.app_name;
if (adapter === 'NapCat.Onebot') {
return 'nc';
} else if (adapter === 'Lagrange.Onebot') {
return 'lgr';
} else return 'nc';
}
} }