Files
mol-robot/handlers/sendMessage2.js
mol 901f127b8a
Some checks failed
continuous-integration/drone Build is failing
feat: v1.2.0
2023-12-13 18:54:37 +08:00

56 lines
1.5 KiB
JavaScript

import { Message } from 'mirai-js';
import { defaultSubs } from '#root/config/index.js';
import logger from '#root/utils/logger.js';
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);
});
}