From c6a0679741436370b6729f541611787935503387 Mon Sep 17 00:00:00 2001 From: liuwei Date: Fri, 16 Jan 2026 13:34:37 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E6=97=A5=E5=BF=97=E7=BA=A7?= =?UTF-8?q?=E5=88=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.py | 1 + plugins/ai_auto_response/main.py | 2 +- plugins/ai_gen_image/main.py | 2 +- plugins/beautyleg/main.py | 2 +- plugins/dify/main.py | 2 +- plugins/douyin_parser/main.py | 2 +- plugins/duanju_search/main.py | 2 +- plugins/fanhao_search/main.py | 2 +- plugins/game_task/main.py | 2 +- plugins/global_news/main.py | 2 +- plugins/group_auto_invite/main.py | 2 +- plugins/group_member_change/main.py | 4 ++-- plugins/group_virtual/main.py | 4 ++-- plugins/guess_song/main.py | 2 +- plugins/jd_sign_token/main.py | 2 +- plugins/lucky_pot/main.py | 2 +- plugins/message_push_task/main.py | 2 +- plugins/message_sign/main.py | 4 ++-- plugins/message_summary/main.py | 2 +- plugins/music/main.py | 2 +- plugins/plugin_manager/main.py | 2 +- plugins/point_trade/main.py | 2 +- plugins/robot_menu/main.py | 2 +- plugins/stats_collector/main.py | 2 +- plugins/video/main.py | 2 +- plugins/video_man/main.py | 2 +- plugins/weather/main.py | 2 +- plugins/xiuren_image/main.py | 2 +- plugins/xiuxian/main.py | 6 +++--- robot.py | 15 ++++++++------- 30 files changed, 42 insertions(+), 40 deletions(-) diff --git a/main.py b/main.py index f9074eb..3afad69 100644 --- a/main.py +++ b/main.py @@ -85,6 +85,7 @@ def main(): except Exception as e: robot.LOG.error(f"GlancesMonitor服务器启动失败: {e}") + robot.LOG.info(f"=" * 30) asyncio.run(async_job.run_all()) # 让机器人一直跑 robot.keep_running_and_block_process() diff --git a/plugins/ai_auto_response/main.py b/plugins/ai_auto_response/main.py index 6e26219..ec82681 100644 --- a/plugins/ai_auto_response/main.py +++ b/plugins/ai_auto_response/main.py @@ -85,7 +85,7 @@ class AIAutoResponsePlugin(MessagePluginInterface): def start(self) -> bool: """启动插件""" - self.LOG.info(f"[{self.name}] 插件已启动") + self.LOG.debug(f"[{self.name}] 插件已启动") self.status = PluginStatus.RUNNING return True diff --git a/plugins/ai_gen_image/main.py b/plugins/ai_gen_image/main.py index ff546e0..70ee5ed 100644 --- a/plugins/ai_gen_image/main.py +++ b/plugins/ai_gen_image/main.py @@ -90,7 +90,7 @@ class AIGenImagePlugin(MessagePluginInterface): def start(self) -> bool: """启动插件""" - self.LOG.info(f"[{self.name}] 插件已启动") + self.LOG.debug(f"[{self.name}] 插件已启动") self.status = PluginStatus.RUNNING return True diff --git a/plugins/beautyleg/main.py b/plugins/beautyleg/main.py index 347f45b..ba3d7ab 100644 --- a/plugins/beautyleg/main.py +++ b/plugins/beautyleg/main.py @@ -84,7 +84,7 @@ class BeautyLegPlugin(MessagePluginInterface): def start(self) -> bool: """启动插件""" - self.LOG.info(f"[{self.name}] 插件已启动") + self.LOG.debug(f"[{self.name}] 插件已启动") self.status = PluginStatus.RUNNING return True diff --git a/plugins/dify/main.py b/plugins/dify/main.py index c088985..e05f393 100644 --- a/plugins/dify/main.py +++ b/plugins/dify/main.py @@ -105,7 +105,7 @@ class DifyPlugin(MessagePluginInterface): def start(self) -> bool: """启动插件""" - self.LOG.info(f"[{self.name}] 插件已启动") + self.LOG.debug(f"[{self.name}] 插件已启动") self.status = PluginStatus.RUNNING return True diff --git a/plugins/douyin_parser/main.py b/plugins/douyin_parser/main.py index 5ed4066..1044685 100644 --- a/plugins/douyin_parser/main.py +++ b/plugins/douyin_parser/main.py @@ -92,7 +92,7 @@ class DouyinParserPlugin(MessagePluginInterface): def start(self) -> bool: """启动插件""" - self.LOG.info(f"[{self.name}] 插件已启动") + self.LOG.debug(f"[{self.name}] 插件已启动") self.status = PluginStatus.RUNNING return True diff --git a/plugins/duanju_search/main.py b/plugins/duanju_search/main.py index e5fe624..772115f 100644 --- a/plugins/duanju_search/main.py +++ b/plugins/duanju_search/main.py @@ -71,7 +71,7 @@ class DuanjuSearchPlugin(MessagePluginInterface): def start(self) -> bool: """启动插件""" - self.LOG.info(f"[{self.name}] 插件已启动") + self.LOG.debug(f"[{self.name}] 插件已启动") self.status = PluginStatus.RUNNING return True diff --git a/plugins/fanhao_search/main.py b/plugins/fanhao_search/main.py index fe27e71..19e88ba 100644 --- a/plugins/fanhao_search/main.py +++ b/plugins/fanhao_search/main.py @@ -80,7 +80,7 @@ class FanhaoSearchPlugin(MessagePluginInterface): return True def start(self) -> bool: - self.LOG.info(f"[{self.name}] 插件已启动") + self.LOG.debug(f"[{self.name}] 插件已启动") self.status = PluginStatus.RUNNING return True diff --git a/plugins/game_task/main.py b/plugins/game_task/main.py index a022778..1cb1506 100644 --- a/plugins/game_task/main.py +++ b/plugins/game_task/main.py @@ -95,7 +95,7 @@ class GameTaskPlugin(MessagePluginInterface): def start(self) -> bool: """启动插件""" - self.LOG.info(f"[{self.name}] 插件已启动") + self.LOG.debug(f"[{self.name}] 插件已启动") self.status = PluginStatus.RUNNING return True diff --git a/plugins/global_news/main.py b/plugins/global_news/main.py index b3e2d53..ecc20dc 100644 --- a/plugins/global_news/main.py +++ b/plugins/global_news/main.py @@ -83,7 +83,7 @@ class GlobalNewsPlugin(MessagePluginInterface): def start(self) -> bool: """启动插件""" - self.LOG.info(f"[{self.name}] 插件已启动") + self.LOG.debug(f"[{self.name}] 插件已启动") self.status = PluginStatus.RUNNING return True diff --git a/plugins/group_auto_invite/main.py b/plugins/group_auto_invite/main.py index e7a2763..20f2e13 100644 --- a/plugins/group_auto_invite/main.py +++ b/plugins/group_auto_invite/main.py @@ -76,7 +76,7 @@ class GroupAutoInvitePlugin(MessagePluginInterface): def start(self) -> bool: """启动插件""" - self.LOG.info(f"[{self.name}] 插件已启动") + self.LOG.debug(f"[{self.name}] 插件已启动") self.status = PluginStatus.RUNNING return True diff --git a/plugins/group_member_change/main.py b/plugins/group_member_change/main.py index 21c9603..b0c5a02 100644 --- a/plugins/group_member_change/main.py +++ b/plugins/group_member_change/main.py @@ -37,7 +37,7 @@ class GroupMemberChangePlugin(MessagePluginInterface): def start(self) -> bool: """启动插件""" - self.LOG.info(f"[{self.name}] 插件已启动") + self.LOG.debug(f"[{self.name}] 插件已启动") self.status = PluginStatus.RUNNING return True @@ -56,7 +56,7 @@ class GroupMemberChangePlugin(MessagePluginInterface): """初始化插件""" self.LOG.debug(f"正在初始化 {self.name} 插件...") - self.LOG.info(f"{self.name} 插件初始化完成") + self.LOG.debug(f"{self.name} 插件初始化完成") return True def can_process(self, message: Dict[str, Any]) -> bool: diff --git a/plugins/group_virtual/main.py b/plugins/group_virtual/main.py index 0efdde9..f5d5656 100644 --- a/plugins/group_virtual/main.py +++ b/plugins/group_virtual/main.py @@ -74,12 +74,12 @@ class GroupVirtualPlugin(MessagePluginInterface): # 从Redis加载数据 self.data = self.group_virtual_redis.load_chat_groups() - self.LOG.info(f"[{self.name}] 插件初始化完成") + self.LOG.debug(f"[{self.name}] 插件初始化完成") return True def start(self) -> bool: """启动插件""" - self.LOG.info(f"[{self.name}] 插件已启动") + self.LOG.debug(f"[{self.name}] 插件已启动") self.status = PluginStatus.RUNNING return True diff --git a/plugins/guess_song/main.py b/plugins/guess_song/main.py index 58a3f92..36f2b44 100644 --- a/plugins/guess_song/main.py +++ b/plugins/guess_song/main.py @@ -163,7 +163,7 @@ class GuessSongPlugin(MessagePluginInterface): def start(self) -> bool: """启动插件""" - self.LOG.info(f"[{self.name}] 插件已启动") + self.LOG.debug(f"[{self.name}] 插件已启动") self.status = PluginStatus.RUNNING return True diff --git a/plugins/jd_sign_token/main.py b/plugins/jd_sign_token/main.py index 0e2413d..2d99678 100644 --- a/plugins/jd_sign_token/main.py +++ b/plugins/jd_sign_token/main.py @@ -220,7 +220,7 @@ class JDTokenPlugin(MessagePluginInterface): def start(self) -> bool: """启动插件""" - self.LOG.info(f"[{self.name}] 插件已启动") + self.LOG.debug(f"[{self.name}] 插件已启动") self.status = PluginStatus.RUNNING return True diff --git a/plugins/lucky_pot/main.py b/plugins/lucky_pot/main.py index e8ef5f4..0d5f465 100644 --- a/plugins/lucky_pot/main.py +++ b/plugins/lucky_pot/main.py @@ -150,7 +150,7 @@ class LuckyPotPlugin(MessagePluginInterface): def start(self) -> bool: """启动插件""" - self.LOG.info(f"[{self.name}] 插件已启动") + self.LOG.debug(f"[{self.name}] 插件已启动") self.status = PluginStatus.RUNNING return True diff --git a/plugins/message_push_task/main.py b/plugins/message_push_task/main.py index 0ba2c20..d38ccc1 100644 --- a/plugins/message_push_task/main.py +++ b/plugins/message_push_task/main.py @@ -83,7 +83,7 @@ class MessagePushTask(MessagePluginInterface): def start(self) -> bool: """启动插件""" - self.LOG.info(f"[{self.name}] 插件已启动") + self.LOG.debug(f"[{self.name}] 插件已启动") self.status = PluginStatus.RUNNING return True diff --git a/plugins/message_sign/main.py b/plugins/message_sign/main.py index 18f61cb..f3e556c 100644 --- a/plugins/message_sign/main.py +++ b/plugins/message_sign/main.py @@ -123,7 +123,7 @@ class MessageSignPlugin(MessagePluginInterface): with open(self.vocab_file_path, 'r', encoding='utf-8') as f: lines = f.readlines() self.vocab_list = [line.strip() for line in lines if line.strip()] - self.LOG.info(f"成功加载词汇表,共 {len(self.vocab_list)} 个单词") + self.LOG.debug(f"成功加载词汇表,共 {len(self.vocab_list)} 个单词") else: self.LOG.error(f"词汇表文件不存在: {self.vocab_file_path}") except Exception as e: @@ -137,7 +137,7 @@ class MessageSignPlugin(MessagePluginInterface): def start(self) -> bool: """启动插件""" - self.LOG.info(f"[{self.name}] 插件已启动") + self.LOG.debug(f"[{self.name}] 插件已启动") self.status = PluginStatus.RUNNING return True diff --git a/plugins/message_summary/main.py b/plugins/message_summary/main.py index ade3d4f..0e36f5c 100644 --- a/plugins/message_summary/main.py +++ b/plugins/message_summary/main.py @@ -93,7 +93,7 @@ class MessageSummaryPlugin(MessagePluginInterface): def start(self) -> bool: """启动插件""" - self.LOG.info(f"[{self.name}] 插件已启动") + self.LOG.debug(f"[{self.name}] 插件已启动") self.status = PluginStatus.RUNNING return True diff --git a/plugins/music/main.py b/plugins/music/main.py index 58d3756..f227a14 100644 --- a/plugins/music/main.py +++ b/plugins/music/main.py @@ -76,7 +76,7 @@ class MusicPlugin(MessagePluginInterface): def start(self) -> bool: """启动插件""" - self.LOG.info(f"[{self.name}] 插件已启动") + self.LOG.debug(f"[{self.name}] 插件已启动") self.status = PluginStatus.RUNNING return True diff --git a/plugins/plugin_manager/main.py b/plugins/plugin_manager/main.py index 514a0b1..df9ebe6 100644 --- a/plugins/plugin_manager/main.py +++ b/plugins/plugin_manager/main.py @@ -51,7 +51,7 @@ class PluginManagerPlugin(MessagePluginInterface): def start(self) -> bool: """启动插件""" - self.LOG.info(f"[{self.name}] 插件已启动") + self.LOG.debug(f"[{self.name}] 插件已启动") self.status = PluginStatus.RUNNING return True diff --git a/plugins/point_trade/main.py b/plugins/point_trade/main.py index 82537c9..5cb2063 100644 --- a/plugins/point_trade/main.py +++ b/plugins/point_trade/main.py @@ -117,7 +117,7 @@ class PointTradePlugin(MessagePluginInterface): def start(self) -> bool: """启动插件""" - self.LOG.info(f"[{self.name}] 插件已启动") + self.LOG.debug(f"[{self.name}] 插件已启动") self.status = PluginStatus.RUNNING return True diff --git a/plugins/robot_menu/main.py b/plugins/robot_menu/main.py index 08e5904..6505247 100644 --- a/plugins/robot_menu/main.py +++ b/plugins/robot_menu/main.py @@ -73,7 +73,7 @@ class RobotMenuPlugin(MessagePluginInterface): def start(self) -> bool: """启动插件""" - self.LOG.info(f"[{self.name}] 插件已启动") + self.LOG.debug(f"[{self.name}] 插件已启动") self.status = PluginStatus.RUNNING return True diff --git a/plugins/stats_collector/main.py b/plugins/stats_collector/main.py index efdfb28..d1ba9a2 100644 --- a/plugins/stats_collector/main.py +++ b/plugins/stats_collector/main.py @@ -154,7 +154,7 @@ class StatsCollectorPlugin(PluginInterface): def start(self) -> bool: """启动插件""" - self.LOG.info(f"[{self.name}] 插件已启动") + self.LOG.debug(f"[{self.name}] 插件已启动") self.status = PluginStatus.RUNNING return True diff --git a/plugins/video/main.py b/plugins/video/main.py index 54a9278..2ea71f6 100644 --- a/plugins/video/main.py +++ b/plugins/video/main.py @@ -95,7 +95,7 @@ class VideoPlugin(MessagePluginInterface): def start(self) -> bool: """启动插件""" - self.LOG.info(f"[{self.name}] 插件已启动") + self.LOG.debug(f"[{self.name}] 插件已启动") self.status = PluginStatus.RUNNING return True diff --git a/plugins/video_man/main.py b/plugins/video_man/main.py index 7fbff45..59c1371 100644 --- a/plugins/video_man/main.py +++ b/plugins/video_man/main.py @@ -87,7 +87,7 @@ class VideoManPlugin(MessagePluginInterface): def start(self) -> bool: """启动插件""" - self.LOG.info(f"[{self.name}] 插件已启动") + self.LOG.debug(f"[{self.name}] 插件已启动") self.status = PluginStatus.RUNNING return True diff --git a/plugins/weather/main.py b/plugins/weather/main.py index 020844e..2fcf9e9 100644 --- a/plugins/weather/main.py +++ b/plugins/weather/main.py @@ -136,7 +136,7 @@ class WeatherPlugin(MessagePluginInterface): return True def start(self) -> bool: - self.LOG.info(f"[{self.name}] 插件已启动") + self.LOG.debug(f"[{self.name}] 插件已启动") self.status = PluginStatus.RUNNING return True diff --git a/plugins/xiuren_image/main.py b/plugins/xiuren_image/main.py index 2f32683..4939bf5 100644 --- a/plugins/xiuren_image/main.py +++ b/plugins/xiuren_image/main.py @@ -102,7 +102,7 @@ class XiurenImagePlugin(MessagePluginInterface): def start(self) -> bool: """启动插件""" - self.LOG.info(f"[{self.name}] 插件已启动") + self.LOG.debug(f"[{self.name}] 插件已启动") self.status = PluginStatus.RUNNING return True diff --git a/plugins/xiuxian/main.py b/plugins/xiuxian/main.py index 1981a3f..312823e 100644 --- a/plugins/xiuxian/main.py +++ b/plugins/xiuxian/main.py @@ -375,7 +375,7 @@ class XiuxianPlugin(MessagePluginInterface): # 境界顺序(用于计算下一个境界) realm_order = ["炼气", "筑基", "金丹", "元婴", "化神", "合体", "大乘", "渡劫", "真仙"] - self.LOG.info(f"开始解析境界配置,共{len(realms_cfg)}个境界") + self.LOG.debug(f"开始解析境界配置,共{len(realms_cfg)}个境界") for realm_name, config_str in realms_cfg.items(): try: # 解析配置:每层阈值,境界分值,突破丹药,丹药成功率,强行成功率,强行倍率 @@ -434,12 +434,12 @@ class XiuxianPlugin(MessagePluginInterface): except Exception as e: self.LOG.warning(f"解析境界配置失败: {realm_name}={config_str}, 错误: {e}") - self.LOG.info(f"境界配置解析完成:层级阈值{len(self.layer_threshold_map)}个,突破配置{len(self.break_config)}个") + self.LOG.debug(f"境界配置解析完成:层级阈值{len(self.layer_threshold_map)}个,突破配置{len(self.break_config)}个") self.LOG.debug(f"[{self.name}] 插件初始化完成,指令:{self._commands}") return True def start(self) -> bool: - self.LOG.info(f"[{self.name}] 插件已启动") + self.LOG.debug(f"[{self.name}] 插件已启动") self.status = PluginStatus.RUNNING return True diff --git a/robot.py b/robot.py index ee49214..fb451ec 100644 --- a/robot.py +++ b/robot.py @@ -47,6 +47,7 @@ class Robot: self.config = config self.LOG = logger + self.LOG.info(f"="*30) # wechat_ipad 相关属性 self.ipad_bot: WechatAPIClient self.ipad_config = None @@ -58,13 +59,13 @@ class Robot: self.alias = None self.phone = None self.message_auto_revoke: MessageAutoRevoke = None - self.LOG.info(f"DB+REDIS 连接池开始初始化") + self.LOG.debug(f"DB+REDIS 连接池开始初始化") # 使用单例模式获取实例 self.db_manager = DBConnectionManager.get_instance( mysql_config=self.config.mariadb, redis_config=self.config.redis ) - self.LOG.info(f"数据库连接管理器初始化完成") + self.LOG.debug(f"数据库连接管理器初始化完成") # 为了兼容现有代码,保留原有的连接池 self.db_pool = self.db_manager.mysql_pool @@ -78,7 +79,7 @@ class Robot: self.groups = {} # 存储按group_id分组的消息列表,每个group_id最多保留10条消息 # 初始化插件系统 - self.LOG.info("开始初始化插件系统...") + self.LOG.debug("开始初始化插件系统...") self.plugin_registry = PluginRegistry() self.event_system = EventSystem() self.plugin_modules = {} # 存储已加载的插件模块 @@ -97,7 +98,7 @@ class Robot: self.plugins = self.plugin_manager.load_all_plugins() # 加载插件 - self.LOG.info("插件系统初始化完成") + self.LOG.debug("插件系统初始化完成") GroupBotManager.load_local_cache() # 权限模块加载 @@ -117,7 +118,7 @@ class Robot: with open("wechat_ipad/config.toml", "rb") as f: self.ipad_config = tomllib.load(f) - self.LOG.info("正在初始化wechat_ipad客户端...") + self.LOG.debug("正在初始化wechat_ipad客户端...") # 检查必要的配置 server_url = self.ipad_config.get("server_url", "") @@ -139,7 +140,7 @@ class Robot: ) self.ipad_thread.start() - self.LOG.info("wechat_ipad客户端初始化完成") + self.LOG.debug("wechat_ipad客户端初始化完成") return True except Exception as e: self.LOG.error(f"初始化wechat_ipad客户端失败: {e}") @@ -153,7 +154,7 @@ class Robot: async def _wechat_ipad_core(self, server_ip, server_port): """wechat_ipad核心逻辑,基于bot-core.py""" try: - self.LOG.info("启动wechat_ipad bot") + self.LOG.debug("启动wechat_ipad bot") # 调用登录接口 self.ipad_bot = wechat_ipad.WechatAPIClient(server_ip, server_port) self.message_auto_revoke = MessageAutoRevoke(self.ipad_bot)