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
|
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',
|
CACHE_SCAN_FINISH: 'nodeIKernelStorageCleanListener/onFinishScan',
|
||||||
MEDIA_UPLOAD_COMPLETE: 'nodeIKernelMsgListener/onRichMediaUploadComplete',
|
MEDIA_UPLOAD_COMPLETE: 'nodeIKernelMsgListener/onRichMediaUploadComplete',
|
||||||
SKEY_UPDATE: 'onSkeyUpdate',
|
SKEY_UPDATE: 'onSkeyUpdate',
|
||||||
}
|
} as const
|
||||||
|
|
||||||
export type ReceiveCmd = string
|
export type ReceiveCmd = string
|
||||||
|
|
||||||
|
@@ -60,6 +60,7 @@ import { CreateGroupFileFolder } from './go-cqhttp/CreateGroupFileFolder'
|
|||||||
import { DelGroupFolder } from './go-cqhttp/DelGroupFolder'
|
import { DelGroupFolder } from './go-cqhttp/DelGroupFolder'
|
||||||
import { GetGroupAtAllRemain } from './go-cqhttp/GetGroupAtAllRemain'
|
import { GetGroupAtAllRemain } from './go-cqhttp/GetGroupAtAllRemain'
|
||||||
import { GetGroupRootFiles } from './go-cqhttp/GetGroupRootFiles'
|
import { GetGroupRootFiles } from './go-cqhttp/GetGroupRootFiles'
|
||||||
|
import { SetOnlineStatus } from './llonebot/SetOnlineStatus'
|
||||||
|
|
||||||
export function initActionMap(adapter: Adapter) {
|
export function initActionMap(adapter: Adapter) {
|
||||||
const actionHandlers = [
|
const actionHandlers = [
|
||||||
@@ -71,6 +72,7 @@ export function initActionMap(adapter: Adapter) {
|
|||||||
new SetQQAvatar(adapter),
|
new SetQQAvatar(adapter),
|
||||||
new GetFriendWithCategory(adapter),
|
new GetFriendWithCategory(adapter),
|
||||||
new GetEvent(adapter),
|
new GetEvent(adapter),
|
||||||
|
new SetOnlineStatus(adapter),
|
||||||
// onebot11
|
// onebot11
|
||||||
new SendLike(adapter),
|
new SendLike(adapter),
|
||||||
new GetMsg(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',
|
GetFile = 'get_file',
|
||||||
GetFriendsWithCategory = 'get_friends_with_category',
|
GetFriendsWithCategory = 'get_friends_with_category',
|
||||||
GetEvent = 'get_event',
|
GetEvent = 'get_event',
|
||||||
|
SetOnlineStatus = 'set_online_status',
|
||||||
// onebot 11
|
// onebot 11
|
||||||
SendLike = 'send_like',
|
SendLike = 'send_like',
|
||||||
GetLoginInfo = 'get_login_info',
|
GetLoginInfo = 'get_login_info',
|
||||||
|
Reference in New Issue
Block a user