diff --git a/src/ntqqapi/api/friend.ts b/src/ntqqapi/api/friend.ts index 2effc92..0aae66b 100644 --- a/src/ntqqapi/api/friend.ts +++ b/src/ntqqapi/api/friend.ts @@ -107,8 +107,7 @@ export class NTQQFriendApi extends Service { return ret.arkMsg } - async setBuddyRemark(uid: string, remark?: string) { - remark = remark ?? '' + async setBuddyRemark(uid: string, remark = '') { return await invoke('nodeIKernelBuddyService/setBuddyRemark', [{ remarkParams: { uid, remark } }]) @@ -125,6 +124,6 @@ export class NTQQFriendApi extends Service { } async setBuddyCategory(uid: string, categoryId: number) { - return await invoke('nodeIKernelBuddyService/setBuddyCategory', [{uid, categoryId}]) + return await invoke('nodeIKernelBuddyService/setBuddyCategory', [{ uid, categoryId }]) } } diff --git a/src/ntqqapi/api/group.ts b/src/ntqqapi/api/group.ts index 102c819..9ae2f3c 100644 --- a/src/ntqqapi/api/group.ts +++ b/src/ntqqapi/api/group.ts @@ -9,7 +9,8 @@ import { PublishGroupBulletinReq, GroupAllInfo, GroupFileInfo, - GroupBulletinListResult + GroupBulletinListResult, + GroupMsgMask } from '../types' import { invoke, NTClass, NTMethod } from '../ntcall' import { GeneralCallResult } from '../services' @@ -22,12 +23,6 @@ declare module 'cordis' { } } -export enum GroupMsgMask { - ALLOW_NOTIFY = 1, // 允许提醒 - ALLOW_NOT_NOTIFY = 4, // 接受消息不提醒 - BOX_NOT_NOTIFY = 2, // 收进群助手不提醒 - NOT_ALLOW = 3, // 屏蔽 -} export class NTQQGroupApi extends Service { static inject = ['ntWindowApi'] @@ -348,12 +343,11 @@ export class NTQQGroupApi extends Service { ) } - async setGroupMsgMask(groupCode: string, msgMask: GroupMsgMask){ + async setGroupMsgMask(groupCode: string, msgMask: GroupMsgMask) { return await invoke('nodeIKernelGroupService/setGroupMsgMask', [{ groupCode, msgMask }]) } - async setGroupRemark(groupCode: string, groupRemark?: string) { - groupRemark = groupRemark ?? '' + async setGroupRemark(groupCode: string, groupRemark = '') { return await invoke('nodeIKernelGroupService/modifyGroupRemark', [{ groupCode, groupRemark }]) } } diff --git a/src/ntqqapi/api/system.ts b/src/ntqqapi/api/system.ts index 9b3239c..ebc55c9 100644 --- a/src/ntqqapi/api/system.ts +++ b/src/ntqqapi/api/system.ts @@ -8,13 +8,11 @@ declare module 'cordis' { } export class NTQQSystemApi extends Service { - static inject = ['ntUserApi'] - constructor(protected ctx: Context) { super(ctx, 'ntSystemApi', true) } - async restart(){ + async restart() { // todo: 调用此接口后会将 NTQQ 设置里面的自动登录和无需手机确认打开,重启后将状态恢复到之前的状态 // 设置自动登录 @@ -27,13 +25,14 @@ export class NTQQSystemApi extends Service { // 等待登录界面,模拟点击登录按钮?还是直接调用登录方法? } - // 是否自动登录 - async getSettingAutoLogin(): Promise{ + async getSettingAutoLogin() { + // 查询是否自动登录 return invoke('nodeIKernelNodeMiscService/queryAutoRun', []) } - async setSettingAutoLogin(state: boolean){ - await invoke('nodeIKernelSettingService/setNeedConfirmSwitch', [{state: 1}]) // 1:不需要手机确认,2:需要手机确认 - await invoke('nodeIKernelSettingService/setAutoLoginSwitch', [{state}]) + async setSettingAutoLogin(state: boolean) { + await invoke('nodeIKernelSettingService/setNeedConfirmSwitch', [{ state: 1 }]) // 1:不需要手机确认,2:需要手机确认 + + await invoke('nodeIKernelSettingService/setAutoLoginSwitch', [{ state }]) } } diff --git a/src/ntqqapi/hook.ts b/src/ntqqapi/hook.ts index cf04bbb..9443019 100644 --- a/src/ntqqapi/hook.ts +++ b/src/ntqqapi/hook.ts @@ -28,7 +28,7 @@ export enum ReceiveCmdS { MEDIA_UPLOAD_COMPLETE = 'nodeIKernelMsgListener/onRichMediaUploadComplete', } -const logHook = true +const logHook = false const receiveHooks: Map - setBuddyRemark(arg: unknown): void + setBuddyRemark(arg: unknown): Promise isBuddy(uid: string): boolean diff --git a/src/ntqqapi/services/NodeIKernelNodeMiscService.ts b/src/ntqqapi/services/NodeIKernelNodeMiscService.ts index 3c2fe1f..a8ffd6b 100644 --- a/src/ntqqapi/services/NodeIKernelNodeMiscService.ts +++ b/src/ntqqapi/services/NodeIKernelNodeMiscService.ts @@ -12,4 +12,6 @@ export interface NodeIKernelNodeMiscService { score: '' }[] }> + + queryAutoRun(): Promise } diff --git a/src/ntqqapi/types/group.ts b/src/ntqqapi/types/group.ts index 1da2369..e94887a 100644 --- a/src/ntqqapi/types/group.ts +++ b/src/ntqqapi/types/group.ts @@ -1,10 +1,3 @@ -export enum GroupListUpdateType { - REFRESHALL, - GETALL, - MODIFIED, - REMOVE -} - export interface Group { groupCode: string maxMember: number @@ -188,3 +181,10 @@ export interface GroupBulletinListResult { nextIndex: number jointime: string } + +export enum GroupMsgMask { + AllowNotify = 1, // 允许提醒 + AllowNotNotify = 4, // 接受消息不提醒 + BoxNotNotify = 2, // 收进群助手不提醒 + NotAllow = 3, // 屏蔽 +} diff --git a/src/onebot11/action/llonebot/SetFriendCategory.ts b/src/onebot11/action/llonebot/SetFriendCategory.ts index c2ffe9c..05fe558 100644 --- a/src/onebot11/action/llonebot/SetFriendCategory.ts +++ b/src/onebot11/action/llonebot/SetFriendCategory.ts @@ -1,15 +1,19 @@ -import { BaseAction } from '../BaseAction' +import { BaseAction, Schema } from '../BaseAction' import { ActionName } from '../types' interface Payload { - user_id: string, - category_id: number + user_id: number | string + category_id: number | string } -export class SetFriendCategory extends BaseAction { +export class SetFriendCategory extends BaseAction { actionName = ActionName.SetFriendCategory + payloadSchema = Schema.object({ + user_id: Schema.union([Number, String]).required(), + category_id: Schema.union([Number, String]).required() + }) - protected async _handle(payload: Payload): Promise { + protected async _handle(payload: Payload) { const uid = await this.ctx.ntUserApi.getUidByUin(payload.user_id.toString()) if (!uid) throw new Error('无法获取好友信息') return this.ctx.ntFriendApi.setBuddyCategory(uid, +payload.category_id) diff --git a/src/onebot11/action/llonebot/SetFriendRemark.ts b/src/onebot11/action/llonebot/SetFriendRemark.ts index 5083cbb..fac967d 100644 --- a/src/onebot11/action/llonebot/SetFriendRemark.ts +++ b/src/onebot11/action/llonebot/SetFriendRemark.ts @@ -1,15 +1,19 @@ -import { BaseAction } from '../BaseAction' +import { BaseAction, Schema } from '../BaseAction' import { ActionName } from '../types' interface Payload { - user_id: string, + user_id: number | string remark?: string } -export class SetFriendRemark extends BaseAction { +export class SetFriendRemark extends BaseAction { actionName = ActionName.SetFriendRemark + payloadSchema = Schema.object({ + user_id: Schema.union([Number, String]).required(), + remark: Schema.string() + }) - protected async _handle(payload: Payload): Promise { + protected async _handle(payload: Payload) { const uid = await this.ctx.ntUserApi.getUidByUin(payload.user_id.toString()) if (!uid) throw new Error('无法获取好友信息') return this.ctx.ntFriendApi.setBuddyRemark(uid, payload.remark || '') diff --git a/src/onebot11/action/llonebot/SetGroupMsgMask.ts b/src/onebot11/action/llonebot/SetGroupMsgMask.ts index dd1802a..d0b9538 100644 --- a/src/onebot11/action/llonebot/SetGroupMsgMask.ts +++ b/src/onebot11/action/llonebot/SetGroupMsgMask.ts @@ -1,16 +1,19 @@ -import { BaseAction } from '../BaseAction' +import { BaseAction, Schema } from '../BaseAction' import { ActionName } from '../types' -import { GroupMsgMask } from '@/ntqqapi/api' interface Payload { - group_id: string, - mask: GroupMsgMask + group_id: number | string + mask: number | string // 1, 2, 3, 4 } export class SetGroupMsgMask extends BaseAction { actionName = ActionName.SetGroupMsgMask + payloadSchema = Schema.object({ + group_id: Schema.union([Number, String]).required(), + mask: Schema.union([Number, String]).required() + }) - protected async _handle(payload: Payload): Promise{ + protected async _handle(payload: Payload) { return this.ctx.ntGroupApi.setGroupMsgMask(payload.group_id.toString(), +payload.mask) } }