Python Ejabberd-Send&;通过Bot接收消息

Python Ejabberd-Send&;通过Bot接收消息,python,xmpp,ejabberd,sleekxmpp,Python,Xmpp,Ejabberd,Sleekxmpp,我已经编写了一个botB,它从客户端C1接收消息并转发给客户端C2,即两个人可以通过网关bot进行连接 我正在使用一个python客户机XMPP库来实现上述目的 import logging from sleekxmpp import ClientXMPP from sleekxmpp.exceptions import IqError, IqTimeout class EchoBot(ClientXMPP): def __init__(self, jid, password):

我已经编写了一个bot
B
,它从客户端
C1
接收消息并转发给客户端
C2
,即两个人可以通过网关
bot
进行连接

我正在使用一个python客户机XMPP库来实现上述目的

import logging

from sleekxmpp import ClientXMPP
from sleekxmpp.exceptions import IqError, IqTimeout

class EchoBot(ClientXMPP):

    def __init__(self, jid, password):
        ClientXMPP.__init__(self, jid, password)

        self.add_event_handler("session_start", self.session_start)
        self.add_event_handler("message", self.message)

    def session_start(self, event):
        self.send_presence()

    def message(self, msg):
        if msg['type'] in ('chat'):
            # receive message from the Client1
            from, to = message['from'], message['to']
            message = message['body']
            # send message to Client2. 
            self.send_message(mto=recipient,
                              mbody=message,
                              mtype='chat')

if __name__ == '__main__':
    xmpp = EchoBot('bot@example.com', 'password')
    xmpp.connect()
    xmpp.process(block=True)
现在的问题是客户端C2通过BOT接收消息。它应该从客户机C1接收它。为了实现这一点,我需要C1密码来授权C1,我在消息体中没有它,在消息体中发送密码也不安全


创建网关BOT的最佳方法是什么?

是的,通过在send_message()方法中设置mfrom=C1,可以将BOT设置为C1到C2的网关