From f93261bfb298346db706520b746d4857cd235cc0 Mon Sep 17 00:00:00 2001 From: Jerry Date: Wed, 21 May 2025 13:39:27 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B9=BF=E6=92=AD=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/reportBots.js | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/apps/reportBots.js b/apps/reportBots.js index e33731e..6b17b33 100644 --- a/apps/reportBots.js +++ b/apps/reportBots.js @@ -1,6 +1,7 @@ import botControl from '../lib/core/botControl.js'; import configControl from '../lib/config/configControl.js'; import schedule from 'node-schedule'; +import axios from 'axios'; export default class ReportBots extends plugin { constructor() { @@ -12,12 +13,12 @@ export default class ReportBots extends plugin { reg: '^#crystelf同步$', fnc: 'manualReport', permission: 'master', - } /*, + }, { reg: '^#crystelf广播(.+)$', fnc: 'broadcast', permission: 'master', - },*/, + }, ], }); schedule.scheduleJob('*/30 * * * *', () => this.autoReport()); @@ -41,4 +42,28 @@ export default class ReportBots extends plugin { e.reply('crystelf Bot同步失败:核心未连接..', true); } } + + async broadcast(e) { + const msg = e?.msg?.match(/^#crystelf广播(.+)$/)?.[1]?.trim(); + if (!msg) { + return e.reply('广播内容不能为空'); + } + e.reply(`开始广播消息到所有群..`); + try { + const sendData = { + token: configControl.get('coreConfig')?.token, + message: msg.toString(), + }; + const url = configControl.get('coreConfig')?.coreUrl; + const returnData = await axios.post(url, sendData); + if (returnData?.success) { + return e.reply(`操作成功:${returnData?.data.toString()}`); + } else { + return e.reply(`广播出现错误,请检查日志..`); + } + } catch (err) { + logger.error(`广播执行异常: ${err.message}`); + return e.reply('广播过程中发生错误,请检查日志..'); + } + } }