mirror of
https://github.com/LLOneBot/LLOneBot.git
synced 2024-11-22 01:56:33 +00:00
feat: SetOnlineStatus
This commit is contained in:
@@ -334,4 +334,14 @@ export class NTQQUserApi extends Service {
|
||||
}
|
||||
return selfInfo.nick
|
||||
}
|
||||
|
||||
async setSelfStatus(status: number, extStatus: number, batteryStatus: number) {
|
||||
return await invoke('nodeIKernelMsgService/setStatus', [{
|
||||
statusReq: {
|
||||
status,
|
||||
extStatus,
|
||||
batteryStatus,
|
||||
}
|
||||
}, null])
|
||||
}
|
||||
}
|
||||
|
@@ -26,7 +26,7 @@ export const ReceiveCmdS = {
|
||||
CACHE_SCAN_FINISH: 'nodeIKernelStorageCleanListener/onFinishScan',
|
||||
MEDIA_UPLOAD_COMPLETE: 'nodeIKernelMsgListener/onRichMediaUploadComplete',
|
||||
SKEY_UPDATE: 'onSkeyUpdate',
|
||||
}
|
||||
} as const
|
||||
|
||||
export type ReceiveCmd = string
|
||||
|
||||
|
@@ -60,6 +60,7 @@ import { CreateGroupFileFolder } from './go-cqhttp/CreateGroupFileFolder'
|
||||
import { DelGroupFolder } from './go-cqhttp/DelGroupFolder'
|
||||
import { GetGroupAtAllRemain } from './go-cqhttp/GetGroupAtAllRemain'
|
||||
import { GetGroupRootFiles } from './go-cqhttp/GetGroupRootFiles'
|
||||
import { SetOnlineStatus } from './llonebot/SetOnlineStatus'
|
||||
|
||||
export function initActionMap(adapter: Adapter) {
|
||||
const actionHandlers = [
|
||||
@@ -71,6 +72,7 @@ export function initActionMap(adapter: Adapter) {
|
||||
new SetQQAvatar(adapter),
|
||||
new GetFriendWithCategory(adapter),
|
||||
new GetEvent(adapter),
|
||||
new SetOnlineStatus(adapter),
|
||||
// onebot11
|
||||
new SendLike(adapter),
|
||||
new GetMsg(adapter),
|
||||
|
25
src/onebot11/action/llonebot/SetOnlineStatus.ts
Normal file
25
src/onebot11/action/llonebot/SetOnlineStatus.ts
Normal file
@@ -0,0 +1,25 @@
|
||||
import BaseAction from '../BaseAction'
|
||||
import { ActionName } from '../types'
|
||||
|
||||
interface Payload {
|
||||
status: number | string
|
||||
ext_status: number | string
|
||||
battery_status: number | string
|
||||
}
|
||||
|
||||
export class SetOnlineStatus extends BaseAction<Payload, null> {
|
||||
actionName = ActionName.SetOnlineStatus
|
||||
|
||||
async _handle(payload: Payload) {
|
||||
const ret = await this.ctx.ntUserApi.setSelfStatus(
|
||||
Number(payload.status),
|
||||
Number(payload.ext_status),
|
||||
Number(payload.battery_status),
|
||||
)
|
||||
if (ret.result !== 0) {
|
||||
this.ctx.logger.error(ret)
|
||||
throw new Error('设置在线状态失败')
|
||||
}
|
||||
return null
|
||||
}
|
||||
}
|
@@ -23,6 +23,7 @@ export enum ActionName {
|
||||
GetFile = 'get_file',
|
||||
GetFriendsWithCategory = 'get_friends_with_category',
|
||||
GetEvent = 'get_event',
|
||||
SetOnlineStatus = 'set_online_status',
|
||||
// onebot 11
|
||||
SendLike = 'send_like',
|
||||
GetLoginInfo = 'get_login_info',
|
||||
|
Reference in New Issue
Block a user