feat: 添加Discord适配器与跨平台消息互通功能
新增Discord适配器支持,实现Discord与QQ之间的消息互通 添加通用数据模型用于跨平台消息转换 扩展配置系统以支持Discord和日志配置 重构日志系统以使用配置中的日志级别 在反向WebSocket管理器中注册Bot实例 更新主程序以支持Discord客户端启动 添加测试脚本验证核心功能
This commit is contained in:
13
main.py
13
main.py
@@ -21,6 +21,7 @@ from core.managers.browser_manager import browser_manager
|
||||
from core.utils.executor import run_in_thread_pool, initialize_executor
|
||||
from core.config_loader import global_config as config
|
||||
from core.services.local_file_server import start_local_file_server, stop_local_file_server
|
||||
from adapters.discord_adapter import DiscordAdapter
|
||||
|
||||
|
||||
|
||||
@@ -143,6 +144,15 @@ async def main():
|
||||
asyncio.create_task(start_local_file_server())
|
||||
logger.success(f"本地文件服务器已启动: http://{config.local_file_server.host}:{config.local_file_server.port}")
|
||||
|
||||
# 启动 Discord 客户端(如果启用)
|
||||
discord_client = None
|
||||
if config.discord.enabled and config.discord.token:
|
||||
logger.info("正在启动 Discord 客户端...")
|
||||
discord_client = DiscordAdapter(token=config.discord.token)
|
||||
asyncio.create_task(discord_client.start_client())
|
||||
elif config.discord.enabled:
|
||||
logger.warning("Discord 已启用,但未配置 Token,跳过启动。")
|
||||
|
||||
# 启动文件监控
|
||||
# 监控 plugins 目录
|
||||
plugin_path = os.path.join(os.path.dirname(__file__), "plugins")
|
||||
@@ -187,6 +197,9 @@ async def main():
|
||||
if websocket_client:
|
||||
await websocket_client.close()
|
||||
|
||||
if discord_client:
|
||||
await discord_client.close()
|
||||
|
||||
# 关闭反向 WebSocket 服务端
|
||||
if config.reverse_ws.enabled and reverse_ws_manager.server:
|
||||
await reverse_ws_manager.stop()
|
||||
|
||||
Reference in New Issue
Block a user