feat: v1.1.4

This commit is contained in:
mol
2023-05-31 14:21:33 +08:00
commit 9b8dafefb1
17 changed files with 596 additions and 0 deletions

View File

@ -0,0 +1,64 @@
const { Message } = require('mirai-js');
const { defaultSubs } = require('../config');
const logger = require('../utils/logger');
module.exports = function sendForwardMessage(bot, data) {
logger('开始执行handler: sendForwardMessage');
const { from, messages, subs } = data;
const subscriptions = subs || defaultSubs;
const { groups, users } = subscriptions;
// 创建转发信息
const forwardMsgContent = Message.createForwardMessage();
for (let i = 0; i < messages.length; i++) {
const { message, imgUrls, originUrl } = messages[i];
const msgContent = new Message();
// 依次添加文本消息
if (message) {
Array.isArray(message)
? message.forEach((message) => msgContent.addText(`${message}\n`))
: msgContent.addText(`${message}\n`);
}
// 添加图片消息
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(`\n点击查看详情:${originUrl}`);
}
forwardMsgContent.addForwardNode({
senderId: process.env.QQ,
time: 0,
senderName: process.env.FORWARD_SENDER_NAME || '莉娜·模儿',
messageChain: msgContent,
});
}
Array.isArray(groups) &&
groups.forEach((groupId) => {
// 添加消息来源
if (from) {
bot.sendMessageToGroup(
groupId,
new Message().addText(`${from}更新啦!快来看吧。`),
);
}
bot.sendMessageToGroup(groupId, forwardMsgContent);
});
Array.isArray(users) &&
users.forEach((qq) => {
// 添加消息来源
if (from) {
bot.sendMessageToFriend(
qq,
new Message().addText(`${from}更新啦!快来看吧。`),
);
}
bot.sendMessageToFriend(qq, forwardMsgContent);
});
};

22
handlers/sendMessage.js Normal file
View File

@ -0,0 +1,22 @@
const { Message } = require('mirai-js');
const { defaultSubs } = require('../config');
const logger = require('../utils/logger');
// 方法已废弃
module.exports = function sendMessage(bot, data) {
logger('开始执行handler: sendMessage');
const { message, imgUrl } = data;
const subscriptions = defaultSubs;
const { groups, users } = subscriptions;
const msg = new Message().addText(message);
if (imgUrl) {
msg.addImageUrl(imgUrl);
}
groups.forEach((groupId) => {
bot.sendMessageToGroup(groupId, msg);
});
users.forEach((qq) => {
bot.sendMessageToFriend(qq, msg);
});
};

49
handlers/sendMessage2.js Normal file
View File

@ -0,0 +1,49 @@
const { Message } = require('mirai-js');
const logger = require('../utils/logger');
module.exports = function sendMessage2(bot, data) {
logger('开始执行handler: sendMessage2');
const { from, messages, imgUrls, subs, originUrl, at } = data;
const subscriptions = subs || defaultSubs;
const { 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}`);
}
Array.isArray(groups) &&
groups.forEach((groupId) => {
bot.sendMessageToGroup(groupId, msgContent);
});
Array.isArray(users) &&
users.forEach((qq) => {
bot.sendMessageToFriend(qq, msgContent);
});
};