From e1b81a131678d3010ae53abd1981a33c61b32c35 Mon Sep 17 00:00:00 2001 From: Bakadax Date: Wed, 26 Mar 2025 21:24:53 +0800 Subject: [PATCH] modified: src/plugins/chat/utils.py --- src/plugins/chat/utils.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/plugins/chat/utils.py b/src/plugins/chat/utils.py index efe64f14..19840e60 100644 --- a/src/plugins/chat/utils.py +++ b/src/plugins/chat/utils.py @@ -46,11 +46,14 @@ def is_mentioned_bot_in_message(message: MessageRecv) -> bool: """检查消息是否提到了机器人""" keywords = [global_config.BOT_NICKNAME] nicknames = global_config.BOT_ALIAS_NAMES - message_id = int(re.findall(r"\[CQ:reply,id=([0-9]*)\]", message.raw_message)[0]) + at_qq_list = re.findall(r"\[CQ:at,qq=([0-9]*),name", message.raw_message) + if int(at_qq_list[0] if len(at_qq_list) != 0 else "0") == global_config.BOT_QQ: + return True + message_id_list = re.findall(r"\[CQ:reply,id=([0-9]*)\]", message.raw_message) + message_id = int(message_id_list[0] if len(message_id_list) != 0 else "0") result = db.messages.find_one({"message_id": message_id}) message_content = re.sub(r'\[CQ:reply,[\s\S]*?\]','', message.raw_message) message_content = re.sub(r'\[CQ:cq,[\s\S]*?\]','', message_content) - logger.exception(f"raw_message : {message.raw_message}") for keyword in keywords: if (f"[回复 {keyword} 的消息: " in message.processed_plain_text) and result == None: return True