Files
mol-robot/plugins/cook/index.js
mol a1ef6311c4
Some checks reported errors
continuous-integration/drone/push Build was killed
test
2023-12-14 09:28:57 +08:00

61 lines
1.5 KiB
JavaScript

import pkg from 'mirai-js';
import { cookSubs, command } from '#root/config/index.js';
import { getRandomRecipe } from './api/index.js';
import { genRecipeMessage } from './utils/index.js';
import logger from '#root/utils/logger.js'
const { Middleware } = pkg;
const cookCommand = command.cook;
let Bot;
let Queue;
const commandHandle = {
random: randomCook,
};
function randomCook(text, data) {
const limit = Number.parseInt(text) > 0 ? Number.parseInt(text) : 5;
const recipeList = getRandomRecipe(limit);
const message = genRecipeMessage(recipeList, '给你推荐');
switch (data.type) {
case 'GroupMessage':
Bot.sendMessageToGroup(data.sender.group.id, message);
break;
case 'FriendMessage':
Bot.sendMessageToFriend(data.sender.id, message);
}
}
function cookInit() {
Bot.on(
'GroupMessage',
new Middleware().groupFilter(cookSubs.groups).done(dealCommon),
);
Bot.on(
'FriendMessage',
new Middleware().friendFilter(cookSubs.users).done(dealCommon),
);
logger('cook 初始化完成')
}
function dealCommon(data) {
logger('开始处理指令')
logger(data)
const [commandText, ...contentText] = data.text.trim().split(' ');
for (let com of cookCommand.keys()) {
if (cookCommand[com].includes(commandText)) {
commandHandle[com](contentText, data);
break;
}
}
}
export default function install(bot, queue) {
Bot = bot;
Queue = queue;
cookInit();
logger('cook 插件加载成功')
}