iamai.config module#
iamai 配置。
iamai 使用 [pydantic](https://pydantic-docs.helpmanual.io/) 来读取配置。
- class iamai.config.AdapterConfig(**extra_data: Any)[source]#
Bases:
ConfigModel
适配器配置。
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}#
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'extra': 'allow'}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {}#
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- class iamai.config.BotConfig(*, plugins: Set[str] = None, plugin_dirs: Set[Path] = None, adapters: Set[str] = None, log: LogConfig = LogConfig(level='DEBUG', verbose_exception=False), **extra_data: Any)[source]#
Bases:
ConfigModel
Bot 配置。
- plugins#
将被加载的插件列表,将被 Bot 类的 load_plugins() 方法加载。
- Type:
Set[str]
- plugin_dirs#
将被加载的插件目录列表,将被 Bot 类的 load_plugins_from_dirs() 方法加载。
- Type:
Set[pathlib.Path]
- adapters#
将被加载的适配器列表,将依次被 Bot 类的 load_adapters() 方法加载。
- Type:
Set[str]
- log#
iamai 日志相关设置。
- Type:
- adapters: Set[str]#
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}#
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'extra': 'allow'}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'adapters': FieldInfo(annotation=Set[str], required=False, default_factory=set), 'log': FieldInfo(annotation=LogConfig, required=False, default=LogConfig(level='DEBUG', verbose_exception=False)), 'plugin_dirs': FieldInfo(annotation=Set[Annotated[Path, PathType]], required=False, default_factory=set), 'plugins': FieldInfo(annotation=Set[str], required=False, default_factory=set)}#
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- plugin_dirs: Set[Path]#
- plugins: Set[str]#
- class iamai.config.ConfigModel(**extra_data: Any)[source]#
Bases:
BaseModel
iamai 配置模型。
- __config_name__#
配置名称。
- Type:
str
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}#
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'extra': 'allow'}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {}#
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- class iamai.config.LogConfig(*, level: str | int = 'DEBUG', verbose_exception: bool = False, **extra_data: Any)[source]#
Bases:
ConfigModel
iamai 日志相关设置。
- level#
日志级别。
- Type:
str | int
- verbose_exception#
详细的异常记录,设置为 True 时会在日志中添加异常的 Traceback。
- Type:
bool
- level: str | int#
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}#
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'extra': 'allow'}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'level': FieldInfo(annotation=Union[str, int], required=False, default='DEBUG'), 'verbose_exception': FieldInfo(annotation=bool, required=False, default=False)}#
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- verbose_exception: bool#
- class iamai.config.MainConfig(*, bot: BotConfig = BotConfig(plugins=set(), plugin_dirs=set(), adapters=set(), log=LogConfig(level='DEBUG', verbose_exception=False)), plugin: PluginConfig = PluginConfig(), adapter: AdapterConfig = AdapterConfig(), **extra_data: Any)[source]#
Bases:
ConfigModel
iamai 配置。
- bot#
iamai 的主要配置。
- Type:
- adapter: AdapterConfig#
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}#
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'extra': 'allow'}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'adapter': FieldInfo(annotation=AdapterConfig, required=False, default=AdapterConfig()), 'bot': FieldInfo(annotation=BotConfig, required=False, default=BotConfig(plugins=set(), plugin_dirs=set(), adapters=set(), log=LogConfig(level='DEBUG', verbose_exception=False))), 'plugin': FieldInfo(annotation=PluginConfig, required=False, default=PluginConfig())}#
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- plugin: PluginConfig#
- class iamai.config.PluginConfig(**extra_data: Any)[source]#
Bases:
ConfigModel
插件配置。
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}#
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'extra': 'allow'}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {}#
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.