在 XMPP 中的群聊 (MUC) 中解析居住者的真实 KID

Posted

技术标签:

【中文标题】在 XMPP 中的群聊 (MUC) 中解析居住者的真实 KID【英文标题】:Parsing occupant's real JID in groupchats (MUC) in XMPP 【发布时间】:2014-10-21 21:01:24 【问题描述】:

所以我将 node-xmpp-client 用于我正在运行的 Jabber 机器人。我想要做的是在群聊中获取用户的实际 JID,而不是别名。所以使用这样的代码:

client.on('stanza', function(stanza) 
    if (stanza.is('message') && (stanza.attrs.type == 'grouchat')) 
        console.log(stanza.attrs.from)
    
)

将输出类似groupchat@im.server.com/group_alias 的内容,而我需要的不是他们的别名,而是用户的实际 JID。提供的节似乎没有该信息。

所以有人可能有一个别名Johnny Smith,但他们的实际 JID 是 john_smith@im.server.com,所以这个别名对我来说对这个项目没什么用。

有什么见解吗?

【问题讨论】:

【参考方案1】:

您需要一个非匿名(或半匿名)MUC 来获取居住者的真实 JID。见XEP-0045 § 7.2.4

【讨论】:

谢谢,我最终在存在节中找到了 JID,这已经足够好了!

以上是关于在 XMPP 中的群聊 (MUC) 中解析居住者的真实 KID的主要内容,如果未能解决你的问题,请参考以下文章

XMPP Muc 查询

使用 aSmack 为 XMPP 群聊创建 MUC 房间时出现 ClassCastException

XMPP 上的群聊推送通知

无法使用 ruby​​ xmpp4r 获取以前的群聊历史记录

使用 XMPP 在群聊中传输文件

XMPP MUC问题