From 4f3a92cb59628243f0958f8c27db85be6187f50b Mon Sep 17 00:00:00 2001 From: Zyy955 <74231782+Zyy955@users.noreply.github.com> Date: Wed, 1 Nov 2023 03:17:59 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20restart.js=20(#301)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plugins/other/restart.js | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/plugins/other/restart.js b/plugins/other/restart.js index 2b9e9e7..8aa35f6 100644 --- a/plugins/other/restart.js +++ b/plugins/other/restart.js @@ -31,15 +31,26 @@ export class Restart extends plugin { let restart = await redis.get(this.key) if (restart) { restart = JSON.parse(restart) + const uin = restart?.uin || Bot.uin let time = restart.time || new Date().getTime() time = (new Date().getTime() - time) / 1000 let msg = `重启成功:耗时${time.toFixed(2)}秒` - - if (restart.isGroup) { - Bot.pickGroup(restart.id).sendMsg(msg) - } else { - Bot.pickUser(restart.id).sendMsg(msg) + try { + if (restart.isGroup) { + Bot[uin].pickGroup(restart.id).sendMsg(msg) + } else { + Bot[uin].pickUser(restart.id).sendMsg(msg) + } + } catch (error) { + /** 发送失败后等待5s重试一次,适配器可能没连接bot */ + await new Promise((resolve) => setTimeout(resolve, 5000)) + msg = `重启成功:耗时${(time + 5).toFixed(2)}秒` + if (restart.isGroup) { + Bot[uin].pickGroup(restart.id).sendMsg(msg) + } else { + Bot[uin].pickUser(restart.id).sendMsg(msg) + } } redis.del(this.key) } @@ -50,6 +61,7 @@ export class Restart extends plugin { logger.mark(`${this.e.logFnc} 开始执行重启,请稍等...`) let data = JSON.stringify({ + uin: this.e?.self_id || this.e.bot.uin, isGroup: !!this.e.isGroup, id: this.e.isGroup ? this.e.group_id : this.e.user_id, time: new Date().getTime()