node.js - 在node-xmpp中检索名册

标签 node.js xmpp node-xmpp

我无法理解如何在 node-xmpp(GTalk 帐户)中检索 XMPP 花名册(以及最终每个联系人的状态)。

我的示例代码可以登录和连接,但我对发送和监听的内容有点迷失:

var xmpp = require('node-xmpp')

jid = '<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="36534e575b465a5376515b575f5a1855595b" rel="noreferrer noopener nofollow">[email protected]</a>'
password = 'xxxxxxxxxxxxxx'

// Establish a connection
var conn = new xmpp.Client({
    jid: jid,
    password: password,
    host: 'talk.google.com',
    port: 5222
})

conn.on('online', function() {
    console.log('ONLINE')
    var roster = new xmpp.Element('iq', {
        type: 'get',
        from: jid,
        id: new Date().getTime()
    }).c('query', { xmlns: 'jabber:iq:roster' })
    conn.send(roster) // Now what?
})

conn.on('error', function(e) {
    console.log(e)
})

最佳答案

看起来我的花名册查询的结构是错误的,但它工作正常:

conn.on('online', function() {
  console.log('ONLINE')
  var roster = new xmpp.Element('iq', {
    id: 'roster_0',
    type: 'get'
  }).c('query', {
    xmlns: 'jabber:iq:roster'
  })
  conn.send(roster)
})

关于node.js - 在node-xmpp中检索名册,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13735648/

相关文章:

javascript - Sequelize 获取上次更新或创造值(value)

ios - 为离线/断开连接保存花名册提议

python - 在我的网络服务器上实现实时聊天系统的最佳方式是什么?

node.js - node-xmpp --- 创建持久且私密的聊天室

node.js - 了解快速 session

javascript - 加密通行证的重新散列在 Node.js 中使用加密返回不同的结果

javascript - nodejs加载文件

android - 如何在 Smack 中启用 XEP-0199?

javascript - 使用 node-xmpp 读取 XMPP 控制台