From 1e35ffd7e6488c4e3a5955866b663797d952b5ed Mon Sep 17 00:00:00 2001 From: idranme Date: Tue, 24 Sep 2024 14:18:44 +0800 Subject: [PATCH] optimize --- src/common/utils/misc.ts | 7 +++++++ src/main/store.ts | 2 +- src/ntqqapi/api/group.ts | 7 +------ src/onebot11/action/go-cqhttp/GetGroupMsgHistory.ts | 4 ++-- src/onebot11/action/group/SetGroupAddRequest.ts | 3 ++- src/onebot11/action/group/SetGroupAdmin.ts | 3 ++- src/onebot11/action/group/SetGroupKick.ts | 3 ++- src/onebot11/action/group/SetGroupWholeBan.ts | 3 ++- src/onebot11/action/llonebot/GetFriendMsgHistory.ts | 4 ++-- src/onebot11/action/user/GetFriendList.ts | 3 ++- 10 files changed, 23 insertions(+), 16 deletions(-) diff --git a/src/common/utils/misc.ts b/src/common/utils/misc.ts index 5be0c73..3649051 100644 --- a/src/common/utils/misc.ts +++ b/src/common/utils/misc.ts @@ -38,3 +38,10 @@ export function mergeNewProperties(newObj: Dict, oldObj: Dict) { export function filterNullable(array: T[]) { return array.filter(e => !isNullable(e)) as NonNullable[] } + +export function parseBool(value: string) { + if (['', 'true', '1'].includes(value)) { + return true + } + return false +} diff --git a/src/main/store.ts b/src/main/store.ts index a0c31b7..3b1a6ee 100644 --- a/src/main/store.ts +++ b/src/main/store.ts @@ -30,7 +30,7 @@ export default class Store extends Service { constructor(protected ctx: Context) { super(ctx, 'store', true) - this.cache = new LimitedHashTable(1000) + this.cache = new LimitedHashTable(1000) this.initDatabase() } diff --git a/src/ntqqapi/api/group.ts b/src/ntqqapi/api/group.ts index 427d5a7..9e21170 100644 --- a/src/ntqqapi/api/group.ts +++ b/src/ntqqapi/api/group.ts @@ -156,12 +156,7 @@ export class NTQQGroupApi extends Service { } } - async kickMember( - groupCode: string, - kickUids: string[], - refuseForever = false, - kickReason = '', - ) { + async kickMember(groupCode: string, kickUids: string[], refuseForever = false, kickReason = '') { const session = getSession() if (session) { return session.getGroupService().kickMember(groupCode, kickUids, refuseForever, kickReason) diff --git a/src/onebot11/action/go-cqhttp/GetGroupMsgHistory.ts b/src/onebot11/action/go-cqhttp/GetGroupMsgHistory.ts index 8172491..58750c7 100644 --- a/src/onebot11/action/go-cqhttp/GetGroupMsgHistory.ts +++ b/src/onebot11/action/go-cqhttp/GetGroupMsgHistory.ts @@ -4,7 +4,7 @@ import { ActionName } from '../types' import { ChatType } from '@/ntqqapi/types' import { OB11Entities } from '../../entities' import { RawMessage } from '@/ntqqapi/types' -import { filterNullable } from '@/common/utils/misc' +import { filterNullable, parseBool } from '@/common/utils/misc' interface Payload { group_id: number | string @@ -23,7 +23,7 @@ export class GetGroupMsgHistory extends BaseAction { group_id: Schema.union([Number, String]).required(), message_seq: Schema.union([Number, String]), count: Schema.union([Number, String]).default(20), - reverseOrder: Schema.boolean().default(false), + reverseOrder: Schema.union([Boolean, Schema.transform(String, parseBool)]).default(false) }) protected async _handle(payload: Payload): Promise { diff --git a/src/onebot11/action/group/SetGroupAddRequest.ts b/src/onebot11/action/group/SetGroupAddRequest.ts index 076b1e2..5666b07 100644 --- a/src/onebot11/action/group/SetGroupAddRequest.ts +++ b/src/onebot11/action/group/SetGroupAddRequest.ts @@ -1,6 +1,7 @@ import { BaseAction, Schema } from '../BaseAction' import { GroupRequestOperateTypes } from '@/ntqqapi/types' import { ActionName } from '../types' +import { parseBool } from '@/common/utils/misc' interface Payload { flag: string @@ -12,7 +13,7 @@ export default class SetGroupAddRequest extends BaseAction { actionName = ActionName.SetGroupAddRequest payloadSchema = Schema.object({ flag: Schema.string().required(), - approve: Schema.boolean().default(true), + approve: Schema.union([Boolean, Schema.transform(String, parseBool)]).default(true), reason: Schema.string() }) diff --git a/src/onebot11/action/group/SetGroupAdmin.ts b/src/onebot11/action/group/SetGroupAdmin.ts index 74fd71b..6368950 100644 --- a/src/onebot11/action/group/SetGroupAdmin.ts +++ b/src/onebot11/action/group/SetGroupAdmin.ts @@ -1,6 +1,7 @@ import { BaseAction, Schema } from '../BaseAction' import { GroupMemberRole } from '@/ntqqapi/types' import { ActionName } from '../types' +import { parseBool } from '@/common/utils/misc' interface Payload { group_id: number | string @@ -13,7 +14,7 @@ export default class SetGroupAdmin extends BaseAction { payloadSchema = Schema.object({ group_id: Schema.union([Number, String]).required(), user_id: Schema.union([Number, String]).required(), - enable: Schema.boolean().default(true) + enable: Schema.union([Boolean, Schema.transform(String, parseBool)]).default(true) }) protected async _handle(payload: Payload): Promise { diff --git a/src/onebot11/action/group/SetGroupKick.ts b/src/onebot11/action/group/SetGroupKick.ts index 5f8fe69..2ca7c5d 100644 --- a/src/onebot11/action/group/SetGroupKick.ts +++ b/src/onebot11/action/group/SetGroupKick.ts @@ -1,5 +1,6 @@ import { BaseAction, Schema } from '../BaseAction' import { ActionName } from '../types' +import { parseBool } from '@/common/utils/misc' interface Payload { group_id: number | string @@ -12,7 +13,7 @@ export default class SetGroupKick extends BaseAction { payloadSchema = Schema.object({ group_id: Schema.union([Number, String]).required(), user_id: Schema.union([Number, String]).required(), - reject_add_request: Schema.boolean().default(false) + reject_add_request: Schema.union([Boolean, Schema.transform(String, parseBool)]).default(false) }) protected async _handle(payload: Payload): Promise { diff --git a/src/onebot11/action/group/SetGroupWholeBan.ts b/src/onebot11/action/group/SetGroupWholeBan.ts index 792e429..4dd0d3b 100644 --- a/src/onebot11/action/group/SetGroupWholeBan.ts +++ b/src/onebot11/action/group/SetGroupWholeBan.ts @@ -1,5 +1,6 @@ import { BaseAction, Schema } from '../BaseAction' import { ActionName } from '../types' +import { parseBool } from '@/common/utils/misc' interface Payload { group_id: number | string @@ -10,7 +11,7 @@ export default class SetGroupWholeBan extends BaseAction { actionName = ActionName.SetGroupWholeBan payloadSchema = Schema.object({ group_id: Schema.union([Number, String]).required(), - enable: Schema.boolean().default(true) + enable: Schema.union([Boolean, Schema.transform(String, parseBool)]).default(true) }) protected async _handle(payload: Payload): Promise { diff --git a/src/onebot11/action/llonebot/GetFriendMsgHistory.ts b/src/onebot11/action/llonebot/GetFriendMsgHistory.ts index e7c3219..4f139ee 100644 --- a/src/onebot11/action/llonebot/GetFriendMsgHistory.ts +++ b/src/onebot11/action/llonebot/GetFriendMsgHistory.ts @@ -3,7 +3,7 @@ import { OB11Message } from '@/onebot11/types' import { ActionName } from '../types' import { ChatType, RawMessage } from '@/ntqqapi/types' import { OB11Entities } from '@/onebot11/entities' -import { filterNullable } from '@/common/utils/misc' +import { filterNullable, parseBool } from '@/common/utils/misc' interface Payload { user_id: number | string @@ -24,7 +24,7 @@ export class GetFriendMsgHistory extends BaseAction { message_seq: Schema.union([Number, String]), message_id: Schema.union([Number, String]), count: Schema.union([Number, String]).default(20), - reverseOrder: Schema.boolean().default(false) + reverseOrder: Schema.union([Boolean, Schema.transform(String, parseBool)]).default(false) }) async _handle(payload: Payload): Promise { diff --git a/src/onebot11/action/user/GetFriendList.ts b/src/onebot11/action/user/GetFriendList.ts index 540702b..31d006d 100644 --- a/src/onebot11/action/user/GetFriendList.ts +++ b/src/onebot11/action/user/GetFriendList.ts @@ -3,6 +3,7 @@ import { OB11User } from '../../types' import { OB11Entities } from '../../entities' import { ActionName } from '../types' import { getBuildVersion } from '@/common/utils' +import { parseBool } from '@/common/utils/misc' interface Payload { no_cache: boolean @@ -11,7 +12,7 @@ interface Payload { export class GetFriendList extends BaseAction { actionName = ActionName.GetFriendList payloadSchema = Schema.object({ - no_cache: Schema.boolean().default(false) + no_cache: Schema.union([Boolean, Schema.transform(String, parseBool)]).default(false) }) protected async _handle(payload: Payload) {