mirror of
https://github.com/Jerryplusy/crystelf-plugin.git
synced 2025-07-04 06:09:19 +00:00
45 lines
1.2 KiB
JavaScript
45 lines
1.2 KiB
JavaScript
import botControl from '../lib/core/botControl.js';
|
||
import configControl from '../lib/config/configControl.js';
|
||
import schedule from 'node-schedule';
|
||
|
||
export default class ReportBots extends plugin {
|
||
constructor() {
|
||
super({
|
||
name: 'crystelf Bot状态上报',
|
||
dsc: '一些操作bot的功能',
|
||
rule: [
|
||
{
|
||
reg: '^#crystelf同步$',
|
||
fnc: 'manualReport',
|
||
permission: 'master',
|
||
} /*,
|
||
{
|
||
reg: '^#crystelf广播(.+)$',
|
||
fnc: 'broadcast',
|
||
permission: 'master',
|
||
},*/,
|
||
],
|
||
});
|
||
schedule.scheduleJob('*/30 * * * *', () => this.autoReport());
|
||
}
|
||
|
||
async autoReport() {
|
||
logger.mark(`正在自动同步bot数据到晶灵核心..`);
|
||
if (configControl.get('core')) {
|
||
await botControl.reportBots();
|
||
}
|
||
}
|
||
|
||
async manualReport(e) {
|
||
if (!configControl.get('core')) {
|
||
return e.reply(`晶灵核心未启用..`, true);
|
||
}
|
||
let success = await botControl.reportBots();
|
||
if (success) {
|
||
e.reply('crystelf Bot信息已同步到核心..', true);
|
||
} else {
|
||
e.reply('crystelf Bot同步失败:核心未连接..', true);
|
||
}
|
||
}
|
||
}
|