From 8b5705beae545bb83361754fce28eec396b4bbfc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=9F=A5=E5=BE=AE?= Date: Fri, 26 Jun 2026 23:23:38 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E7=A7=81=E8=81=8A=E5=9B=9E=E5=A4=8D?= =?UTF-8?q?=E5=8E=BB=E9=87=8D(=E5=8E=BB=E6=8E=89send=5Fstanza=E5=8F=8C?= =?UTF-8?q?=E5=8F=91)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/xmpp_agent_core.py | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/scripts/xmpp_agent_core.py b/scripts/xmpp_agent_core.py index 29b17ab..15b93fa 100644 --- a/scripts/xmpp_agent_core.py +++ b/scripts/xmpp_agent_core.py @@ -230,19 +230,8 @@ class AgentBot(ClientXMPP): if msg_type == 'groupchat': self.send_message(mto=sender, mbody=reply, mtype='groupchat') else: - # 私聊回复:发到Dad发消息时的具体resource,确保同一客户端收到 - # 不用裸JID(避免ejabberd路由到处于stream management pending的旧会话) + # 私聊:发到具体resource(Dad发消息时绑定的客户端) self.send_message(mto=sender, mbody=reply, mtype='chat') - # 备用也发裸JID(兼容resource可能变化的情况) - bare_jid = sender.split('/')[0] if '/' in sender else sender - import subprocess as sp - from xml.sax.saxutils import escape - safe = escape(reply) - sp.run([ - "docker", "exec", "ejabberd", "ejabberdctl", "send_stanza", - AGENT_JID, bare_jid, - f"{safe}" - ], capture_output=True, timeout=10) sent_norm = reply[:100] self._recent_sent.append(sent_norm)