diff --git a/src/onebot11/action/index.ts b/src/onebot11/action/index.ts index b9bedf69..f747374f 100644 --- a/src/onebot11/action/index.ts +++ b/src/onebot11/action/index.ts @@ -54,10 +54,12 @@ import { GetGroupEssence } from './group/GetGroupEssence'; import { ForwardFriendSingleMsg, ForwardGroupSingleMsg } from '@/onebot11/action/msg/ForwardSingleMsg'; import { GetFriendWithCategory } from './extends/GetFriendWithCategory'; import { SendGroupNotice } from './go-cqhttp/SendGroupNotice'; +import Reboot from './system/Reboot'; export const actionHandlers = [ new GetFile(), new Debug(), + new Reboot(), // new GetConfigAction(), // new SetConfigAction(), // new GetGroupAddRequest(), diff --git a/src/onebot11/action/system/Reboot.ts b/src/onebot11/action/system/Reboot.ts new file mode 100644 index 00000000..77d520d3 --- /dev/null +++ b/src/onebot11/action/system/Reboot.ts @@ -0,0 +1,23 @@ +import { rebootWithQuickLogin } from '@/common/utils/reboot'; +import BaseAction from '../BaseAction'; +import { ActionName } from '../types'; +import { selfInfo } from '@/core/data'; + +interface Payload { + delay: number +} + +export default class Reboot extends BaseAction { + actionName = ActionName.Reboot; + + protected async _handle(payload: Payload): Promise { + if (payload.delay) { + setTimeout(() => { + rebootWithQuickLogin(selfInfo.uin); + }, payload.delay); + } else { + rebootWithQuickLogin(selfInfo.uin); + } + return null; + } +} diff --git a/src/onebot11/action/types.ts b/src/onebot11/action/types.ts index b3d49a85..c19ff28c 100644 --- a/src/onebot11/action/types.ts +++ b/src/onebot11/action/types.ts @@ -27,6 +27,7 @@ export enum ActionName { ForwardFriendSingleMsg = 'forward_friend_single_msg', ForwardGroupSingleMsg = 'forward_group_single_msg', // onebot 11 + Reboot = 'set_restart', SendLike = 'send_like', GetLoginInfo = 'get_login_info', GetFriendList = 'get_friend_list',