refactor(config): 移除.env依赖并引入服务器配置模型

将项目配置系统从依赖.env文件和环境变量迁移到使用Pydantic模型进行集中管理。此举通过移除`python-dotenv`库简化了环境设置,并提高了配置的类型安全性和可维护性。

主要变更包括:
- 移除`bot.py`中的.env加载逻辑。
- 新增`ServerConfig`模型来管理服务器的主机和端口。
- 更新`src/common/server.py`和`src/common/message/api.py`以从全局配置对象获取服务器设置,取代了`os.environ`。
- 从配置中移除了已废弃的`MaizoneIntercomConfig`。
- 在`bot_config_template.toml`中添加了新的`[server]`配置部分。
This commit is contained in:
minecraft1024a
2025-09-12 19:04:27 +08:00
committed by Windpicker-owo
parent 212fb0a449
commit 26e20b2cd7
6 changed files with 17 additions and 27 deletions

View File

@@ -42,8 +42,8 @@ from src.config.official_configs import (
CrossContextConfig,
PermissionConfig,
CommandConfig,
MaizoneIntercomConfig,
PlanningSystemConfig,
ServerConfig,
)
from .api_ada_configs import (
@@ -413,9 +413,7 @@ class Config(ValidatedConfigBase):
cross_context: CrossContextConfig = Field(
default_factory=lambda: CrossContextConfig(), description="跨群聊上下文共享配置"
)
maizone_intercom: MaizoneIntercomConfig = Field(
default_factory=lambda: MaizoneIntercomConfig(), description="Maizone互通组配置"
)
server: ServerConfig = Field(default_factory=lambda: ServerConfig(), description="主服务器配置")
class APIAdapterConfig(ValidatedConfigBase):

View File

@@ -494,6 +494,13 @@ class ExperimentalConfig(ValidatedConfigBase):
pfc_chatting: bool = Field(default=False, description="启用PFC聊天")
class ServerConfig(ValidatedConfigBase):
"""主服务器配置类"""
host: str = Field(default="127.0.0.1", description="主服务器监听地址")
port: int = Field(default=8080, description="主服务器监听端口")
class MaimMessageConfig(ValidatedConfigBase):
"""maim_message配置类"""
@@ -676,15 +683,6 @@ class CrossContextConfig(ValidatedConfigBase):
enable: bool = Field(default=False, description="是否启用跨群聊上下文共享功能")
groups: List[ContextGroup] = Field(default_factory=list, description="上下文共享组列表")
class MaizoneIntercomConfig(ValidatedConfigBase):
"""Maizone互通组配置"""
enable: bool = Field(default=False, description="是否启用Maizone互通组功能")
groups: List[ContextGroup] = Field(default_factory=list, description="Maizone互通组列表")
class CommandConfig(ValidatedConfigBase):
"""命令系统配置类"""