0

我们正在将MUC集成到我们的应用程序中以进行群聊。我们可以在其中创建组(会议)并添加成员。问题是-

  1. 已删除的成员仍收到群组消息。从组中删除成员的正确方法是什么?
  2. 如何获得组的总成员(在线/离线)?

我们正在使用以下方法删除成员-

 public void kickOutRoomMember(String groupJid, String memberNickName) {
    MultiUserChat muc;
    try {
        if (manager == null) {
            manager = MultiUserChatManager.getInstanceFor(connection);
        }
        muc = manager.getMultiUserChat(groupJid);
        muc.kickParticipant(memberNickName, "");
    } catch (Exception e) {
        e.printStackTrace();
    }
}

public void removeOutRoomMember(String groupJid, String memberNickName) {
    MultiUserChat muc;
    try {
        if (manager == null) {
            manager = MultiUserChatManager.getInstanceFor(connection);
        }
        muc = manager.getMultiUserChat(groupJid);
        muc.banUser(memberNickName, "");
    } catch (Exception e) {
        e.printStackTrace();
    }
}
4

2 回答 2

0

安装“Rest API”插件。

Rest API 插件提供所有 API 相关组。创建或删除组,在组中添加或删除成员,获取组的所有成员等。

于 2018-07-17T05:36:23.050 回答
0

理论上你是对的。只需检查

  1. 如果调用 banUser 的用户有权执行此操作
  2. 传递裸 jid 而不是 memberNickName 作为方法中的第一个参数。

文档

muc.banUser("Mickey Mouse", ""); //does not works
muc.banUser("mickeymouse@server","") // will works
于 2018-01-30T14:11:46.823 回答