Closed yangbuyiya closed 1 year ago
优化代码,增加群聊和私人分支的走向。
如果需要分片消息请使用下面代码
// 定义机器人的名称 let botName = "@lzys522"; /** * 消息发送 * @param message * @returns {Promise<void>} */ async function onMessage(message) { const talker = message.talker(); const isText = message.type() === bot.Message.Type.Text; // 消息类型是否为文本 if (talker.self() || message.type() > 10 || talker.name() == "微信团队" && isText) { return; } const text = message.text(); const room = message.room(); if (!room) { console.log(`Chat GPT Enabled User: ${talker.name()}`); const response = await getChatGPTReply(text) await trySay(talker, response); return; } let realText = cleanMessage(text); // 如果不是指定艾特人那么就不进行发送消息 if (text.indexOf(`${botName}`) === -1) { return; } realText = text.replace(`${botName}`, ""); const topic = await room.topic(); const response = await getChatGPTReply(realText) const result = `${realText}\n ----------------\n 个人网站;https://yby6.com \n ---------------------\n ${response}`; await trySay(room, result); } const SINGLE_MESSAGE_MAX_SIZE = 500; /** * 发送 * @param talker 发送哪个 room为群聊类 text为单人 * @param msg * @returns {Promise<void>} */ async function trySay(talker, msg) { const messages = []; let message = msg; while (message.length > SINGLE_MESSAGE_MAX_SIZE) { messages.push(message.slice(0, SINGLE_MESSAGE_MAX_SIZE)); message = message.slice(SINGLE_MESSAGE_MAX_SIZE); } messages.push(message); for (const msg of messages) { await talker.say(msg); } } async function cleanMessage(text){ let realText = text; const item = text.split("- - - - - - - - - - - - - - -"); if (item.length > 1) { realText = item[item.length - 1]; } return realText; }
你好~ 是否愿意格式化代码后把一些宣传信息删除了再提一个 PR 呢?🌸
好的忘记删除部分信息,明天审查重新提交PR
😅好的,谢谢~
优化代码,增加群聊和私人分支的走向。
如果需要分片消息请使用下面代码