Revert "fix: zod boolean强制转换"

This reverts commit 17ef3231df.
This commit is contained in:
手瓜一十雪
2025-04-19 10:58:39 +08:00
parent fca7a65ee0
commit 80a34c82b9
88 changed files with 331 additions and 377 deletions

View File

@@ -1,16 +1,15 @@
import { ConfigBase } from '@/common/config-base';
import { NapCatCore } from '@/core';
import { actionType } from '@/onebot/action/type';
import { z } from 'zod';
export const NapcatConfigSchema = z.object({
fileLog: actionType.boolean().default(false),
consoleLog: actionType.boolean().default(true),
fileLogLevel: actionType.string().default('debug'),
consoleLogLevel: actionType.string().default('info'),
packetBackend: actionType.string().default('auto'),
packetServer: actionType.string().default(''),
o3HookMode: actionType.number().default(0),
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),
});
export type NapcatConfig = z.infer<typeof NapcatConfigSchema>;

View File

@@ -1,14 +1,13 @@
import { ActionName } from '@/onebot/action/router';
import { OneBotAction } from '../OneBotAction';
import { z } from 'zod';
import { actionType } from '../type';
const SchemaData = z.object({
group_id: actionType.string(),
bot_appid: actionType.string(),
button_id: actionType.string().default(''),
callback_data: actionType.string().default(''),
msg_seq: actionType.string().default('10086'),
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'),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -1,10 +1,10 @@
import { OneBotAction } from '@/onebot/action/OneBotAction';
import { ActionName } from '@/onebot/action/router';
import { z } from 'zod';
import { actionType } from '../type';
const SchemaData = z.object({
rawData: actionType.string(),
brief: actionType.string(),
rawData: z.coerce.string(),
brief: z.coerce.string(),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -1,9 +1,9 @@
import { z } from 'zod';
import { OneBotAction } from '@/onebot/action/OneBotAction';
import { ActionName } from '@/onebot/action/router';
import { actionType } from '../type';
const SchemaData = z.object({
count: actionType.number().default(48),
count: z.coerce.number().default(48),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -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 { actionType } from '../type';
const SchemaData = z.object({
message_id: actionType.string(),
emojiId: actionType.string(),
emojiType: actionType.string(),
count: actionType.number().default(20),
message_id: z.coerce.string(),
emojiId: z.coerce.string(),
emojiType: z.coerce.string(),
count: z.coerce.number().default(20),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -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 { actionType } from '../type';
const SchemaData = z.object({
group_id: actionType.string(),
chat_type: actionType.number().default(1),
group_id: z.coerce.string(),
chat_type: z.coerce.number().default(1),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -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 { actionType } from '../type';
const SchemaData = z.object({
category: actionType.number(),
count: actionType.number().default(1),
category: z.coerce.number(),
count: z.coerce.number().default(1),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -1,9 +1,8 @@
import { OneBotAction } from '@/onebot/action/OneBotAction';
import { ActionName } from '@/onebot/action/router';
import { z } from 'zod';
import { actionType } from '../type';
const SchemaData = z.object({
group_id: actionType.string(),
group_id: z.coerce.string(),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -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 { actionType } from '../type';
const SchemaData = z.union([
z.object({
type: z.union([z.literal('bili'), z.literal('weibo')]),
title: actionType.string(),
desc: actionType.string(),
picUrl: actionType.string(),
jumpUrl: actionType.string(),
webUrl: actionType.string().optional(),
rawArkData: actionType.string().optional()
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()
}),
z.object({
title: actionType.string(),
desc: actionType.string(),
picUrl: actionType.string(),
jumpUrl: actionType.string(),
iconUrl: actionType.string(),
webUrl: actionType.string().optional(),
appId: actionType.string(),
scene: z.union([actionType.number(), actionType.string()]),
templateType: z.union([actionType.number(), actionType.string()]),
businessType: z.union([actionType.number(), actionType.string()]),
verType: z.union([actionType.number(), actionType.string()]),
shareType: z.union([actionType.number(), actionType.string()]),
versionId: actionType.string(),
sdkId: actionType.string(),
withShareTicket: z.union([actionType.number(), actionType.string()]),
rawArkData: actionType.string().optional()
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()
})
]);
type Payload = z.infer<typeof SchemaData>;

View File

@@ -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 { actionType } from '../type';
const SchemaData = z.object({
user_id: actionType.string().optional(),
start: actionType.number().default(0),
count: actionType.number().default(10),
user_id: z.coerce.string().optional(),
start: z.coerce.number().default(0),
count: z.coerce.number().default(10),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -1,9 +1,9 @@
import { ActionName } from '@/onebot/action/router';
import { GetPacketStatusDepends } from '@/onebot/action/packet/GetPacketStatus';
import { z } from 'zod';
import { actionType } from '../type';
const SchemaData = z.object({
user_id: actionType.number(),
user_id: z.coerce.number(),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -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 { actionType } from '../type';
const SchemaData = z.object({
group_id: actionType.string(),
file_id: actionType.string(),
current_parent_directory: actionType.string(),
target_parent_directory: actionType.string(),
group_id: z.coerce.string(),
file_id: z.coerce.string(),
current_parent_directory: z.coerce.string(),
target_parent_directory: z.coerce.string(),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -4,9 +4,9 @@ import { checkFileExist, uriToLocalFile } from '@/common/file';
import fs from 'fs';
import { z } from 'zod';
import { GeneralCallResultStatus } from '@/core';
import { actionType } from '../type';
const SchemaData = z.object({
image: actionType.string(),
image: z.coerce.string(),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -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 { actionType } from '../type';
const SchemaData = z.object({
group_id: actionType.string(),
file_id: actionType.string(),
current_parent_directory: actionType.string(),
new_name: actionType.string(),
group_id: z.coerce.string(),
file_id: z.coerce.string(),
current_parent_directory: z.coerce.string(),
new_name: z.coerce.string(),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -2,12 +2,11 @@ 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 { actionType } from '../type';
const SchemaData = z.object({
cmd: actionType.string(),
data: actionType.string(),
rsp: actionType.boolean().default(true),
cmd: z.coerce.string(),
data: z.coerce.string(),
rsp: z.coerce.boolean().default(true),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -1,11 +1,11 @@
import { OneBotAction } from '@/onebot/action/OneBotAction';
import { ActionName } from '@/onebot/action/router';
import { z } from 'zod';
import { actionType } from '../type';
const SchemaData = z.object({
face_id: actionType.string(),// 参考 face_config.json 的 QSid
face_type: actionType.string().default('1'),
wording: actionType.string().default(' '),
face_id: z.coerce.string(),// 参考 face_config.json 的 QSid
face_type: z.coerce.string().default('1'),
wording: z.coerce.string().default(' '),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -1,10 +1,10 @@
import { OneBotAction } from '@/onebot/action/OneBotAction';
import { ActionName } from '@/onebot/action/router';
import { z } from 'zod';
import { actionType } from '../type';
const SchemaData = z.object({
group_id: actionType.string(),
remark: actionType.string(),
group_id: z.coerce.string(),
remark: z.coerce.string(),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -1,9 +1,9 @@
import { GetPacketStatusDepends } from '@/onebot/action/packet/GetPacketStatus';
import { ActionName } from '@/onebot/action/router';
import { z } from 'zod';
import { actionType } from '../type';
const SchemaData = z.object({
group_id: actionType.string(),
group_id: z.coerce.string(),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -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 { actionType } from '../type';
const SchemaData = z.object({
user_id: actionType.string(),
event_type: actionType.number(),
user_id: z.coerce.string(),
event_type: z.coerce.number(),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -1,9 +1,9 @@
import { OneBotAction } from '@/onebot/action/OneBotAction';
import { ActionName } from '@/onebot/action/router';
import { z } from 'zod';
import { actionType } from '../type';
const SchemaData = z.object({
longNick: actionType.string(),
longNick: z.coerce.string(),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -1,11 +1,11 @@
import { OneBotAction } from '@/onebot/action/OneBotAction';
import { ActionName } from '@/onebot/action/router';
import { z } from 'zod';
import { actionType } from '../type';
const SchemaData = z.object({
status: actionType.number(),
ext_status: actionType.number(),
battery_status: actionType.number(),
status: z.coerce.number(),
ext_status: z.coerce.number(),
battery_status: z.coerce.number(),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -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 { actionType } from '../type';
const SchemaData = z.object({
file: actionType.string(),
file: z.coerce.string(),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -1,11 +1,11 @@
import { ActionName } from '@/onebot/action/router';
import { GetPacketStatusDepends } from '@/onebot/action/packet/GetPacketStatus';
import { z } from 'zod';
import { actionType } from '../type';
const SchemaData = z.object({
group_id: actionType.string(),
user_id: actionType.string(),
special_title: actionType.string().default(''),
group_id: z.coerce.string(),
user_id: z.coerce.string(),
special_title: z.coerce.string().default(''),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -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 { actionType } from '../type';
const SchemaData = z.object({
user_id: actionType.string().optional(),
group_id: actionType.string().optional(),
phoneNumber: actionType.string().default(''),
user_id: z.coerce.string().optional(),
group_id: z.coerce.string().optional(),
phoneNumber: z.coerce.string().default(''),
});
type Payload = z.infer<typeof SchemaData>;
@@ -29,7 +29,7 @@ export class SharePeer extends OneBotAction<Payload, GeneralCallResult & {
}
const SchemaDataGroupEx = z.object({
group_id: actionType.string(),
group_id: z.coerce.string(),
});
type PayloadGroupEx = z.infer<typeof SchemaDataGroupEx>;

View File

@@ -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 { actionType } from '../type';
const SchemaData = z.object({
group_id: actionType.string(),
file_id: actionType.string(),
group_id: z.coerce.string(),
file_id: z.coerce.string(),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -1,9 +1,9 @@
import { OneBotAction } from '@/onebot/action/OneBotAction';
import { ActionName } from '@/onebot/action/router';
import { z } from 'zod';
import { actionType } from '../type';
const SchemaData = z.object({
words: z.array(actionType.string()),
words: z.array(z.coerce.string()),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -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 { actionType } from '../type';
export interface GetFileResponse {
file?: string; // path
url?: string;
@@ -14,8 +14,8 @@ export interface GetFileResponse {
}
const GetFileBase_PayloadSchema = z.object({
file: actionType.string().optional(),
file_id: actionType.string().optional(),
file: z.coerce.string().optional(),
file_id: z.coerce.string().optional(),
});

View File

@@ -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 { actionType } from '../type';
const SchemaData = z.object({
group_id: actionType.string(),
file_id: actionType.string(),
group_id: z.coerce.string(),
file_id: z.coerce.string(),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -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 { actionType } from '../type';
const SchemaData = z.object({
file_id: actionType.string(),
file_id: z.coerce.string(),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -1,10 +1,10 @@
import { OneBotAction } from '@/onebot/action/OneBotAction';
import { ActionName } from '@/onebot/action/router';
import { z } from 'zod';
import { actionType } from '../type';
const SchemaData = z.object({
group_id: actionType.string(),
folder_name: actionType.string(),
group_id: z.coerce.string(),
folder_name: z.coerce.string(),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -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 { actionType } from '../type';
const SchemaData = z.object({
group_id: actionType.string(),
file_id: actionType.string(),
group_id: z.coerce.string(),
file_id: z.coerce.string(),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -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 { actionType } from '../type';
const SchemaData = z.object({
group_id: actionType.string(),
folder_id: actionType.string().optional(),
folder: actionType.string().optional(),
group_id: z.coerce.string(),
folder_id: z.coerce.string().optional(),
folder: z.coerce.string().optional(),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -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 { actionType } from '../type';
interface FileResponse {
file: string;
}
const SchemaData = z.object({
url: actionType.string().optional(),
base64: actionType.string().optional(),
name: actionType.string().optional(),
headers: z.union([actionType.string(), z.array(actionType.string())]).optional(),
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(),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -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 { actionType } from '../type';
const SchemaData = z.object({
message_id: actionType.string().optional(),
id: actionType.string().optional(),
message_id: z.coerce.string().optional(),
id: z.coerce.string().optional(),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -5,16 +5,15 @@ import { ChatType } from '@/core/types';
import { MessageUnique } from '@/common/message-unique';
import { z } from 'zod';
import { NetworkAdapterConfig } from '@/onebot/config/config';
import { actionType } from '../type';
interface Response {
messages: OB11Message[];
}
const SchemaData = z.object({
user_id: actionType.string(),
message_seq: actionType.string().optional(),
count: actionType.number().default(20),
reverseOrder: actionType.boolean().default(false)
user_id: z.coerce.string(),
message_seq: z.coerce.string().optional(),
count: z.coerce.number().default(20),
reverseOrder: z.coerce.boolean().default(false)
});

View File

@@ -1,9 +1,9 @@
import { OneBotAction } from '@/onebot/action/OneBotAction';
import { ActionName } from '@/onebot/action/router';
import { z } from 'zod';
import { actionType } from '../type';
const SchemaData = z.object({
group_id: actionType.string()
group_id: z.coerce.string()
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -1,9 +1,9 @@
import { OneBotAction } from '@/onebot/action/OneBotAction';
import { ActionName } from '@/onebot/action/router';
import { z } from 'zod';
import { actionType } from '../type';
const SchemaData = z.object({
group_id: actionType.string()
group_id: z.coerce.string()
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -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 { actionType } from '../type';
const SchemaData = z.object({
group_id: actionType.string(),
folder_id: actionType.string().optional(),
folder: actionType.string().optional(),
file_count: actionType.number().default(50),
group_id: z.coerce.string(),
folder_id: z.coerce.string().optional(),
folder: z.coerce.string().optional(),
file_count: z.coerce.number().default(50),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -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 { actionType } from '../type';
const SchemaData = z.object({
group_id: actionType.string(),
group_id: z.coerce.string(),
type: z.nativeEnum(WebHonorType).optional()
});

View File

@@ -5,17 +5,16 @@ import { ChatType, Peer } from '@/core/types';
import { MessageUnique } from '@/common/message-unique';
import { z } from 'zod';
import { NetworkAdapterConfig } from '@/onebot/config/config';
import { actionType } from '../type';
interface Response {
messages: OB11Message[];
}
const SchemaData = z.object({
group_id: actionType.string(),
message_seq: actionType.string().optional(),
count: actionType.number().default(20),
reverseOrder: actionType.boolean().default(false)
group_id: z.coerce.string(),
message_seq: z.coerce.string().optional(),
count: z.coerce.number().default(20),
reverseOrder: z.coerce.boolean().default(false)
});

View File

@@ -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 { actionType } from '../type';
const SchemaData = z.object({
group_id: actionType.string(),
file_count: actionType.number().default(50),
group_id: z.coerce.string(),
file_count: z.coerce.number().default(50),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -4,11 +4,10 @@ import { OB11Construct } from '@/onebot/helper/data';
import { ActionName } from '@/onebot/action/router';
import { calcQQLevel } from '@/common/helper';
import { z } from 'zod';
import { actionType } from '../type';
const SchemaData = z.object({
user_id: actionType.string(),
no_cache: actionType.boolean().default(false),
user_id: z.coerce.string(),
no_cache: z.coerce.boolean().default(false),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -1,9 +1,9 @@
import { OneBotAction } from '@/onebot/action/OneBotAction';
import { ActionName } from '@/onebot/action/router';
import { z } from 'zod';
import { actionType } from '../type';
const SchemaData = z.object({
url: actionType.string(),
url: z.coerce.string(),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -1,13 +1,12 @@
import { OneBotAction } from '@/onebot/action/OneBotAction';
import { ActionName } from '@/onebot/action/router';
import { z } from 'zod';
import { actionType } from '../type';
const SchemaData = z.object({
friend_id: actionType.string().optional(),
user_id: actionType.string().optional(),
temp_block: actionType.boolean().optional(),
temp_both_del: actionType.boolean().optional(),
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(),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -1,9 +1,9 @@
import { OneBotAction } from '@/onebot/action/OneBotAction';
import { ActionName } from '@/onebot/action/router';
import { z } from 'zod';
import { actionType } from '../type';
const SchemaData = z.object({
model: actionType.string(),
model: z.coerce.string(),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -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 { actionType } from '../type';
const SchemaData = z.object({
group_id: actionType.string(),
content: actionType.string(),
image: actionType.string().optional(),
pinned: actionType.number().default(0),
type: actionType.number().default(1),
confirm_required: actionType.number().default(1),
is_show_edit_card: actionType.number().default(0),
tip_window_type: actionType.number().default(0),
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),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -4,10 +4,9 @@ import { checkFileExistV2, uriToLocalFile } from '@/common/file';
import { z } from 'zod';
import fs from 'node:fs/promises';
import { GeneralCallResult } from '@/core';
import { actionType } from '../type';
const SchemaData = z.object({
file: actionType.string(),
group_id: actionType.string()
file: z.coerce.string(),
group_id: z.coerce.string()
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -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 { actionType } from '../type';
const SchemaData = z.object({
nickname: actionType.string(),
personal_note: actionType.string().optional(),
sex: actionType.string().optional(), // 传Sex值建议传0
nickname: z.coerce.string(),
personal_note: z.coerce.string().optional(),
sex: z.coerce.string().optional(), // 传Sex值建议传0
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -5,13 +5,13 @@ import fs from 'fs';
import { uriToLocalFile } from '@/common/file';
import { SendMessageContext } from '@/onebot/api';
import { z } from 'zod';
import { actionType } from '../type';
const SchemaData = z.object({
group_id: actionType.string(),
file: actionType.string(),
name: actionType.string(),
folder: actionType.string().optional(),
folder_id: actionType.string().optional(),//临时扩展
group_id: z.coerce.string(),
file: z.coerce.string(),
name: z.coerce.string(),
folder: z.coerce.string().optional(),
folder_id: z.coerce.string().optional(),//临时扩展
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -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 { actionType } from '../type';
const SchemaData = z.object({
user_id: actionType.string(),
file: actionType.string(),
name: actionType.string(),
user_id: z.coerce.string(),
file: z.coerce.string(),
name: z.coerce.string(),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -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 { actionType } from '../type';
const SchemaData = z.object({
message_id: actionType.string(),
message_id: z.coerce.string(),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -1,10 +1,10 @@
import { OneBotAction } from '@/onebot/action/OneBotAction';
import { ActionName } from '@/onebot/action/router';
import { z } from 'zod';
import { actionType } from '../type';
const SchemaData = z.object({
group_id: actionType.string(),
notice_id: actionType.string()
group_id: z.coerce.string(),
notice_id: z.coerce.string()
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -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 { actionType } from '../type';
const SchemaData = z.object({
character: actionType.string(),
group_id: actionType.string(),
text: actionType.string(),
character: z.coerce.string(),
group_id: z.coerce.string(),
text: z.coerce.string(),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -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 { actionType } from '../type';
const SchemaData = z.object({
group_id: actionType.string(),
group_id: z.coerce.string(),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -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 { actionType } from '../type';
const SchemaData = z.object({
group_id: actionType.string(),
group_id: z.coerce.string(),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -3,10 +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 { actionType } from '../type';
const SchemaData = z.object({
no_cache: actionType.boolean().default(false),
no_cache: z.coerce.boolean().default(false),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -3,12 +3,11 @@ import { OB11Construct } from '@/onebot/helper/data';
import { OneBotAction } from '@/onebot/action/OneBotAction';
import { ActionName } from '@/onebot/action/router';
import { z } from 'zod';
import { actionType } from '../type';
const SchemaData = z.object({
group_id: actionType.string(),
user_id: actionType.string(),
no_cache: actionType.boolean().default(false),
group_id: z.coerce.string(),
user_id: z.coerce.string(),
no_cache: z.coerce.boolean().default(false),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -4,11 +4,10 @@ import { OneBotAction } from '@/onebot/action/OneBotAction';
import { ActionName } from '@/onebot/action/router';
import { z } from 'zod';
import { GroupMember } from '@/core';
import { actionType } from '../type';
const SchemaData = z.object({
group_id: actionType.string(),
no_cache: actionType.boolean().default(false)
group_id: z.coerce.string(),
no_cache: z.coerce.boolean().default(false)
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -2,7 +2,6 @@ import { WebApiGroupNoticeFeed } from '@/core';
import { OneBotAction } from '@/onebot/action/OneBotAction';
import { ActionName } from '@/onebot/action/router';
import { z } from 'zod';
import { actionType } from '../type';
interface GroupNotice {
sender_id: number;
publish_time: number;
@@ -18,7 +17,7 @@ interface GroupNotice {
}
const SchemaData = z.object({
group_id: actionType.string(),
group_id: z.coerce.string(),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -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 { actionType } from '../type';
const SchemaData = z.object({
group_id: actionType.string(),
group_id: z.coerce.string(),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -1,10 +1,10 @@
import { ActionName } from '@/onebot/action/router';
import { GetPacketStatusDepends } from '@/onebot/action/packet/GetPacketStatus';
import { z } from 'zod';
import { actionType } from '../type';
const SchemaData = z.object({
group_id: actionType.string(),
user_id: actionType.string(),
group_id: z.coerce.string(),
user_id: z.coerce.string(),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -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 { actionType } from '../type';
const SchemaData = z.object({
character: actionType.string(),
group_id: actionType.string(),
text: actionType.string(),
character: z.coerce.string(),
group_id: z.coerce.string(),
text: z.coerce.string(),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -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 { actionType } from '../type';
const SchemaData = z.object({
message_id: actionType.string(),
message_id: z.coerce.string(),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -2,12 +2,11 @@ import { OneBotAction } from '@/onebot/action/OneBotAction';
import { NTGroupRequestOperateTypes } from '@/core/types';
import { ActionName } from '@/onebot/action/router';
import { z } from 'zod';
import { actionType } from '../type';
const SchemaData = z.object({
flag: actionType.string(),
approve: actionType.boolean().default(true),
reason: actionType.string().nullable().default(' '),
flag: z.coerce.string(),
approve: z.coerce.boolean().default(true),
reason: z.coerce.string().nullable().default(' '),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -2,12 +2,11 @@ import { OneBotAction } from '@/onebot/action/OneBotAction';
import { NTGroupMemberRole } from '@/core/types';
import { ActionName } from '@/onebot/action/router';
import { z } from 'zod';
import { actionType } from '../type';
const SchemaData = z.object({
group_id: actionType.string(),
user_id: actionType.string(),
enable: actionType.boolean().default(false),
group_id: z.coerce.string(),
user_id: z.coerce.string(),
enable: z.coerce.boolean().default(false),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -1,11 +1,11 @@
import { OneBotAction } from '@/onebot/action/OneBotAction';
import { ActionName } from '@/onebot/action/router';
import { z } from 'zod';
import { actionType } from '../type';
const SchemaData = z.object({
group_id: actionType.string(),
user_id: actionType.string(),
duration: actionType.number().default(0),
group_id: z.coerce.string(),
user_id: z.coerce.string(),
duration: z.coerce.number().default(0),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -1,11 +1,11 @@
import { OneBotAction } from '@/onebot/action/OneBotAction';
import { ActionName } from '@/onebot/action/router';
import { z } from 'zod';
import { actionType } from '../type';
const SchemaData = z.object({
group_id: actionType.string(),
user_id: actionType.string(),
card: actionType.string().optional(),
group_id: z.coerce.string(),
user_id: z.coerce.string(),
card: z.coerce.string().optional(),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -1,12 +1,11 @@
import { OneBotAction } from '@/onebot/action/OneBotAction';
import { ActionName } from '@/onebot/action/router';
import { z } from 'zod';
import { actionType } from '../type';
const SchemaData = z.object({
group_id: actionType.string(),
user_id: actionType.string(),
reject_add_request: actionType.boolean().optional(),
group_id: z.coerce.string(),
user_id: z.coerce.string(),
reject_add_request: z.coerce.boolean().optional(),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -1,11 +1,10 @@
import { OneBotAction } from '@/onebot/action/OneBotAction';
import { ActionName } from '@/onebot/action/router';
import { z } from 'zod';
import { actionType } from '../type';
const SchemaData = z.object({
group_id: actionType.string(),
is_dismiss: actionType.boolean().optional(),
group_id: z.coerce.string(),
is_dismiss: z.coerce.boolean().optional(),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -2,10 +2,10 @@
import { OneBotAction } from '@/onebot/action/OneBotAction';
import { ActionName } from '@/onebot/action/router';
import { z } from 'zod';
import { actionType } from '../type';
const SchemaData = z.object({
group_id: actionType.string(),
group_name: actionType.string(),
group_id: z.coerce.string(),
group_name: z.coerce.string(),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -1,11 +1,10 @@
import { OneBotAction } from '@/onebot/action/OneBotAction';
import { ActionName } from '@/onebot/action/router';
import { z } from 'zod';
import { actionType } from '../type';
const SchemaData = z.object({
group_id: actionType.string(),
enable: actionType.boolean().optional(),
group_id: z.coerce.string(),
enable: z.coerce.boolean().optional(),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -2,10 +2,9 @@ import { ActionName } from '@/onebot/action/router';
import { OneBotAction } from '@/onebot/action/OneBotAction';
import { MessageUnique } from '@/common/message-unique';
import { z } from 'zod';
import { actionType } from '../type';
const SchemaData = z.object({
message_id: actionType.string(),
message_id: z.coerce.string(),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -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 { actionType } from '../type';
const SchemaData = z.object({
message_id: actionType.string(),
group_id: actionType.string().optional(),
user_id: actionType.string().optional(),
message_id: z.coerce.string(),
group_id: z.coerce.string().optional(),
user_id: z.coerce.string().optional(),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -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 { actionType } from '../type';
export type ReturnDataType = OB11Message
const SchemaData = z.object({
message_id: actionType.string(),
message_id: z.coerce.string(),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -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 { actionType } from '../type';
const SchemaData = z.object({
user_id: actionType.string().optional(),
group_id: actionType.string().optional(),
message_id: actionType.string().optional(),
user_id: z.coerce.string().optional(),
group_id: z.coerce.string().optional(),
message_id: z.coerce.string().optional(),
});
type PlayloadType = z.infer<typeof SchemaData>;

View File

@@ -2,12 +2,11 @@ import { ActionName } from '@/onebot/action/router';
import { OneBotAction } from '@/onebot/action/OneBotAction';
import { MessageUnique } from '@/common/message-unique';
import { z } from 'zod';
import { actionType } from '../type';
const SchemaData = z.object({
message_id: actionType.string(),
emoji_id: actionType.string(),
set: actionType.boolean().optional(),
message_id: z.coerce.string(),
emoji_id: z.coerce.string(),
set: z.coerce.boolean().optional(),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -1,11 +1,10 @@
import { ActionName } from '@/onebot/action/router';
import { GetPacketStatusDepends } from '@/onebot/action/packet/GetPacketStatus';
import { z } from 'zod';
import { actionType } from '../type';
const SchemaData = z.object({
group_id: actionType.string().optional(),
user_id: actionType.string(),
group_id: z.coerce.string().optional(),
user_id: z.coerce.string(),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -1,7 +1,6 @@
import { OneBotAction } from '@/onebot/action/OneBotAction';
import { ActionName } from '@/onebot/action/router';
import { z } from 'zod';
import { actionType } from '../type';
interface Response {
cookies: string,
@@ -9,7 +8,7 @@ interface Response {
}
const SchemaData = z.object({
domain: actionType.string()
domain: z.coerce.string()
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -1,15 +0,0 @@
import { z } from "zod";
const boolean = () => z.preprocess(
val => typeof val === 'string' && val.toLowerCase() === 'false' ? 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 actionType = { boolean, number, string };

View File

@@ -1,10 +1,9 @@
import { ActionName } from '@/onebot/action/router';
import { GetPacketStatusDepends } from '@/onebot/action/packet/GetPacketStatus';
import { z } from 'zod';
import { actionType } from '../type';
const SchemaData = z.object({
user_id: actionType.string()
user_id: z.coerce.string()
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -1,14 +1,13 @@
import { OneBotAction } from '@/onebot/action/OneBotAction';
import { ActionName } from '@/onebot/action/router';
import { z } from 'zod';
import { actionType } from '../type';
interface Response {
cookies: string,
bkn: string
}
const SchemaData = z.object({
domain: actionType.string()
domain: z.coerce.string()
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -3,10 +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 { actionType } from '../type';
const SchemaData = z.object({
no_cache: actionType.boolean().optional(),
no_cache: z.coerce.boolean().optional(),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -3,10 +3,9 @@ import { OneBotAction } from '@/onebot/action/OneBotAction';
import { ActionName } from '@/onebot/action/router';
import { NetworkAdapterConfig } from '@/onebot/config/config';
import { z } from 'zod';
import { actionType } from '../type';
const SchemaData = z.object({
count: actionType.number().default(10),
count: z.coerce.number().default(10),
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -1,11 +1,10 @@
import { OneBotAction } from '@/onebot/action/OneBotAction';
import { ActionName } from '@/onebot/action/router';
import { z } from 'zod';
import { actionType } from '../type';
const SchemaData = z.object({
times: actionType.number().default(1),
user_id: actionType.string()
times: z.coerce.number().default(1),
user_id: z.coerce.string()
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -1,12 +1,11 @@
import { OneBotAction } from '@/onebot/action/OneBotAction';
import { ActionName } from '@/onebot/action/router';
import { z } from 'zod';
import { actionType } from '../type';
const SchemaData = z.object({
flag: actionType.string(),
approve: actionType.boolean().default(true),
remark: actionType.string().nullable().optional()
flag: z.coerce.string(),
approve: z.coerce.boolean().default(true),
remark: z.coerce.string().nullable().optional()
});
type Payload = z.infer<typeof SchemaData>;

View File

@@ -1,72 +1,71 @@
import { z } from 'zod';
import { actionType } from '../action/type';
const HttpServerConfigSchema = z.object({
name: actionType.string().default('http-server'),
enable: actionType.boolean().default(false),
port: actionType.number().default(3000),
host: actionType.string().default('0.0.0.0'),
enableCors: actionType.boolean().default(true),
enableWebsocket: actionType.boolean().default(true),
messagePostFormat: actionType.string().default('array'),
token: actionType.string().default(''),
debug: actionType.boolean().default(false)
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)
});
const HttpSseServerConfigSchema = z.object({
name: actionType.string().default('http-sse-server'),
enable: actionType.boolean().default(false),
port: actionType.number().default(3000),
host: actionType.string().default('0.0.0.0'),
enableCors: actionType.boolean().default(true),
enableWebsocket: actionType.boolean().default(true),
messagePostFormat: actionType.string().default('array'),
token: actionType.string().default(''),
debug: actionType.boolean().default(false),
reportSelfMessage: actionType.boolean().default(false)
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)
});
const HttpClientConfigSchema = z.object({
name: actionType.string().default('http-client'),
enable: actionType.boolean().default(false),
url: actionType.string().default('http://localhost:8080'),
messagePostFormat: actionType.string().default('array'),
reportSelfMessage: actionType.boolean().default(false),
token: actionType.string().default(''),
debug: actionType.boolean().default(false)
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)
});
const WebsocketServerConfigSchema = z.object({
name: actionType.string().default('websocket-server'),
enable: actionType.boolean().default(false),
host: actionType.string().default('0.0.0.0'),
port: actionType.number().default(3001),
messagePostFormat: actionType.string().default('array'),
reportSelfMessage: actionType.boolean().default(false),
token: actionType.string().default(''),
enableForcePushEvent: actionType.boolean().default(true),
debug: actionType.boolean().default(false),
heartInterval: actionType.number().default(30000)
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)
});
const WebsocketClientConfigSchema = z.object({
name: actionType.string().default('websocket-client'),
enable: actionType.boolean().default(false),
url: actionType.string().default('ws://localhost:8082'),
messagePostFormat: actionType.string().default('array'),
reportSelfMessage: actionType.boolean().default(false),
reconnectInterval: actionType.number().default(5000),
token: actionType.string().default(''),
debug: actionType.boolean().default(false),
heartInterval: actionType.number().default(30000)
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)
});
const PluginConfigSchema = z.object({
name: actionType.string().default('plugin'),
enable: actionType.boolean().default(false),
messagePostFormat: actionType.string().default('array'),
reportSelfMessage: actionType.boolean().default(false),
debug: actionType.boolean().default(false),
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),
});
const NetworkConfigSchema = z.object({
@@ -80,9 +79,9 @@ const NetworkConfigSchema = z.object({
export const OneBotConfigSchema = z.object({
network: NetworkConfigSchema,
musicSignUrl: actionType.string().default(''),
enableLocalFile2Url: actionType.boolean().default(false),
parseMultMsg: actionType.boolean().default(false)
musicSignUrl: z.coerce.string().default(''),
enableLocalFile2Url: z.coerce.boolean().default(false),
parseMultMsg: z.coerce.boolean().default(false)
});
export type OneBotConfig = z.infer<typeof OneBotConfigSchema>;

View File

@@ -4,14 +4,13 @@ import { resolve } from 'node:path';
import { deepMerge } from '../utils/object';
import { themeType } from '../types/theme';
import { z } from 'zod';
import { actionType } from '@/onebot/action/type';
// 定义配置的类型
const WebUiConfigSchema = z.object({
host: actionType.string().default('0.0.0.0'),
port: actionType.number().default(6099),
token: actionType.string().default('napcat'),
loginRate: actionType.number().default(10),
autoLoginAccount: actionType.string().default(''),
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(''),
theme: themeType,
});

View File

@@ -1,10 +1,9 @@
import { actionType } from '@/onebot/action/type';
import { z } from 'zod';
export const themeType = z.object(
{
dark: z.record(actionType.string(), actionType.string()),
light: z.record(actionType.string(), actionType.string()),
dark: z.record(z.coerce.string(), z.coerce.string()),
light: z.record(z.coerce.string(), z.coerce.string()),
}
).default({
dark: {