diff --git a/src/config.py b/src/config.py index 7fb88d4..856a92a 100644 --- a/src/config.py +++ b/src/config.py @@ -28,6 +28,7 @@ class Config: "Napcat_Server", "MaiBot_Server", "Napcat", + "Debug" ] if os.path.exists(self.config_path): with open(self.config_path, "rb") as f: @@ -50,6 +51,7 @@ class Config: self.napcat_heartbeat_interval = raw_config["Napcat"].get("interval", 30) self.mai_host = raw_config["MaiBot_Server"].get("host", "localhost") self.mai_port = raw_config["MaiBot_Server"].get("port", 8000) + self.debug_level = raw_config["Debug"].get("debug_level", "INFO") else: logger.error("配置文件不存在!") logger.info("正在创建配置文件...") diff --git a/src/logger.py b/src/logger.py index 68d9bfc..c097f14 100644 --- a/src/logger.py +++ b/src/logger.py @@ -1,16 +1,25 @@ from loguru import logger +from .config import global_config +import sys # import builtins +logger.remove() +logger.add( + sys.stderr, + level=global_config.debug_level, + format="{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {name}:{function}:{line} - {message}", +) -def handle_output(message: str): - if "连接失败" in message: - logger.error(message) - elif "收到无效的" in message: - logger.warning(message) - elif "检测到平台" in message: - logger.warning(message) - else: - logger.info(message) + +# def handle_output(message: str): +# if "连接失败" in message: +# logger.error(message) +# elif "收到无效的" in message: +# logger.warning(message) +# elif "检测到平台" in message: +# logger.warning(message) +# else: +# logger.info(message) # builtins.print = handle_output diff --git a/src/send_handler.py b/src/send_handler.py index 141bcfe..1e4a006 100644 --- a/src/send_handler.py +++ b/src/send_handler.py @@ -31,6 +31,7 @@ class SendHandler: action: str = None id_name: str = None + logger.info("接收到来自MaiBot的消息,处理中") try: processed_message: list = await self.handle_seg_recursive(message_segment) except Exception as e: @@ -49,7 +50,7 @@ class SendHandler: else: logger.error("无法识别的消息类型") return - + logger.info("尝试发送到napcat") response = await self.send_message_to_napcat( action, { @@ -87,26 +88,18 @@ class SendHandler: target_id = seg.data if target_id == "notice": return [] - new_payload = self.build_payload( - payload, self.handle_reply_message(target_id), True - ) + new_payload = self.build_payload(payload, self.handle_reply_message(target_id), True) elif seg.type == "text": text = seg.data - new_payload = self.build_payload( - payload, self.handle_text_message(text), False - ) + new_payload = self.build_payload(payload, self.handle_text_message(text), False) elif seg.type == "face": pass elif seg.type == "image": image = seg.data - new_payload = self.build_payload( - payload, self.handle_image_message(image), False - ) + new_payload = self.build_payload(payload, self.handle_image_message(image), False) elif seg.type == "emoji": emoji = seg.data - new_payload = self.build_payload( - payload, self.handle_emoji_message(emoji), False - ) + new_payload = self.build_payload(payload, self.handle_emoji_message(emoji), False) return new_payload def build_payload(self, payload: list, addon: dict, is_reply: bool = False) -> list: @@ -152,19 +145,6 @@ class SendHandler: }, } - async def test_send(self): - response: dict = await self.send_message_to_napcat( - "send_group_msg", - { - "group_id": 1038831234, - "message": [{"type": "text", "data": {"text": "test"}}], - }, - ) - if response.get("status") == "ok": - logger.info("消息test发送成功") - else: - logger.warning(f"消息发送失败,napcat返回:{str(response)}") - async def send_message_to_napcat(self, action: str, params: dict) -> dict: payload = json.dumps({"action": action, "params": params}) await self.server_connection.send(payload) @@ -172,4 +152,4 @@ class SendHandler: return response -send_handler = SendHandler() +send_handler = SendHandler() \ No newline at end of file diff --git a/template/template_config.toml b/template/template_config.toml index d94d511..1003a83 100644 --- a/template/template_config.toml +++ b/template/template_config.toml @@ -1,7 +1,7 @@ [Nickname] # 现在没用 nickname = "" -[Napcat_Server] # Napvat连接的ws服务设置 +[Napcat_Server] # Napcat连接的ws服务设置 host = "localhost" # Napcat设定的url地址 port = 8095 # Napcat设定的ws端口 @@ -17,3 +17,6 @@ heartbeat = 30 # 与Napcat设置的心跳相同(按秒计) group_list = [] private_list = [] enable_temp = false + +[Debug] +level = "INFO" # 日志等级(DEBUG, INFO, WARNING, ERROR) \ No newline at end of file