diff --git a/zhenxun/configs/utils/models.py b/zhenxun/configs/utils/models.py index f60fdc92..163469c1 100644 --- a/zhenxun/configs/utils/models.py +++ b/zhenxun/configs/utils/models.py @@ -2,7 +2,7 @@ from collections.abc import Callable from datetime import datetime from typing import Any, Literal, Type # noqa: UP035 -from nonebot.compat import model_dump +from nonebot.compat import PYDANTIC_V2, model_dump from pydantic import BaseModel, Field from zhenxun.utils.enum import BlockType, LimitWatchType, PluginLimitType, PluginType @@ -65,11 +65,18 @@ class RegisterConfig(BaseModel): """配置注解""" default_value: Any | None = None """默认值""" - type: Type = str # noqa: UP006 + type: Type | Any = str # noqa: UP006 """参数类型""" arg_parser: Callable | None = None """参数解析""" + if PYDANTIC_V2: + model_config = {"arbitrary_types_allowed": True} + else: + + class Config: + arbitrary_types_allowed = True + class ConfigModel(BaseModel): """