diff --git a/src/common/coerce.ts b/src/common/coerce.ts new file mode 100644 index 00000000..e9c6cd35 --- /dev/null +++ b/src/common/coerce.ts @@ -0,0 +1,14 @@ +import { z } from 'zod'; +const boolean = () => z.preprocess( + val => typeof val === 'string' && (val.toLowerCase() === 'false' || val === '0') ? false : Boolean(val), + z.boolean() +); +const number = () => z.preprocess( + val => typeof val !== 'number' ? Number(val) : val, + z.number() +); +const string = () => z.preprocess( + val => typeof val !== 'string' ? String(val) : val, + z.string() +); +export const coerce = { boolean, number, string }; \ No newline at end of file diff --git a/src/core/helper/config.ts b/src/core/helper/config.ts index 94cfbeb5..66721252 100644 --- a/src/core/helper/config.ts +++ b/src/core/helper/config.ts @@ -1,15 +1,16 @@ import { ConfigBase } from '@/common/config-base'; import { NapCatCore } from '@/core'; +import { coerce } from '@/common/coerce'; import { z } from 'zod'; export const NapcatConfigSchema = z.object({ - fileLog: z.coerce.boolean().default(false), - consoleLog: z.coerce.boolean().default(true), - fileLogLevel: z.coerce.string().default('debug'), - consoleLogLevel: z.coerce.string().default('info'), - packetBackend: z.coerce.string().default('auto'), - packetServer: z.coerce.string().default(''), - o3HookMode: z.coerce.number().default(0), + fileLog: coerce.boolean().default(false), + consoleLog: coerce.boolean().default(true), + fileLogLevel: coerce.string().default('debug'), + consoleLogLevel: coerce.string().default('info'), + packetBackend: coerce.string().default('auto'), + packetServer: coerce.string().default(''), + o3HookMode: coerce.number().default(0), }); export type NapcatConfig = z.infer; diff --git a/src/onebot/action/extends/ClickInlineKeyboardButton.ts b/src/onebot/action/extends/ClickInlineKeyboardButton.ts index c06947cf..e7279c51 100644 --- a/src/onebot/action/extends/ClickInlineKeyboardButton.ts +++ b/src/onebot/action/extends/ClickInlineKeyboardButton.ts @@ -1,13 +1,14 @@ import { ActionName } from '@/onebot/action/router'; import { OneBotAction } from '../OneBotAction'; import { z } from 'zod'; +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - group_id: z.coerce.string(), - bot_appid: z.coerce.string(), - button_id: z.coerce.string().default(''), - callback_data: z.coerce.string().default(''), - msg_seq: z.coerce.string().default('10086'), + group_id: coerce.string(), + bot_appid: coerce.string(), + button_id: coerce.string().default(''), + callback_data: coerce.string().default(''), + msg_seq: coerce.string().default('10086'), }); type Payload = z.infer; diff --git a/src/onebot/action/extends/CreateCollection.ts b/src/onebot/action/extends/CreateCollection.ts index e1c5903b..dd641d1b 100644 --- a/src/onebot/action/extends/CreateCollection.ts +++ b/src/onebot/action/extends/CreateCollection.ts @@ -1,10 +1,10 @@ import { OneBotAction } from '@/onebot/action/OneBotAction'; import { ActionName } from '@/onebot/action/router'; import { z } from 'zod'; - +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - rawData: z.coerce.string(), - brief: z.coerce.string(), + rawData: coerce.string(), + brief: coerce.string(), }); type Payload = z.infer; diff --git a/src/onebot/action/extends/FetchCustomFace.ts b/src/onebot/action/extends/FetchCustomFace.ts index cd7d7645..b14d2afa 100644 --- a/src/onebot/action/extends/FetchCustomFace.ts +++ b/src/onebot/action/extends/FetchCustomFace.ts @@ -1,9 +1,9 @@ import { z } from 'zod'; import { OneBotAction } from '@/onebot/action/OneBotAction'; import { ActionName } from '@/onebot/action/router'; - +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - count: z.coerce.number().default(48), + count: coerce.number().default(48), }); type Payload = z.infer; diff --git a/src/onebot/action/extends/FetchEmojiLike.ts b/src/onebot/action/extends/FetchEmojiLike.ts index 11505d9a..ee383046 100644 --- a/src/onebot/action/extends/FetchEmojiLike.ts +++ b/src/onebot/action/extends/FetchEmojiLike.ts @@ -3,12 +3,12 @@ import { OneBotAction } from '@/onebot/action/OneBotAction'; import { ActionName } from '@/onebot/action/router'; import { MessageUnique } from '@/common/message-unique'; import { type NTQQMsgApi } from '@/core/apis'; - +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - message_id: z.coerce.string(), - emojiId: z.coerce.string(), - emojiType: z.coerce.string(), - count: z.coerce.number().default(20), + message_id: coerce.string(), + emojiId: coerce.string(), + emojiType: coerce.string(), + count: coerce.number().default(20), }); type Payload = z.infer; diff --git a/src/onebot/action/extends/GetAiCharacters.ts b/src/onebot/action/extends/GetAiCharacters.ts index e2f2045a..5eb7fc5b 100644 --- a/src/onebot/action/extends/GetAiCharacters.ts +++ b/src/onebot/action/extends/GetAiCharacters.ts @@ -2,10 +2,10 @@ import { ActionName } from '@/onebot/action/router'; import { GetPacketStatusDepends } from '@/onebot/action/packet/GetPacketStatus'; import { AIVoiceChatType } from '@/core/packet/entities/aiChat'; import { z } from 'zod'; - +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - group_id: z.coerce.string(), - chat_type: z.coerce.number().default(1), + group_id: coerce.string(), + chat_type: coerce.number().default(1), }); type Payload = z.infer; diff --git a/src/onebot/action/extends/GetCollectionList.ts b/src/onebot/action/extends/GetCollectionList.ts index 4399c349..4c170cff 100644 --- a/src/onebot/action/extends/GetCollectionList.ts +++ b/src/onebot/action/extends/GetCollectionList.ts @@ -2,10 +2,10 @@ import { type NTQQCollectionApi } from '@/core/apis/collection'; import { OneBotAction } from '@/onebot/action/OneBotAction'; import { ActionName } from '@/onebot/action/router'; import { z } from 'zod'; - +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - category: z.coerce.number(), - count: z.coerce.number().default(1), + category: coerce.number(), + count: coerce.number().default(1), }); type Payload = z.infer; diff --git a/src/onebot/action/extends/GetGroupInfoEx.ts b/src/onebot/action/extends/GetGroupInfoEx.ts index 4dcd05ee..f0078a41 100644 --- a/src/onebot/action/extends/GetGroupInfoEx.ts +++ b/src/onebot/action/extends/GetGroupInfoEx.ts @@ -1,8 +1,9 @@ import { OneBotAction } from '@/onebot/action/OneBotAction'; import { ActionName } from '@/onebot/action/router'; import { z } from 'zod'; +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - group_id: z.coerce.string(), + group_id: coerce.string(), }); type Payload = z.infer; diff --git a/src/onebot/action/extends/GetMiniAppArk.ts b/src/onebot/action/extends/GetMiniAppArk.ts index 699d6661..d9ea1449 100644 --- a/src/onebot/action/extends/GetMiniAppArk.ts +++ b/src/onebot/action/extends/GetMiniAppArk.ts @@ -3,34 +3,34 @@ import { GetPacketStatusDepends } from '@/onebot/action/packet/GetPacketStatus'; import { MiniAppInfo, MiniAppInfoHelper } from '@/core/packet/utils/helper/miniAppHelper'; import { MiniAppData, MiniAppRawData, MiniAppReqCustomParams, MiniAppReqParams } from '@/core/packet/entities/miniApp'; import { z } from 'zod'; - +import { coerce } from '@/common/coerce'; const SchemaData = z.union([ z.object({ type: z.union([z.literal('bili'), z.literal('weibo')]), - title: z.coerce.string(), - desc: z.coerce.string(), - picUrl: z.coerce.string(), - jumpUrl: z.coerce.string(), - webUrl: z.coerce.string().optional(), - rawArkData: z.coerce.string().optional() + title: coerce.string(), + desc: coerce.string(), + picUrl: coerce.string(), + jumpUrl: coerce.string(), + webUrl: coerce.string().optional(), + rawArkData: coerce.string().optional() }), z.object({ - title: z.coerce.string(), - desc: z.coerce.string(), - picUrl: z.coerce.string(), - jumpUrl: z.coerce.string(), - iconUrl: z.coerce.string(), - webUrl: z.coerce.string().optional(), - appId: z.coerce.string(), - scene: z.union([z.coerce.number(), z.coerce.string()]), - templateType: z.union([z.coerce.number(), z.coerce.string()]), - businessType: z.union([z.coerce.number(), z.coerce.string()]), - verType: z.union([z.coerce.number(), z.coerce.string()]), - shareType: z.union([z.coerce.number(), z.coerce.string()]), - versionId: z.coerce.string(), - sdkId: z.coerce.string(), - withShareTicket: z.union([z.coerce.number(), z.coerce.string()]), - rawArkData: z.coerce.string().optional() + title: coerce.string(), + desc: coerce.string(), + picUrl: coerce.string(), + jumpUrl: coerce.string(), + iconUrl: coerce.string(), + webUrl: coerce.string().optional(), + appId: coerce.string(), + scene: z.union([coerce.number(), coerce.string()]), + templateType: z.union([coerce.number(), coerce.string()]), + businessType: z.union([coerce.number(), coerce.string()]), + verType: z.union([coerce.number(), coerce.string()]), + shareType: z.union([coerce.number(), coerce.string()]), + versionId: coerce.string(), + sdkId: coerce.string(), + withShareTicket: z.union([coerce.number(), coerce.string()]), + rawArkData: coerce.string().optional() }) ]); type Payload = z.infer; diff --git a/src/onebot/action/extends/GetProfileLike.ts b/src/onebot/action/extends/GetProfileLike.ts index 7e727a7a..f4cf7400 100644 --- a/src/onebot/action/extends/GetProfileLike.ts +++ b/src/onebot/action/extends/GetProfileLike.ts @@ -2,11 +2,11 @@ import { NTVoteInfo } from '@/core'; import { OneBotAction } from '@/onebot/action/OneBotAction'; import { ActionName } from '@/onebot/action/router'; import { z } from 'zod'; - +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - user_id: z.coerce.string().optional(), - start: z.coerce.number().default(0), - count: z.coerce.number().default(10), + user_id: coerce.string().optional(), + start: coerce.number().default(0), + count: coerce.number().default(10), }); type Payload = z.infer; diff --git a/src/onebot/action/extends/GetUserStatus.ts b/src/onebot/action/extends/GetUserStatus.ts index 7fe274e8..66aeb609 100644 --- a/src/onebot/action/extends/GetUserStatus.ts +++ b/src/onebot/action/extends/GetUserStatus.ts @@ -1,9 +1,9 @@ import { ActionName } from '@/onebot/action/router'; import { GetPacketStatusDepends } from '@/onebot/action/packet/GetPacketStatus'; import { z } from 'zod'; - +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - user_id: z.coerce.number(), + user_id: coerce.number(), }); type Payload = z.infer; diff --git a/src/onebot/action/extends/MoveGroupFile.ts b/src/onebot/action/extends/MoveGroupFile.ts index 05c92220..bf5c1c48 100644 --- a/src/onebot/action/extends/MoveGroupFile.ts +++ b/src/onebot/action/extends/MoveGroupFile.ts @@ -2,12 +2,12 @@ import { ActionName } from '@/onebot/action/router'; import { FileNapCatOneBotUUID } from '@/common/file-uuid'; import { GetPacketStatusDepends } from '@/onebot/action/packet/GetPacketStatus'; import { z } from 'zod'; - +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - group_id: z.coerce.string(), - file_id: z.coerce.string(), - current_parent_directory: z.coerce.string(), - target_parent_directory: z.coerce.string(), + group_id: coerce.string(), + file_id: coerce.string(), + current_parent_directory: coerce.string(), + target_parent_directory: coerce.string(), }); type Payload = z.infer; diff --git a/src/onebot/action/extends/OCRImage.ts b/src/onebot/action/extends/OCRImage.ts index d3dd45a8..c280a3cc 100644 --- a/src/onebot/action/extends/OCRImage.ts +++ b/src/onebot/action/extends/OCRImage.ts @@ -4,9 +4,9 @@ import { checkFileExist, uriToLocalFile } from '@/common/file'; import fs from 'fs'; import { z } from 'zod'; import { GeneralCallResultStatus } from '@/core'; - +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - image: z.coerce.string(), + image: coerce.string(), }); type Payload = z.infer; diff --git a/src/onebot/action/extends/RenameGroupFile.ts b/src/onebot/action/extends/RenameGroupFile.ts index 06bb1f48..8c6e7964 100644 --- a/src/onebot/action/extends/RenameGroupFile.ts +++ b/src/onebot/action/extends/RenameGroupFile.ts @@ -2,12 +2,12 @@ import { ActionName } from '@/onebot/action/router'; import { FileNapCatOneBotUUID } from '@/common/file-uuid'; import { GetPacketStatusDepends } from '@/onebot/action/packet/GetPacketStatus'; import { z } from 'zod'; - +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - group_id: z.coerce.string(), - file_id: z.coerce.string(), - current_parent_directory: z.coerce.string(), - new_name: z.coerce.string(), + group_id: coerce.string(), + file_id: coerce.string(), + current_parent_directory: coerce.string(), + new_name: coerce.string(), }); type Payload = z.infer; diff --git a/src/onebot/action/extends/SendPacket.ts b/src/onebot/action/extends/SendPacket.ts index ac23b9c4..feeb4d34 100644 --- a/src/onebot/action/extends/SendPacket.ts +++ b/src/onebot/action/extends/SendPacket.ts @@ -2,11 +2,12 @@ import { PacketHexStr } from '@/core/packet/transformer/base'; import { GetPacketStatusDepends } from '@/onebot/action/packet/GetPacketStatus'; import { ActionName } from '@/onebot/action/router'; import { z } from 'zod'; +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - cmd: z.coerce.string(), - data: z.coerce.string(), - rsp: z.coerce.boolean().default(true), + cmd: coerce.string(), + data: coerce.string(), + rsp: coerce.boolean().default(true), }); type Payload = z.infer; diff --git a/src/onebot/action/extends/SetDiyOnlineStatus.ts b/src/onebot/action/extends/SetDiyOnlineStatus.ts index df36e0be..d63895c8 100644 --- a/src/onebot/action/extends/SetDiyOnlineStatus.ts +++ b/src/onebot/action/extends/SetDiyOnlineStatus.ts @@ -1,11 +1,11 @@ import { OneBotAction } from '@/onebot/action/OneBotAction'; import { ActionName } from '@/onebot/action/router'; import { z } from 'zod'; - +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - face_id: z.coerce.string(),// 参考 face_config.json 的 QSid - face_type: z.coerce.string().default('1'), - wording: z.coerce.string().default(' '), + face_id: coerce.string(),// 参考 face_config.json 的 QSid + face_type: coerce.string().default('1'), + wording: coerce.string().default(' '), }); type Payload = z.infer; diff --git a/src/onebot/action/extends/SetGroupRemark.ts b/src/onebot/action/extends/SetGroupRemark.ts index a6e5edaf..ab6367ea 100644 --- a/src/onebot/action/extends/SetGroupRemark.ts +++ b/src/onebot/action/extends/SetGroupRemark.ts @@ -1,10 +1,10 @@ import { OneBotAction } from '@/onebot/action/OneBotAction'; import { ActionName } from '@/onebot/action/router'; import { z } from 'zod'; - +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - group_id: z.coerce.string(), - remark: z.coerce.string(), + group_id: coerce.string(), + remark: coerce.string(), }); type Payload = z.infer; diff --git a/src/onebot/action/extends/SetGroupSign.ts b/src/onebot/action/extends/SetGroupSign.ts index 3d22da22..82c62fd5 100644 --- a/src/onebot/action/extends/SetGroupSign.ts +++ b/src/onebot/action/extends/SetGroupSign.ts @@ -1,9 +1,9 @@ import { GetPacketStatusDepends } from '@/onebot/action/packet/GetPacketStatus'; import { ActionName } from '@/onebot/action/router'; import { z } from 'zod'; - +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - group_id: z.coerce.string(), + group_id: coerce.string(), }); type Payload = z.infer; diff --git a/src/onebot/action/extends/SetInputStatus.ts b/src/onebot/action/extends/SetInputStatus.ts index 76324901..affc88df 100644 --- a/src/onebot/action/extends/SetInputStatus.ts +++ b/src/onebot/action/extends/SetInputStatus.ts @@ -2,10 +2,10 @@ import { OneBotAction } from '@/onebot/action/OneBotAction'; import { ActionName } from '@/onebot/action/router'; import { ChatType } from '@/core'; import { z } from 'zod'; - +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - user_id: z.coerce.string(), - event_type: z.coerce.number(), + user_id: coerce.string(), + event_type: coerce.number(), }); type Payload = z.infer; diff --git a/src/onebot/action/extends/SetLongNick.ts b/src/onebot/action/extends/SetLongNick.ts index be68fea2..090f0fb4 100644 --- a/src/onebot/action/extends/SetLongNick.ts +++ b/src/onebot/action/extends/SetLongNick.ts @@ -1,9 +1,9 @@ import { OneBotAction } from '@/onebot/action/OneBotAction'; import { ActionName } from '@/onebot/action/router'; import { z } from 'zod'; - +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - longNick: z.coerce.string(), + longNick: coerce.string(), }); type Payload = z.infer; diff --git a/src/onebot/action/extends/SetOnlineStatus.ts b/src/onebot/action/extends/SetOnlineStatus.ts index 10101b9a..414c16ee 100644 --- a/src/onebot/action/extends/SetOnlineStatus.ts +++ b/src/onebot/action/extends/SetOnlineStatus.ts @@ -1,11 +1,11 @@ import { OneBotAction } from '@/onebot/action/OneBotAction'; import { ActionName } from '@/onebot/action/router'; import { z } from 'zod'; - +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - status: z.coerce.number(), - ext_status: z.coerce.number(), - battery_status: z.coerce.number(), + status: coerce.number(), + ext_status: coerce.number(), + battery_status: coerce.number(), }); type Payload = z.infer; diff --git a/src/onebot/action/extends/SetQQAvatar.ts b/src/onebot/action/extends/SetQQAvatar.ts index eee209c8..17832c4c 100644 --- a/src/onebot/action/extends/SetQQAvatar.ts +++ b/src/onebot/action/extends/SetQQAvatar.ts @@ -3,9 +3,9 @@ import { ActionName } from '@/onebot/action/router'; import fs from 'node:fs/promises'; import { checkFileExist, uriToLocalFile } from '@/common/file'; import { z } from 'zod'; - +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - file: z.coerce.string(), + file: coerce.string(), }); type Payload = z.infer; diff --git a/src/onebot/action/extends/SetSpecialTitle.ts b/src/onebot/action/extends/SetSpecialTitle.ts index 2665a373..6dca5fd7 100644 --- a/src/onebot/action/extends/SetSpecialTitle.ts +++ b/src/onebot/action/extends/SetSpecialTitle.ts @@ -1,11 +1,11 @@ import { ActionName } from '@/onebot/action/router'; import { GetPacketStatusDepends } from '@/onebot/action/packet/GetPacketStatus'; import { z } from 'zod'; - +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - group_id: z.coerce.string(), - user_id: z.coerce.string(), - special_title: z.coerce.string().default(''), + group_id: coerce.string(), + user_id: coerce.string(), + special_title: coerce.string().default(''), }); type Payload = z.infer; diff --git a/src/onebot/action/extends/ShareContact.ts b/src/onebot/action/extends/ShareContact.ts index d1419683..3a61fdf0 100644 --- a/src/onebot/action/extends/ShareContact.ts +++ b/src/onebot/action/extends/ShareContact.ts @@ -2,11 +2,11 @@ import { GeneralCallResult } from '@/core'; import { OneBotAction } from '@/onebot/action/OneBotAction'; import { ActionName } from '@/onebot/action/router'; import { z } from 'zod'; - +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - user_id: z.coerce.string().optional(), - group_id: z.coerce.string().optional(), - phoneNumber: z.coerce.string().default(''), + user_id: coerce.string().optional(), + group_id: coerce.string().optional(), + phoneNumber: coerce.string().default(''), }); type Payload = z.infer; @@ -29,7 +29,7 @@ export class SharePeer extends OneBotAction; diff --git a/src/onebot/action/extends/TransGroupFile.ts b/src/onebot/action/extends/TransGroupFile.ts index 2c1da8c9..2c801334 100644 --- a/src/onebot/action/extends/TransGroupFile.ts +++ b/src/onebot/action/extends/TransGroupFile.ts @@ -2,10 +2,10 @@ import { ActionName } from '@/onebot/action/router'; import { FileNapCatOneBotUUID } from '@/common/file-uuid'; import { GetPacketStatusDepends } from '@/onebot/action/packet/GetPacketStatus'; import { z } from 'zod'; - +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - group_id: z.coerce.string(), - file_id: z.coerce.string(), + group_id: coerce.string(), + file_id: coerce.string(), }); type Payload = z.infer; diff --git a/src/onebot/action/extends/TranslateEnWordToZn.ts b/src/onebot/action/extends/TranslateEnWordToZn.ts index bc4977b2..9c2e064e 100644 --- a/src/onebot/action/extends/TranslateEnWordToZn.ts +++ b/src/onebot/action/extends/TranslateEnWordToZn.ts @@ -1,9 +1,9 @@ import { OneBotAction } from '@/onebot/action/OneBotAction'; import { ActionName } from '@/onebot/action/router'; import { z } from 'zod'; - +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - words: z.array(z.coerce.string()), + words: z.array(coerce.string()), }); type Payload = z.infer; diff --git a/src/onebot/action/file/GetFile.ts b/src/onebot/action/file/GetFile.ts index 8d373676..9a6dbe8d 100644 --- a/src/onebot/action/file/GetFile.ts +++ b/src/onebot/action/file/GetFile.ts @@ -4,7 +4,7 @@ import { FileNapCatOneBotUUID } from '@/common/file-uuid'; import { ActionName } from '@/onebot/action/router'; import { OB11MessageImage, OB11MessageVideo } from '@/onebot/types'; import { z } from 'zod'; - +import { coerce } from '@/common/coerce'; export interface GetFileResponse { file?: string; // path url?: string; @@ -14,8 +14,8 @@ export interface GetFileResponse { } const GetFileBase_PayloadSchema = z.object({ - file: z.coerce.string().optional(), - file_id: z.coerce.string().optional(), + file: coerce.string().optional(), + file_id: coerce.string().optional(), }); diff --git a/src/onebot/action/file/GetGroupFileUrl.ts b/src/onebot/action/file/GetGroupFileUrl.ts index ea475659..df0e66d4 100644 --- a/src/onebot/action/file/GetGroupFileUrl.ts +++ b/src/onebot/action/file/GetGroupFileUrl.ts @@ -2,10 +2,10 @@ import { ActionName } from '@/onebot/action/router'; import { FileNapCatOneBotUUID } from '@/common/file-uuid'; import { GetPacketStatusDepends } from '@/onebot/action/packet/GetPacketStatus'; import { z } from 'zod'; - +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - group_id: z.coerce.string(), - file_id: z.coerce.string(), + group_id: coerce.string(), + file_id: coerce.string(), }); type Payload = z.infer; diff --git a/src/onebot/action/file/GetPrivateFileUrl.ts b/src/onebot/action/file/GetPrivateFileUrl.ts index f2ea65e3..c830397f 100644 --- a/src/onebot/action/file/GetPrivateFileUrl.ts +++ b/src/onebot/action/file/GetPrivateFileUrl.ts @@ -2,9 +2,9 @@ import { ActionName } from '@/onebot/action/router'; import { FileNapCatOneBotUUID } from '@/common/file-uuid'; import { GetPacketStatusDepends } from '@/onebot/action/packet/GetPacketStatus'; import { z } from 'zod'; - +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - file_id: z.coerce.string(), + file_id: coerce.string(), }); type Payload = z.infer; diff --git a/src/onebot/action/go-cqhttp/CreateGroupFileFolder.ts b/src/onebot/action/go-cqhttp/CreateGroupFileFolder.ts index f1f4c8ff..0c9d53c6 100644 --- a/src/onebot/action/go-cqhttp/CreateGroupFileFolder.ts +++ b/src/onebot/action/go-cqhttp/CreateGroupFileFolder.ts @@ -1,10 +1,10 @@ import { OneBotAction } from '@/onebot/action/OneBotAction'; import { ActionName } from '@/onebot/action/router'; import { z } from 'zod'; - +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - group_id: z.coerce.string(), - folder_name: z.coerce.string(), + group_id: coerce.string(), + folder_name: coerce.string(), }); type Payload = z.infer; diff --git a/src/onebot/action/go-cqhttp/DeleteGroupFile.ts b/src/onebot/action/go-cqhttp/DeleteGroupFile.ts index 54b5ff6f..5e21d1a8 100644 --- a/src/onebot/action/go-cqhttp/DeleteGroupFile.ts +++ b/src/onebot/action/go-cqhttp/DeleteGroupFile.ts @@ -4,10 +4,10 @@ import { ActionName } from '@/onebot/action/router'; import { FileNapCatOneBotUUID } from '@/common/file-uuid'; import { z } from 'zod'; import { NTQQGroupApi } from '@/core/apis'; - +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - group_id: z.coerce.string(), - file_id: z.coerce.string(), + group_id: coerce.string(), + file_id: coerce.string(), }); type Payload = z.infer; diff --git a/src/onebot/action/go-cqhttp/DeleteGroupFileFolder.ts b/src/onebot/action/go-cqhttp/DeleteGroupFileFolder.ts index 44c7767e..b7f6cf1f 100644 --- a/src/onebot/action/go-cqhttp/DeleteGroupFileFolder.ts +++ b/src/onebot/action/go-cqhttp/DeleteGroupFileFolder.ts @@ -2,11 +2,11 @@ import { ActionName } from '@/onebot/action/router'; import { OneBotAction } from '@/onebot/action/OneBotAction'; import { z } from 'zod'; import { NTQQGroupApi } from '@/core/apis'; - +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - group_id: z.coerce.string(), - folder_id: z.coerce.string().optional(), - folder: z.coerce.string().optional(), + group_id: coerce.string(), + folder_id: coerce.string().optional(), + folder: coerce.string().optional(), }); type Payload = z.infer; diff --git a/src/onebot/action/go-cqhttp/DownloadFile.ts b/src/onebot/action/go-cqhttp/DownloadFile.ts index a5fb7222..4b0e0b74 100644 --- a/src/onebot/action/go-cqhttp/DownloadFile.ts +++ b/src/onebot/action/go-cqhttp/DownloadFile.ts @@ -5,16 +5,16 @@ import { join as joinPath } from 'node:path'; import { calculateFileMD5, uriToLocalFile } from '@/common/file'; import { randomUUID } from 'crypto'; import { z } from 'zod'; - +import { coerce } from '@/common/coerce'; interface FileResponse { file: string; } const SchemaData = z.object({ - url: z.coerce.string().optional(), - base64: z.coerce.string().optional(), - name: z.coerce.string().optional(), - headers: z.union([z.coerce.string(), z.array(z.coerce.string())]).optional(), + url: coerce.string().optional(), + base64: coerce.string().optional(), + name: coerce.string().optional(), + headers: z.union([coerce.string(), z.array(coerce.string())]).optional(), }); type Payload = z.infer; diff --git a/src/onebot/action/go-cqhttp/GetForwardMsg.ts b/src/onebot/action/go-cqhttp/GetForwardMsg.ts index e85546fe..95eb9eae 100644 --- a/src/onebot/action/go-cqhttp/GetForwardMsg.ts +++ b/src/onebot/action/go-cqhttp/GetForwardMsg.ts @@ -5,10 +5,10 @@ import { MessageUnique } from '@/common/message-unique'; import { ChatType, ElementType, MsgSourceType, NTMsgType, RawMessage } from '@/core'; import { z } from 'zod'; import { isNumeric } from '@/common/helper'; - +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - message_id: z.coerce.string().optional(), - id: z.coerce.string().optional(), + message_id: coerce.string().optional(), + id: coerce.string().optional(), }); type Payload = z.infer; diff --git a/src/onebot/action/go-cqhttp/GetFriendMsgHistory.ts b/src/onebot/action/go-cqhttp/GetFriendMsgHistory.ts index 08500dee..84e1437e 100644 --- a/src/onebot/action/go-cqhttp/GetFriendMsgHistory.ts +++ b/src/onebot/action/go-cqhttp/GetFriendMsgHistory.ts @@ -5,15 +5,16 @@ import { ChatType } from '@/core/types'; import { MessageUnique } from '@/common/message-unique'; import { z } from 'zod'; import { NetworkAdapterConfig } from '@/onebot/config/config'; +import { coerce } from '@/common/coerce'; interface Response { messages: OB11Message[]; } const SchemaData = z.object({ - user_id: z.coerce.string(), - message_seq: z.coerce.string().optional(), - count: z.coerce.number().default(20), - reverseOrder: z.coerce.boolean().default(false) + user_id: coerce.string(), + message_seq: coerce.string().optional(), + count: coerce.number().default(20), + reverseOrder: coerce.boolean().default(false) }); diff --git a/src/onebot/action/go-cqhttp/GetGroupAtAllRemain.ts b/src/onebot/action/go-cqhttp/GetGroupAtAllRemain.ts index c5ff5d3c..8846266b 100644 --- a/src/onebot/action/go-cqhttp/GetGroupAtAllRemain.ts +++ b/src/onebot/action/go-cqhttp/GetGroupAtAllRemain.ts @@ -1,9 +1,9 @@ import { OneBotAction } from '@/onebot/action/OneBotAction'; import { ActionName } from '@/onebot/action/router'; import { z } from 'zod'; - +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - group_id: z.coerce.string() + group_id: coerce.string() }); type Payload = z.infer; diff --git a/src/onebot/action/go-cqhttp/GetGroupFileSystemInfo.ts b/src/onebot/action/go-cqhttp/GetGroupFileSystemInfo.ts index 7f9cc99f..ac476100 100644 --- a/src/onebot/action/go-cqhttp/GetGroupFileSystemInfo.ts +++ b/src/onebot/action/go-cqhttp/GetGroupFileSystemInfo.ts @@ -1,9 +1,9 @@ import { OneBotAction } from '@/onebot/action/OneBotAction'; import { ActionName } from '@/onebot/action/router'; import { z } from 'zod'; - +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - group_id: z.coerce.string() + group_id: coerce.string() }); type Payload = z.infer; diff --git a/src/onebot/action/go-cqhttp/GetGroupFilesByFolder.ts b/src/onebot/action/go-cqhttp/GetGroupFilesByFolder.ts index f0431963..f6854074 100644 --- a/src/onebot/action/go-cqhttp/GetGroupFilesByFolder.ts +++ b/src/onebot/action/go-cqhttp/GetGroupFilesByFolder.ts @@ -3,12 +3,12 @@ import { OneBotAction } from '@/onebot/action/OneBotAction'; import { ActionName } from '@/onebot/action/router'; import { OB11Construct } from '@/onebot/helper/data'; import { z } from 'zod'; - +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - group_id: z.coerce.string(), - folder_id: z.coerce.string().optional(), - folder: z.coerce.string().optional(), - file_count: z.coerce.number().default(50), + group_id: coerce.string(), + folder_id: coerce.string().optional(), + folder: coerce.string().optional(), + file_count: coerce.number().default(50), }); type Payload = z.infer; diff --git a/src/onebot/action/go-cqhttp/GetGroupHonorInfo.ts b/src/onebot/action/go-cqhttp/GetGroupHonorInfo.ts index 9f30542a..0a4c172b 100644 --- a/src/onebot/action/go-cqhttp/GetGroupHonorInfo.ts +++ b/src/onebot/action/go-cqhttp/GetGroupHonorInfo.ts @@ -2,9 +2,9 @@ import { WebHonorType } from '@/core'; import { OneBotAction } from '@/onebot/action/OneBotAction'; import { ActionName } from '@/onebot/action/router'; import { z } from 'zod'; - +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - group_id: z.coerce.string(), + group_id: coerce.string(), type: z.nativeEnum(WebHonorType).optional() }); diff --git a/src/onebot/action/go-cqhttp/GetGroupMsgHistory.ts b/src/onebot/action/go-cqhttp/GetGroupMsgHistory.ts index f9328d7f..d0203f84 100644 --- a/src/onebot/action/go-cqhttp/GetGroupMsgHistory.ts +++ b/src/onebot/action/go-cqhttp/GetGroupMsgHistory.ts @@ -5,16 +5,17 @@ import { ChatType, Peer } from '@/core/types'; import { MessageUnique } from '@/common/message-unique'; import { z } from 'zod'; import { NetworkAdapterConfig } from '@/onebot/config/config'; +import { coerce } from '@/common/coerce'; interface Response { messages: OB11Message[]; } const SchemaData = z.object({ - group_id: z.coerce.string(), - message_seq: z.coerce.string().optional(), - count: z.coerce.number().default(20), - reverseOrder: z.coerce.boolean().default(false) + group_id: coerce.string(), + message_seq: coerce.string().optional(), + count: coerce.number().default(20), + reverseOrder: coerce.boolean().default(false) }); diff --git a/src/onebot/action/go-cqhttp/GetGroupRootFiles.ts b/src/onebot/action/go-cqhttp/GetGroupRootFiles.ts index 9604e804..3e8b4698 100644 --- a/src/onebot/action/go-cqhttp/GetGroupRootFiles.ts +++ b/src/onebot/action/go-cqhttp/GetGroupRootFiles.ts @@ -4,10 +4,10 @@ import { ActionName } from '@/onebot/action/router'; import { OB11GroupFile, OB11GroupFileFolder } from '@/onebot'; import { OB11Construct } from '@/onebot/helper/data'; import { z } from 'zod'; - +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - group_id: z.coerce.string(), - file_count: z.coerce.number().default(50), + group_id: coerce.string(), + file_count: coerce.number().default(50), }); type Payload = z.infer; diff --git a/src/onebot/action/go-cqhttp/GetStrangerInfo.ts b/src/onebot/action/go-cqhttp/GetStrangerInfo.ts index 480daa8d..b0c0c96e 100644 --- a/src/onebot/action/go-cqhttp/GetStrangerInfo.ts +++ b/src/onebot/action/go-cqhttp/GetStrangerInfo.ts @@ -4,10 +4,11 @@ import { OB11Construct } from '@/onebot/helper/data'; import { ActionName } from '@/onebot/action/router'; import { calcQQLevel } from '@/common/helper'; import { z } from 'zod'; +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - user_id: z.coerce.string(), - no_cache: z.coerce.boolean().default(false), + user_id: coerce.string(), + no_cache: coerce.boolean().default(false), }); type Payload = z.infer; diff --git a/src/onebot/action/go-cqhttp/GoCQHTTPCheckUrlSafely.ts b/src/onebot/action/go-cqhttp/GoCQHTTPCheckUrlSafely.ts index 0f4d4424..29811f4c 100644 --- a/src/onebot/action/go-cqhttp/GoCQHTTPCheckUrlSafely.ts +++ b/src/onebot/action/go-cqhttp/GoCQHTTPCheckUrlSafely.ts @@ -1,9 +1,9 @@ import { OneBotAction } from '@/onebot/action/OneBotAction'; import { ActionName } from '@/onebot/action/router'; import { z } from 'zod'; - +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - url: z.coerce.string(), + url: coerce.string(), }); type Payload = z.infer; diff --git a/src/onebot/action/go-cqhttp/GoCQHTTPDeleteFriend.ts b/src/onebot/action/go-cqhttp/GoCQHTTPDeleteFriend.ts index f828306a..427734dc 100644 --- a/src/onebot/action/go-cqhttp/GoCQHTTPDeleteFriend.ts +++ b/src/onebot/action/go-cqhttp/GoCQHTTPDeleteFriend.ts @@ -1,12 +1,13 @@ import { OneBotAction } from '@/onebot/action/OneBotAction'; import { ActionName } from '@/onebot/action/router'; import { z } from 'zod'; +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - friend_id: z.coerce.string().optional(), - user_id: z.coerce.string().optional(), - temp_block: z.coerce.boolean().optional(), - temp_both_del: z.coerce.boolean().optional(), + friend_id: coerce.string().optional(), + user_id: coerce.string().optional(), + temp_block: coerce.boolean().optional(), + temp_both_del: coerce.boolean().optional(), }); type Payload = z.infer; diff --git a/src/onebot/action/go-cqhttp/GoCQHTTPGetModelShow.ts b/src/onebot/action/go-cqhttp/GoCQHTTPGetModelShow.ts index ea791d3e..15c4069e 100644 --- a/src/onebot/action/go-cqhttp/GoCQHTTPGetModelShow.ts +++ b/src/onebot/action/go-cqhttp/GoCQHTTPGetModelShow.ts @@ -1,9 +1,9 @@ import { OneBotAction } from '@/onebot/action/OneBotAction'; import { ActionName } from '@/onebot/action/router'; import { z } from 'zod'; - +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - model: z.coerce.string(), + model: coerce.string(), }); type Payload = z.infer; diff --git a/src/onebot/action/go-cqhttp/SendGroupNotice.ts b/src/onebot/action/go-cqhttp/SendGroupNotice.ts index e51c2355..be63a1ae 100644 --- a/src/onebot/action/go-cqhttp/SendGroupNotice.ts +++ b/src/onebot/action/go-cqhttp/SendGroupNotice.ts @@ -3,16 +3,16 @@ import { OneBotAction } from '@/onebot/action/OneBotAction'; import { ActionName } from '@/onebot/action/router'; import { unlink } from 'node:fs/promises'; import { z } from 'zod'; - +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - group_id: z.coerce.string(), - content: z.coerce.string(), - image: z.coerce.string().optional(), - pinned: z.coerce.number().default(0), - type: z.coerce.number().default(1), - confirm_required: z.coerce.number().default(1), - is_show_edit_card: z.coerce.number().default(0), - tip_window_type: z.coerce.number().default(0), + group_id: coerce.string(), + content: coerce.string(), + image: coerce.string().optional(), + pinned: coerce.number().default(0), + type: coerce.number().default(1), + confirm_required: coerce.number().default(1), + is_show_edit_card: coerce.number().default(0), + tip_window_type: coerce.number().default(0), }); type Payload = z.infer; diff --git a/src/onebot/action/go-cqhttp/SetGroupPortrait.ts b/src/onebot/action/go-cqhttp/SetGroupPortrait.ts index 5c9e7091..3d83921e 100644 --- a/src/onebot/action/go-cqhttp/SetGroupPortrait.ts +++ b/src/onebot/action/go-cqhttp/SetGroupPortrait.ts @@ -4,9 +4,10 @@ import { checkFileExistV2, uriToLocalFile } from '@/common/file'; import { z } from 'zod'; import fs from 'node:fs/promises'; import { GeneralCallResult } from '@/core'; +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - file: z.coerce.string(), - group_id: z.coerce.string() + file: coerce.string(), + group_id: coerce.string() }); type Payload = z.infer; diff --git a/src/onebot/action/go-cqhttp/SetQQProfile.ts b/src/onebot/action/go-cqhttp/SetQQProfile.ts index e7832fbc..ae458c72 100644 --- a/src/onebot/action/go-cqhttp/SetQQProfile.ts +++ b/src/onebot/action/go-cqhttp/SetQQProfile.ts @@ -2,11 +2,11 @@ import { NTQQUserApi } from '@/core/apis'; import { OneBotAction } from '@/onebot/action/OneBotAction'; import { ActionName } from '@/onebot/action/router'; import { z } from 'zod'; - +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - nickname: z.coerce.string(), - personal_note: z.coerce.string().optional(), - sex: z.coerce.string().optional(), // 传Sex值?建议传0 + nickname: coerce.string(), + personal_note: coerce.string().optional(), + sex: coerce.string().optional(), // 传Sex值?建议传0 }); type Payload = z.infer; diff --git a/src/onebot/action/go-cqhttp/UploadGroupFile.ts b/src/onebot/action/go-cqhttp/UploadGroupFile.ts index 32f63065..e253bd09 100644 --- a/src/onebot/action/go-cqhttp/UploadGroupFile.ts +++ b/src/onebot/action/go-cqhttp/UploadGroupFile.ts @@ -5,13 +5,13 @@ import fs from 'fs'; import { uriToLocalFile } from '@/common/file'; import { SendMessageContext } from '@/onebot/api'; import { z } from 'zod'; - +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - group_id: z.coerce.string(), - file: z.coerce.string(), - name: z.coerce.string(), - folder: z.coerce.string().optional(), - folder_id: z.coerce.string().optional(),//临时扩展 + group_id: coerce.string(), + file: coerce.string(), + name: coerce.string(), + folder: coerce.string().optional(), + folder_id: coerce.string().optional(),//临时扩展 }); type Payload = z.infer; diff --git a/src/onebot/action/go-cqhttp/UploadPrivateFile.ts b/src/onebot/action/go-cqhttp/UploadPrivateFile.ts index 83379916..6d1d240f 100644 --- a/src/onebot/action/go-cqhttp/UploadPrivateFile.ts +++ b/src/onebot/action/go-cqhttp/UploadPrivateFile.ts @@ -6,11 +6,11 @@ import { uriToLocalFile } from '@/common/file'; import { SendMessageContext } from '@/onebot/api'; import { ContextMode, createContext } from '@/onebot/action/msg/SendMsg'; import { z } from 'zod'; - +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - user_id: z.coerce.string(), - file: z.coerce.string(), - name: z.coerce.string(), + user_id: coerce.string(), + file: coerce.string(), + name: coerce.string(), }); type Payload = z.infer; diff --git a/src/onebot/action/group/DelEssenceMsg.ts b/src/onebot/action/group/DelEssenceMsg.ts index 5f6490cc..2cc5957f 100644 --- a/src/onebot/action/group/DelEssenceMsg.ts +++ b/src/onebot/action/group/DelEssenceMsg.ts @@ -2,9 +2,9 @@ import { OneBotAction } from '@/onebot/action/OneBotAction'; import { ActionName } from '@/onebot/action/router'; import { MessageUnique } from '@/common/message-unique'; import { z } from 'zod'; - +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - message_id: z.coerce.string(), + message_id: coerce.string(), }); type Payload = z.infer; diff --git a/src/onebot/action/group/DelGroupNotice.ts b/src/onebot/action/group/DelGroupNotice.ts index 11d23234..2737003f 100644 --- a/src/onebot/action/group/DelGroupNotice.ts +++ b/src/onebot/action/group/DelGroupNotice.ts @@ -1,10 +1,10 @@ import { OneBotAction } from '@/onebot/action/OneBotAction'; import { ActionName } from '@/onebot/action/router'; import { z } from 'zod'; - +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - group_id: z.coerce.string(), - notice_id: z.coerce.string() + group_id: coerce.string(), + notice_id: coerce.string() }); type Payload = z.infer; diff --git a/src/onebot/action/group/GetAiRecord.ts b/src/onebot/action/group/GetAiRecord.ts index 8837551f..a02a6ddc 100644 --- a/src/onebot/action/group/GetAiRecord.ts +++ b/src/onebot/action/group/GetAiRecord.ts @@ -2,11 +2,11 @@ import { ActionName } from '@/onebot/action/router'; import { GetPacketStatusDepends } from '@/onebot/action/packet/GetPacketStatus'; import { AIVoiceChatType } from '@/core/packet/entities/aiChat'; import { z } from 'zod'; - +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - character: z.coerce.string(), - group_id: z.coerce.string(), - text: z.coerce.string(), + character: coerce.string(), + group_id: coerce.string(), + text: coerce.string(), }); type Payload = z.infer; diff --git a/src/onebot/action/group/GetGroupEssence.ts b/src/onebot/action/group/GetGroupEssence.ts index 9b46eb40..4719ea2a 100644 --- a/src/onebot/action/group/GetGroupEssence.ts +++ b/src/onebot/action/group/GetGroupEssence.ts @@ -5,9 +5,9 @@ import { MessageUnique } from '@/common/message-unique'; import crypto from 'crypto'; import { z } from 'zod'; import { NetworkAdapterConfig } from '@/onebot/config/config'; - +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - group_id: z.coerce.string(), + group_id: coerce.string(), }); type Payload = z.infer; diff --git a/src/onebot/action/group/GetGroupInfo.ts b/src/onebot/action/group/GetGroupInfo.ts index d9695061..7325c35f 100644 --- a/src/onebot/action/group/GetGroupInfo.ts +++ b/src/onebot/action/group/GetGroupInfo.ts @@ -3,9 +3,9 @@ import { OB11Construct } from '@/onebot/helper/data'; import { OneBotAction } from '@/onebot/action/OneBotAction'; import { ActionName } from '@/onebot/action/router'; import { z } from 'zod'; - +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - group_id: z.coerce.string(), + group_id: coerce.string(), }); type Payload = z.infer; diff --git a/src/onebot/action/group/GetGroupList.ts b/src/onebot/action/group/GetGroupList.ts index 0b219646..4710f6d2 100644 --- a/src/onebot/action/group/GetGroupList.ts +++ b/src/onebot/action/group/GetGroupList.ts @@ -3,9 +3,10 @@ import { OB11Construct } from '@/onebot/helper/data'; import { OneBotAction } from '@/onebot/action/OneBotAction'; import { ActionName } from '@/onebot/action/router'; import { z } from 'zod'; +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - no_cache: z.coerce.boolean().default(false), + no_cache: coerce.boolean().default(false), }); type Payload = z.infer; diff --git a/src/onebot/action/group/GetGroupMemberInfo.ts b/src/onebot/action/group/GetGroupMemberInfo.ts index 79f9c4e7..dc8cc5c1 100644 --- a/src/onebot/action/group/GetGroupMemberInfo.ts +++ b/src/onebot/action/group/GetGroupMemberInfo.ts @@ -3,11 +3,12 @@ import { OB11Construct } from '@/onebot/helper/data'; import { OneBotAction } from '@/onebot/action/OneBotAction'; import { ActionName } from '@/onebot/action/router'; import { z } from 'zod'; +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - group_id: z.coerce.string(), - user_id: z.coerce.string(), - no_cache: z.coerce.boolean().default(false), + group_id: coerce.string(), + user_id: coerce.string(), + no_cache: coerce.boolean().default(false), }); type Payload = z.infer; diff --git a/src/onebot/action/group/GetGroupMemberList.ts b/src/onebot/action/group/GetGroupMemberList.ts index 6e0aac63..54fd3fbb 100644 --- a/src/onebot/action/group/GetGroupMemberList.ts +++ b/src/onebot/action/group/GetGroupMemberList.ts @@ -4,10 +4,11 @@ import { OneBotAction } from '@/onebot/action/OneBotAction'; import { ActionName } from '@/onebot/action/router'; import { z } from 'zod'; import { GroupMember } from '@/core'; +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - group_id: z.coerce.string(), - no_cache: z.coerce.boolean().default(false) + group_id: coerce.string(), + no_cache: coerce.boolean().default(false) }); type Payload = z.infer; diff --git a/src/onebot/action/group/GetGroupNotice.ts b/src/onebot/action/group/GetGroupNotice.ts index 50dd50b5..d290e65d 100644 --- a/src/onebot/action/group/GetGroupNotice.ts +++ b/src/onebot/action/group/GetGroupNotice.ts @@ -2,6 +2,7 @@ import { WebApiGroupNoticeFeed } from '@/core'; import { OneBotAction } from '@/onebot/action/OneBotAction'; import { ActionName } from '@/onebot/action/router'; import { z } from 'zod'; +import { coerce } from '@/common/coerce'; interface GroupNotice { sender_id: number; publish_time: number; @@ -17,7 +18,7 @@ interface GroupNotice { } const SchemaData = z.object({ - group_id: z.coerce.string(), + group_id: coerce.string(), }); type Payload = z.infer; diff --git a/src/onebot/action/group/GetGroupShutList.ts b/src/onebot/action/group/GetGroupShutList.ts index ba24fea1..de927f93 100644 --- a/src/onebot/action/group/GetGroupShutList.ts +++ b/src/onebot/action/group/GetGroupShutList.ts @@ -2,9 +2,9 @@ import { ShutUpGroupMember } from '@/core'; import { OneBotAction } from '@/onebot/action/OneBotAction'; import { ActionName } from '@/onebot/action/router'; import { z } from 'zod'; - +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - group_id: z.coerce.string(), + group_id: coerce.string(), }); type Payload = z.infer; diff --git a/src/onebot/action/group/GroupPoke.ts b/src/onebot/action/group/GroupPoke.ts index a0efd74f..8a7ad66f 100644 --- a/src/onebot/action/group/GroupPoke.ts +++ b/src/onebot/action/group/GroupPoke.ts @@ -1,10 +1,10 @@ import { ActionName } from '@/onebot/action/router'; import { GetPacketStatusDepends } from '@/onebot/action/packet/GetPacketStatus'; import { z } from 'zod'; - +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - group_id: z.coerce.string(), - user_id: z.coerce.string(), + group_id: coerce.string(), + user_id: coerce.string(), }); type Payload = z.infer; diff --git a/src/onebot/action/group/SendGroupAiRecord.ts b/src/onebot/action/group/SendGroupAiRecord.ts index d845e793..c0355a03 100644 --- a/src/onebot/action/group/SendGroupAiRecord.ts +++ b/src/onebot/action/group/SendGroupAiRecord.ts @@ -2,11 +2,11 @@ import { ActionName } from '@/onebot/action/router'; import { GetPacketStatusDepends } from '@/onebot/action/packet/GetPacketStatus'; import { AIVoiceChatType } from '@/core/packet/entities/aiChat'; import { z } from 'zod'; - +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - character: z.coerce.string(), - group_id: z.coerce.string(), - text: z.coerce.string(), + character: coerce.string(), + group_id: coerce.string(), + text: coerce.string(), }); type Payload = z.infer; diff --git a/src/onebot/action/group/SetEssenceMsg.ts b/src/onebot/action/group/SetEssenceMsg.ts index 80b7df56..6200a551 100644 --- a/src/onebot/action/group/SetEssenceMsg.ts +++ b/src/onebot/action/group/SetEssenceMsg.ts @@ -2,9 +2,9 @@ import { OneBotAction } from '@/onebot/action/OneBotAction'; import { ActionName } from '@/onebot/action/router'; import { MessageUnique } from '@/common/message-unique'; import { z } from 'zod'; - +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - message_id: z.coerce.string(), + message_id: coerce.string(), }); type Payload = z.infer; diff --git a/src/onebot/action/group/SetGroupAddRequest.ts b/src/onebot/action/group/SetGroupAddRequest.ts index a2fcb662..747ed0a9 100644 --- a/src/onebot/action/group/SetGroupAddRequest.ts +++ b/src/onebot/action/group/SetGroupAddRequest.ts @@ -2,11 +2,12 @@ import { OneBotAction } from '@/onebot/action/OneBotAction'; import { NTGroupRequestOperateTypes } from '@/core/types'; import { ActionName } from '@/onebot/action/router'; import { z } from 'zod'; +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - flag: z.coerce.string(), - approve: z.coerce.boolean().default(true), - reason: z.coerce.string().nullable().default(' '), + flag: coerce.string(), + approve: coerce.boolean().default(true), + reason: coerce.string().nullable().default(' '), }); type Payload = z.infer; diff --git a/src/onebot/action/group/SetGroupAdmin.ts b/src/onebot/action/group/SetGroupAdmin.ts index d9e91397..dbc7e1cc 100644 --- a/src/onebot/action/group/SetGroupAdmin.ts +++ b/src/onebot/action/group/SetGroupAdmin.ts @@ -2,11 +2,12 @@ import { OneBotAction } from '@/onebot/action/OneBotAction'; import { NTGroupMemberRole } from '@/core/types'; import { ActionName } from '@/onebot/action/router'; import { z } from 'zod'; +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - group_id: z.coerce.string(), - user_id: z.coerce.string(), - enable: z.coerce.boolean().default(false), + group_id: coerce.string(), + user_id: coerce.string(), + enable: coerce.boolean().default(false), }); type Payload = z.infer; diff --git a/src/onebot/action/group/SetGroupBan.ts b/src/onebot/action/group/SetGroupBan.ts index cb146e9d..0ac71142 100644 --- a/src/onebot/action/group/SetGroupBan.ts +++ b/src/onebot/action/group/SetGroupBan.ts @@ -1,11 +1,11 @@ import { OneBotAction } from '@/onebot/action/OneBotAction'; import { ActionName } from '@/onebot/action/router'; import { z } from 'zod'; - +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - group_id: z.coerce.string(), - user_id: z.coerce.string(), - duration: z.coerce.number().default(0), + group_id: coerce.string(), + user_id: coerce.string(), + duration: coerce.number().default(0), }); type Payload = z.infer; diff --git a/src/onebot/action/group/SetGroupCard.ts b/src/onebot/action/group/SetGroupCard.ts index a3a61ee5..467e2776 100644 --- a/src/onebot/action/group/SetGroupCard.ts +++ b/src/onebot/action/group/SetGroupCard.ts @@ -1,11 +1,11 @@ import { OneBotAction } from '@/onebot/action/OneBotAction'; import { ActionName } from '@/onebot/action/router'; import { z } from 'zod'; - +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - group_id: z.coerce.string(), - user_id: z.coerce.string(), - card: z.coerce.string().optional(), + group_id: coerce.string(), + user_id: coerce.string(), + card: coerce.string().optional(), }); type Payload = z.infer; diff --git a/src/onebot/action/group/SetGroupKick.ts b/src/onebot/action/group/SetGroupKick.ts index 9aa31341..66b9cf33 100644 --- a/src/onebot/action/group/SetGroupKick.ts +++ b/src/onebot/action/group/SetGroupKick.ts @@ -1,11 +1,12 @@ import { OneBotAction } from '@/onebot/action/OneBotAction'; import { ActionName } from '@/onebot/action/router'; import { z } from 'zod'; +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - group_id: z.coerce.string(), - user_id: z.coerce.string(), - reject_add_request: z.coerce.boolean().optional(), + group_id: coerce.string(), + user_id: coerce.string(), + reject_add_request: coerce.boolean().optional(), }); type Payload = z.infer; diff --git a/src/onebot/action/group/SetGroupLeave.ts b/src/onebot/action/group/SetGroupLeave.ts index a830ad78..1f6ce77d 100644 --- a/src/onebot/action/group/SetGroupLeave.ts +++ b/src/onebot/action/group/SetGroupLeave.ts @@ -1,10 +1,11 @@ import { OneBotAction } from '@/onebot/action/OneBotAction'; import { ActionName } from '@/onebot/action/router'; import { z } from 'zod'; +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - group_id: z.coerce.string(), - is_dismiss: z.coerce.boolean().optional(), + group_id: coerce.string(), + is_dismiss: coerce.boolean().optional(), }); type Payload = z.infer; diff --git a/src/onebot/action/group/SetGroupName.ts b/src/onebot/action/group/SetGroupName.ts index 4b70af1a..54f620f7 100644 --- a/src/onebot/action/group/SetGroupName.ts +++ b/src/onebot/action/group/SetGroupName.ts @@ -2,10 +2,10 @@ import { OneBotAction } from '@/onebot/action/OneBotAction'; import { ActionName } from '@/onebot/action/router'; import { z } from 'zod'; - +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - group_id: z.coerce.string(), - group_name: z.coerce.string(), + group_id: coerce.string(), + group_name: coerce.string(), }); type Payload = z.infer; diff --git a/src/onebot/action/group/SetGroupWholeBan.ts b/src/onebot/action/group/SetGroupWholeBan.ts index 06b16a27..1d3f5d72 100644 --- a/src/onebot/action/group/SetGroupWholeBan.ts +++ b/src/onebot/action/group/SetGroupWholeBan.ts @@ -1,10 +1,11 @@ import { OneBotAction } from '@/onebot/action/OneBotAction'; import { ActionName } from '@/onebot/action/router'; import { z } from 'zod'; +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - group_id: z.coerce.string(), - enable: z.coerce.boolean().optional(), + group_id: coerce.string(), + enable: coerce.boolean().optional(), }); type Payload = z.infer; diff --git a/src/onebot/action/msg/DeleteMsg.ts b/src/onebot/action/msg/DeleteMsg.ts index 87f38743..92456e9e 100644 --- a/src/onebot/action/msg/DeleteMsg.ts +++ b/src/onebot/action/msg/DeleteMsg.ts @@ -2,9 +2,10 @@ import { ActionName } from '@/onebot/action/router'; import { OneBotAction } from '@/onebot/action/OneBotAction'; import { MessageUnique } from '@/common/message-unique'; import { z } from 'zod'; +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - message_id: z.coerce.string(), + message_id: coerce.string(), }); type Payload = z.infer; diff --git a/src/onebot/action/msg/ForwardSingleMsg.ts b/src/onebot/action/msg/ForwardSingleMsg.ts index a737b8ab..4c4a0ae9 100644 --- a/src/onebot/action/msg/ForwardSingleMsg.ts +++ b/src/onebot/action/msg/ForwardSingleMsg.ts @@ -3,11 +3,11 @@ import { ChatType, Peer } from '@/core/types'; import { ActionName } from '@/onebot/action/router'; import { MessageUnique } from '@/common/message-unique'; import { z } from 'zod'; - +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - message_id: z.coerce.string(), - group_id: z.coerce.string().optional(), - user_id: z.coerce.string().optional(), + message_id: coerce.string(), + group_id: coerce.string().optional(), + user_id: coerce.string().optional(), }); type Payload = z.infer; diff --git a/src/onebot/action/msg/GetMsg.ts b/src/onebot/action/msg/GetMsg.ts index 83095c89..ece7efe8 100644 --- a/src/onebot/action/msg/GetMsg.ts +++ b/src/onebot/action/msg/GetMsg.ts @@ -5,11 +5,11 @@ import { MessageUnique } from '@/common/message-unique'; import { RawMessage } from '@/core'; import { z } from 'zod'; import { NetworkAdapterConfig } from '@/onebot/config/config'; - +import { coerce } from '@/common/coerce'; export type ReturnDataType = OB11Message const SchemaData = z.object({ - message_id: z.coerce.string(), + message_id: coerce.string(), }); type Payload = z.infer; diff --git a/src/onebot/action/msg/MarkMsgAsRead.ts b/src/onebot/action/msg/MarkMsgAsRead.ts index 7bb6f9eb..cde1d2fe 100644 --- a/src/onebot/action/msg/MarkMsgAsRead.ts +++ b/src/onebot/action/msg/MarkMsgAsRead.ts @@ -3,11 +3,11 @@ import { OneBotAction } from '@/onebot/action/OneBotAction'; import { ActionName } from '@/onebot/action/router'; import { MessageUnique } from '@/common/message-unique'; import { z } from 'zod'; - +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - user_id: z.coerce.string().optional(), - group_id: z.coerce.string().optional(), - message_id: z.coerce.string().optional(), + user_id: coerce.string().optional(), + group_id: coerce.string().optional(), + message_id: coerce.string().optional(), }); type PlayloadType = z.infer; diff --git a/src/onebot/action/msg/SetMsgEmojiLike.ts b/src/onebot/action/msg/SetMsgEmojiLike.ts index 9d2c5bb0..42016090 100644 --- a/src/onebot/action/msg/SetMsgEmojiLike.ts +++ b/src/onebot/action/msg/SetMsgEmojiLike.ts @@ -2,11 +2,12 @@ import { ActionName } from '@/onebot/action/router'; import { OneBotAction } from '@/onebot/action/OneBotAction'; import { MessageUnique } from '@/common/message-unique'; import { z } from 'zod'; +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - message_id: z.coerce.string(), - emoji_id: z.coerce.string(), - set: z.coerce.boolean().optional(), + message_id: coerce.string(), + emoji_id: coerce.string(), + set: coerce.boolean().optional(), }); type Payload = z.infer; diff --git a/src/onebot/action/packet/SendPoke.ts b/src/onebot/action/packet/SendPoke.ts index 02e06c90..598654c0 100644 --- a/src/onebot/action/packet/SendPoke.ts +++ b/src/onebot/action/packet/SendPoke.ts @@ -1,10 +1,11 @@ import { ActionName } from '@/onebot/action/router'; import { GetPacketStatusDepends } from '@/onebot/action/packet/GetPacketStatus'; import { z } from 'zod'; +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - group_id: z.coerce.string().optional(), - user_id: z.coerce.string(), + group_id: coerce.string().optional(), + user_id: coerce.string(), }); type Payload = z.infer; diff --git a/src/onebot/action/system/GetCredentials.ts b/src/onebot/action/system/GetCredentials.ts index 0d6a72fb..c27a7b4c 100644 --- a/src/onebot/action/system/GetCredentials.ts +++ b/src/onebot/action/system/GetCredentials.ts @@ -1,6 +1,7 @@ import { OneBotAction } from '@/onebot/action/OneBotAction'; import { ActionName } from '@/onebot/action/router'; import { z } from 'zod'; +import { coerce } from '@/common/coerce'; interface Response { cookies: string, @@ -8,7 +9,7 @@ interface Response { } const SchemaData = z.object({ - domain: z.coerce.string() + domain: coerce.string() }); type Payload = z.infer; diff --git a/src/onebot/action/user/FriendPoke.ts b/src/onebot/action/user/FriendPoke.ts index 3eccae07..78a1b796 100644 --- a/src/onebot/action/user/FriendPoke.ts +++ b/src/onebot/action/user/FriendPoke.ts @@ -1,9 +1,10 @@ import { ActionName } from '@/onebot/action/router'; import { GetPacketStatusDepends } from '@/onebot/action/packet/GetPacketStatus'; import { z } from 'zod'; +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - user_id: z.coerce.string() + user_id: coerce.string() }); type Payload = z.infer; diff --git a/src/onebot/action/user/GetCookies.ts b/src/onebot/action/user/GetCookies.ts index 82df5bcc..9ff0e3bc 100644 --- a/src/onebot/action/user/GetCookies.ts +++ b/src/onebot/action/user/GetCookies.ts @@ -1,13 +1,14 @@ import { OneBotAction } from '@/onebot/action/OneBotAction'; import { ActionName } from '@/onebot/action/router'; import { z } from 'zod'; +import { coerce } from '@/common/coerce'; interface Response { cookies: string, bkn: string } const SchemaData = z.object({ - domain: z.coerce.string() + domain: coerce.string() }); type Payload = z.infer; diff --git a/src/onebot/action/user/GetFriendList.ts b/src/onebot/action/user/GetFriendList.ts index e804bf1c..16cf57b0 100644 --- a/src/onebot/action/user/GetFriendList.ts +++ b/src/onebot/action/user/GetFriendList.ts @@ -3,9 +3,10 @@ import { OB11Construct } from '@/onebot/helper/data'; import { OneBotAction } from '@/onebot/action/OneBotAction'; import { ActionName } from '@/onebot/action/router'; import { z } from 'zod'; +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - no_cache: z.coerce.boolean().optional(), + no_cache: coerce.boolean().optional(), }); type Payload = z.infer; diff --git a/src/onebot/action/user/GetRecentContact.ts b/src/onebot/action/user/GetRecentContact.ts index b79d7aec..8ec364e7 100644 --- a/src/onebot/action/user/GetRecentContact.ts +++ b/src/onebot/action/user/GetRecentContact.ts @@ -3,9 +3,10 @@ import { OneBotAction } from '@/onebot/action/OneBotAction'; import { ActionName } from '@/onebot/action/router'; import { NetworkAdapterConfig } from '@/onebot/config/config'; import { z } from 'zod'; +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - count: z.coerce.number().default(10), + count: coerce.number().default(10), }); type Payload = z.infer; diff --git a/src/onebot/action/user/SendLike.ts b/src/onebot/action/user/SendLike.ts index 4804184b..66912a9c 100644 --- a/src/onebot/action/user/SendLike.ts +++ b/src/onebot/action/user/SendLike.ts @@ -1,10 +1,11 @@ import { OneBotAction } from '@/onebot/action/OneBotAction'; import { ActionName } from '@/onebot/action/router'; import { z } from 'zod'; +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - times: z.coerce.number().default(1), - user_id: z.coerce.string() + times: coerce.number().default(1), + user_id: coerce.string() }); type Payload = z.infer; diff --git a/src/onebot/action/user/SetFriendAddRequest.ts b/src/onebot/action/user/SetFriendAddRequest.ts index ef1fa7fb..3a44ae8e 100644 --- a/src/onebot/action/user/SetFriendAddRequest.ts +++ b/src/onebot/action/user/SetFriendAddRequest.ts @@ -1,11 +1,12 @@ import { OneBotAction } from '@/onebot/action/OneBotAction'; import { ActionName } from '@/onebot/action/router'; import { z } from 'zod'; +import { coerce } from '@/common/coerce'; const SchemaData = z.object({ - flag: z.coerce.string(), - approve: z.coerce.boolean().default(true), - remark: z.coerce.string().nullable().optional() + flag: coerce.string(), + approve: coerce.boolean().default(true), + remark: coerce.string().nullable().optional() }); type Payload = z.infer; diff --git a/src/onebot/config/config.ts b/src/onebot/config/config.ts index 9a9b8a00..489ce61c 100644 --- a/src/onebot/config/config.ts +++ b/src/onebot/config/config.ts @@ -1,71 +1,72 @@ import { z } from 'zod'; +import { coerce } from '../../common/coerce'; const HttpServerConfigSchema = z.object({ - name: z.coerce.string().default('http-server'), - enable: z.coerce.boolean().default(false), - port: z.coerce.number().default(3000), - host: z.coerce.string().default('0.0.0.0'), - enableCors: z.coerce.boolean().default(true), - enableWebsocket: z.coerce.boolean().default(true), - messagePostFormat: z.coerce.string().default('array'), - token: z.coerce.string().default(''), - debug: z.coerce.boolean().default(false) + name: coerce.string().default('http-server'), + enable: coerce.boolean().default(false), + port: coerce.number().default(3000), + host: coerce.string().default('0.0.0.0'), + enableCors: coerce.boolean().default(true), + enableWebsocket: coerce.boolean().default(true), + messagePostFormat: coerce.string().default('array'), + token: coerce.string().default(''), + debug: coerce.boolean().default(false) }); const HttpSseServerConfigSchema = z.object({ - name: z.coerce.string().default('http-sse-server'), - enable: z.coerce.boolean().default(false), - port: z.coerce.number().default(3000), - host: z.coerce.string().default('0.0.0.0'), - enableCors: z.coerce.boolean().default(true), - enableWebsocket: z.coerce.boolean().default(true), - messagePostFormat: z.coerce.string().default('array'), - token: z.coerce.string().default(''), - debug: z.coerce.boolean().default(false), - reportSelfMessage: z.coerce.boolean().default(false) + name: coerce.string().default('http-sse-server'), + enable: coerce.boolean().default(false), + port: coerce.number().default(3000), + host: coerce.string().default('0.0.0.0'), + enableCors: coerce.boolean().default(true), + enableWebsocket: coerce.boolean().default(true), + messagePostFormat: coerce.string().default('array'), + token: coerce.string().default(''), + debug: coerce.boolean().default(false), + reportSelfMessage: coerce.boolean().default(false) }); const HttpClientConfigSchema = z.object({ - name: z.coerce.string().default('http-client'), - enable: z.coerce.boolean().default(false), - url: z.coerce.string().default('http://localhost:8080'), - messagePostFormat: z.coerce.string().default('array'), - reportSelfMessage: z.coerce.boolean().default(false), - token: z.coerce.string().default(''), - debug: z.coerce.boolean().default(false) + name: coerce.string().default('http-client'), + enable: coerce.boolean().default(false), + url: coerce.string().default('http://localhost:8080'), + messagePostFormat: coerce.string().default('array'), + reportSelfMessage: coerce.boolean().default(false), + token: coerce.string().default(''), + debug: coerce.boolean().default(false) }); const WebsocketServerConfigSchema = z.object({ - name: z.coerce.string().default('websocket-server'), - enable: z.coerce.boolean().default(false), - host: z.coerce.string().default('0.0.0.0'), - port: z.coerce.number().default(3001), - messagePostFormat: z.coerce.string().default('array'), - reportSelfMessage: z.coerce.boolean().default(false), - token: z.coerce.string().default(''), - enableForcePushEvent: z.coerce.boolean().default(true), - debug: z.coerce.boolean().default(false), - heartInterval: z.coerce.number().default(30000) + name: coerce.string().default('websocket-server'), + enable: coerce.boolean().default(false), + host: coerce.string().default('0.0.0.0'), + port: coerce.number().default(3001), + messagePostFormat: coerce.string().default('array'), + reportSelfMessage: coerce.boolean().default(false), + token: coerce.string().default(''), + enableForcePushEvent: coerce.boolean().default(true), + debug: coerce.boolean().default(false), + heartInterval: coerce.number().default(30000) }); const WebsocketClientConfigSchema = z.object({ - name: z.coerce.string().default('websocket-client'), - enable: z.coerce.boolean().default(false), - url: z.coerce.string().default('ws://localhost:8082'), - messagePostFormat: z.coerce.string().default('array'), - reportSelfMessage: z.coerce.boolean().default(false), - reconnectInterval: z.coerce.number().default(5000), - token: z.coerce.string().default(''), - debug: z.coerce.boolean().default(false), - heartInterval: z.coerce.number().default(30000) + name: coerce.string().default('websocket-client'), + enable: coerce.boolean().default(false), + url: coerce.string().default('ws://localhost:8082'), + messagePostFormat: coerce.string().default('array'), + reportSelfMessage: coerce.boolean().default(false), + reconnectInterval: coerce.number().default(5000), + token: coerce.string().default(''), + debug: coerce.boolean().default(false), + heartInterval: coerce.number().default(30000) }); const PluginConfigSchema = z.object({ - name: z.coerce.string().default('plugin'), - enable: z.coerce.boolean().default(false), - messagePostFormat: z.coerce.string().default('array'), - reportSelfMessage: z.coerce.boolean().default(false), - debug: z.coerce.boolean().default(false), + name: coerce.string().default('plugin'), + enable: coerce.boolean().default(false), + messagePostFormat: coerce.string().default('array'), + reportSelfMessage: coerce.boolean().default(false), + debug: coerce.boolean().default(false), }); const NetworkConfigSchema = z.object({ @@ -79,9 +80,9 @@ const NetworkConfigSchema = z.object({ export const OneBotConfigSchema = z.object({ network: NetworkConfigSchema, - musicSignUrl: z.coerce.string().default(''), - enableLocalFile2Url: z.coerce.boolean().default(false), - parseMultMsg: z.coerce.boolean().default(false) + musicSignUrl: coerce.string().default(''), + enableLocalFile2Url: coerce.boolean().default(false), + parseMultMsg: coerce.boolean().default(false) }); export type OneBotConfig = z.infer; diff --git a/src/webui/src/helper/config.ts b/src/webui/src/helper/config.ts index 06562859..dbbdf13a 100644 --- a/src/webui/src/helper/config.ts +++ b/src/webui/src/helper/config.ts @@ -4,13 +4,14 @@ import { resolve } from 'node:path'; import { deepMerge } from '../utils/object'; import { themeType } from '../types/theme'; import { z } from 'zod'; +import { coerce } from '@/common/coerce'; // 定义配置的类型 const WebUiConfigSchema = z.object({ - host: z.coerce.string().default('0.0.0.0'), - port: z.coerce.number().default(6099), - token: z.coerce.string().default('napcat'), - loginRate: z.coerce.number().default(10), - autoLoginAccount: z.coerce.string().default(''), + host: coerce.string().default('0.0.0.0'), + port: coerce.number().default(6099), + token: coerce.string().default('napcat'), + loginRate: coerce.number().default(10), + autoLoginAccount: coerce.string().default(''), theme: themeType, }); diff --git a/src/webui/src/types/theme.ts b/src/webui/src/types/theme.ts index dcbe3a47..5f32c107 100644 --- a/src/webui/src/types/theme.ts +++ b/src/webui/src/types/theme.ts @@ -1,9 +1,10 @@ +import { coerce } from '@/common/coerce'; import { z } from 'zod'; export const themeType = z.object( { - dark: z.record(z.coerce.string(), z.coerce.string()), - light: z.record(z.coerce.string(), z.coerce.string()), + dark: z.record(coerce.string(), coerce.string()), + light: z.record(coerce.string(), coerce.string()), } ).default({ dark: {