feat: 支持set_diy_online_status

This commit is contained in:
手瓜一十雪
2025-02-03 16:33:31 +08:00
parent 61b854e855
commit f63a6cff64
5 changed files with 41 additions and 1 deletions

View File

@@ -0,0 +1,28 @@
import { OneBotAction } from '@/onebot/action/OneBotAction';
import { ActionName } from '@/onebot/action/router';
import { Static, Type } from '@sinclair/typebox';
const SchemaData = Type.Object({
face_id: Type.Union([Type.Number(), Type.String()]),// 参考 face_config.json 的 QSid
face_type: Type.Union([Type.Number(), Type.String()], { default: '1' }),
wording: Type.String({ default: ' ' }),
});
type Payload = Static<typeof SchemaData>;
export class SeDiyOnlineStatus extends OneBotAction<Payload, string> {
override actionName = ActionName.SeDiyOnlineStatus;
override payloadSchema = SchemaData;
async _handle(payload: Payload) {
const ret = await this.core.apis.UserApi.setDiySelfOnlineStatus(
payload.face_id.toString(),
payload.face_type.toString(),
payload.wording,
);
if (ret.result !== 0) {
throw new Error('设置在线状态失败');
}
return ret.errMsg;
}
}