我正在使用SleekXMPP脚本连接到XMPP服务器。我的问题是msg['from']
,presence['muc']['jid']
的结果完全不同。
msg['from']
返回:channelname@channels.example.com/nick
msg['mucnick']
返回:nick
presence['muc']['jid']
返回:username@example.com
请注意,在这种情况下,“username”和“nick”是同一用户的两个唯一值。我需要为消息处理程序中的每条消息记录“用户名”值。
有没有办法在消息节处理程序中获得与presence['muc']['jid']
相同的输出?
答案 0 :(得分:1)
所以我通过将存在登录数据保存到字典来解决这个问题。
def muc_online(self, presence):
handle = str(presence['muc']['jid']).split('@')[0]
nick = str(presence['muc']['nick'])
userdata = {nick : handle}
然后我只是将消息节中的缺口与存在节创建的字典匹配。