From 361f599df091924b5cc504d6125d247b545b212f Mon Sep 17 00:00:00 2001 From: lanvent Date: Sat, 22 Apr 2023 11:29:41 +0800 Subject: [PATCH] fix: escape regex patterns when matching name --- channel/chat_channel.py | 2 +- channel/wechat/wechaty_message.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/channel/chat_channel.py b/channel/chat_channel.py index 89dfe14..3667cf7 100644 --- a/channel/chat_channel.py +++ b/channel/chat_channel.py @@ -115,7 +115,7 @@ class ChatChannel(Channel): if not conf().get("group_at_off", False): flag = True pattern = f"@{self.name}(\u2005|\u0020)" - content = re.sub(pattern, r"", content) + content = re.sub(re.escape(pattern), r"", content) if not flag: if context["origin_ctype"] == ContextType.VOICE: diff --git a/channel/wechat/wechaty_message.py b/channel/wechat/wechaty_message.py index f7d27fa..fe4adb7 100644 --- a/channel/wechat/wechaty_message.py +++ b/channel/wechat/wechaty_message.py @@ -87,7 +87,7 @@ class WechatyMessage(ChatMessage, aobject): if not self.is_at: # 有时候复制粘贴的消息,不算做@,但是内容里面会有@xxx,这里做一下兼容 name = wechaty_msg.wechaty.user_self().name pattern = f"@{name}(\u2005|\u0020)" - if re.search(pattern, self.content): + if re.search(re.escape(pattern), self.content): logger.debug(f"wechaty message {self.msg_id} include at") self.is_at = True