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)