57 lines
1.6 KiB
JavaScript
57 lines
1.6 KiB
JavaScript
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);
|
|
});
|
|
}
|