我编写了一个机器人B
,它接收来自客户端的消息C1
并将其转发给客户端C2
,即 2 人可以通过网关连接Bot
。
我正在使用Sleekxmpp,一个用于上述目的的 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 的最佳方法是什么?