fix: dingtalk channel group chat bugmaster
@@ -117,6 +117,7 @@ class ChatChannel(Channel): | |||
logger.info("[chat_channel]receive group at") | |||
if not conf().get("group_at_off", False): | |||
flag = True | |||
self.name = self.name if self.name is not None else "" # 部分渠道self.name可能没有赋值 | |||
pattern = f"@{re.escape(self.name)}(\u2005|\u0020)" | |||
subtract_res = re.sub(pattern, r"", content) | |||
if isinstance(context["msg"].at_list, list): | |||
@@ -163,7 +163,7 @@ class DingTalkChanel(ChatChannel, dingtalk_stream.ChatbotHandler): | |||
elif cmsg.ctype == ContextType.PATPAT: | |||
logger.debug("[DingTalk]receive patpat msg: {}".format(cmsg.content)) | |||
elif cmsg.ctype == ContextType.TEXT: | |||
logger.debug("[DingTalk]receive patpat msg: {}".format(cmsg.content)) | |||
logger.debug("[DingTalk]receive text msg: {}".format(cmsg.content)) | |||
else: | |||
logger.debug("[DingTalk]receive other msg: {}".format(cmsg.content)) | |||
context = self._compose_context(cmsg.ctype, cmsg.content, isgroup=True, msg=cmsg) | |||
@@ -49,6 +49,7 @@ class DingTalkMessage(ChatMessage): | |||
if self.is_group: | |||
self.from_user_id = event.conversation_id | |||
self.actual_user_id = event.sender_id | |||
self.is_at = True | |||
else: | |||
self.from_user_id = event.sender_id | |||
self.actual_user_id = event.sender_id | |||