From ba997f8a58637453b9ddcc4b882b2fb5fd241f9c Mon Sep 17 00:00:00 2001 From: Jerry Date: Sun, 4 May 2025 10:30:20 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E5=90=AF=E6=A0=B8=E5=BF=83=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/coreRestart.js | 34 ++++++++++++++++++++++++++++++++++ apps/reportBots.js | 2 +- lib/core/systemControl.js | 20 ++++++++++++++++++++ 3 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 apps/coreRestart.js create mode 100644 lib/core/systemControl.js diff --git a/apps/coreRestart.js b/apps/coreRestart.js new file mode 100644 index 0000000..23878b8 --- /dev/null +++ b/apps/coreRestart.js @@ -0,0 +1,34 @@ +import systemControl from '../lib/core/systemControl.js'; +import tools from '../components/tool.js'; + +export default class CoreRestart extends plugin { + constructor() { + super({ + name: 'crystelf重启核心', + dsc: '实现核心的重启功能', + rule: [ + { + reg: '^#core重启$', + fnc: 'restart', + permission: 'master', + }, + ], + }); + } + + async restart(e) { + const returnData = await systemControl.systemRestart(); + if (returnData?.data?.success) { + e.reply(`操作成功:${returnData?.data?.data}..`); + } else { + e.reply(`操作失败:${returnData?.data?.data}..`); + } + await tools.sleep(8000); + const restartTime = await systemControl.getRestartTime(); + if (restartTime) { + e.reply(`晶灵核心重启成功!耗时${restartTime?.data?.data}秒..`); + } else { + e.reply(`核心重启花的时间有点久了呢..${restartTime?.data?.data}`); + } + } +} diff --git a/apps/reportBots.js b/apps/reportBots.js index 80af304..f774264 100644 --- a/apps/reportBots.js +++ b/apps/reportBots.js @@ -14,7 +14,7 @@ export default class ReportBots extends plugin { ], task: { name: 'crystelf定时同步', - corn: '0 */30 * * * *', + corn: '*/30 * * * *', fnc: 'autoReport', }, }); diff --git a/lib/core/systemControl.js b/lib/core/systemControl.js new file mode 100644 index 0000000..e8912bd --- /dev/null +++ b/lib/core/systemControl.js @@ -0,0 +1,20 @@ +import configControl from '../config/configControl.js'; +import axios from 'axios'; + +let systemControl = { + async systemRestart() { + const token = configControl.get('coreConfig')?.token; + const coreUrl = configControl.get('coreConfig')?.coreUrl; + const postUrl = coreUrl + '/api/system/restart'; + //logger.info(returnData); + return await axios.post(postUrl, { token: token }); + }, + + async getRestartTime() { + const token = configControl.get('coreConfig')?.token; + const coreUrl = configControl.get('coreConfig')?.coreUrl; + const postUrl = coreUrl + '/api/system/getRestartTime'; + return axios.post(postUrl, { token: token }); + }, +}; +export default systemControl;