import pkg from 'mirai-js'; import { defaultSubs } from '#root/config/index.js'; import logger from '#root/utils/logger.js'; const { Message } = pkg export default function sendMessage2(bot, data) { logger('开始执行handler: sendMessage2'); const { from, messages, imgUrls, subs, originUrl, at } = data; const subscriptions = subs || defaultSubs; let { groups, users } = subscriptions; const msgContent = new Message(); // 添加@信息 if (at) { if (at === 'all') { msgContent.addAtAll(); } else if (Array.isArray(at)) { at.forEach((qq) => msgContent.addAt(qq)); } } // 添加消息来源 if (from) { msgContent.addText(`${from}\n`); } // 依次添加文本消息 if (messages) { Array.isArray(messages) ? messages.forEach((message) => msgContent.addText(`${message}\n`)) : msgContent.addText(messages); } // 添加图片消息 if (imgUrls) { Array.isArray(imgUrls) ? imgUrls .slice(0, process.env.IMG_NUMBER_IN_ONE_MESSAGE || 1) .forEach((url) => msgContent.addImageUrl(url)) : msgContent.addImageUrl(imgUrls); } // 添加来源地址 if (originUrl) { msgContent.addText(`点击查看详情:${originUrl}`); } groups = groups ? groups.split(',') : []; logger(groups); Array.isArray(groups) && groups.forEach((groupId) => { bot.sendMessageToGroup(groupId, msgContent); }); users = users ? users.split(',') : []; logger(users); Array.isArray(users) && users.forEach((qq) => { bot.sendMessageToFriend(qq, msgContent); }); }