1

我需要从 MUC 内的所有用户和用户本身(“我”)中获取 XMPP 用户组。我想用它们在 candy xmpp 客户端中设置一些权限。

这个问题没有插件。在 candy.min.js 里面我发现了这个函数:

Candy.Core.Contact.prototype.getGroups = function() {
return this.data.groups; };

我在文档中没有找到任何关于它的注释,也没有在其他代码/插件中找到任何相关性。所以也许,这个功能甚至不起作用。

我尝试编写自己的插件。但我对 JS 的了解并不深。调用 getGroups() 函数对我不起作用。

我可以使用 openfire(xmpp 服务器)中的 REST API 读取用户组数据。因此,权限或数据没有问题。通常可以在此配置中获取用户组数据。但我真的很想在糖果聊天插件中获得一个更清洁的解决方案。

Candy 中有一些核心功能,允许通过 strophe.js 发送查询。我还不明白。但我认为,有一种方法可以使用这些来获取用户组。他们看起来像这个例子来设置用户密码。:

var pwChangeRequest = $iq({
  type: 'set',
  to: 'shakespeare.lit'
})
.c('query', {xmlns: 'jabber:iq:register'})
.c('username').t('bill').up()
.c('password').t('newpass');

Candy.Core.getConnection().sendIQ(
  pwChangeRequest,
  function () {
    console.log("Password change was successful.")
  },
  function (responseStanza) {
    console.log("Password change failed.");
    console.log(responseStanza);
  }
);

那么,我需要如何更改此代码段以请求 XMPP 用户组?

我也想 RTFM :) 但我没有找到任何解释 CANDY <-> Candy Plugin <-> prototype / strophe /stanza <-> XMPP (openfire) 通信的东西。有什么要读的吗?

4

0 回答 0