✨ feat(command): 添加动态配置、黑白名单与后台管理界面
- 新增 SQLite 数据库层(db.py)持久化命令监听配置,支持热更新无需重启 - 命令过滤从白名单扩展为黑白名单双模式(COMMAND_LIST_MODE: allow/deny) - 新增后台管理页面 /admin/,侧边栏布局,支持在线修改所有命令监听配置 - 新增 REST API:GET/PUT /api/settings、POST /api/settings/reload - 新增 rebuild_pattern() 支持配置变更后正则动态重编译 - 中间件放行 /admin 和 /api 路径免鉴权 - 添加 aiosqlite 依赖
This commit is contained in:
@@ -26,6 +26,12 @@ def build_command_pattern() -> re.Pattern:
|
||||
COMMAND_PATTERN = build_command_pattern()
|
||||
|
||||
|
||||
def rebuild_pattern() -> None:
|
||||
"""动态配置变更后重新编译正则。"""
|
||||
global COMMAND_PATTERN
|
||||
COMMAND_PATTERN = build_command_pattern()
|
||||
|
||||
|
||||
def parse_command(raw_message: str) -> dict | None:
|
||||
"""解析消息,匹配命令模式。返回 {command, content, raw_message} 或 None。"""
|
||||
match = COMMAND_PATTERN.match(raw_message.strip())
|
||||
|
||||
Reference in New Issue
Block a user