如何获取MUC房间占用者列表Inside Openfire插件?

时间:2014-03-06 04:37:59

标签: plugins openfire multiuserchat

我正在开发一个openfire插件并且一度停留。

以下是我的插件代码。我已经实现了 MUCEventListener ,我也得到了回调。但现在我想从 messageReceived()方法中的 roomJID 中获取占用者列表。研究很多但没有成功。请有人让我突破。

public class OfflineMessageTrigger implements Plugin,
        MUCEventListener {

    private static final Logger Log = LoggerFactory
            .getLogger(OfflineMessageTrigger.class);


    public OfflineMessageTrigger() {
    }

    // Plugin Interface

    public void initializePlugin(PluginManager manager, File pluginDirectory) {
        MUCEventDispatcher.addListener(this);
    }

    public void destroyPlugin() {
        MUCEventDispatcher.removeListener(this);
    }



    @Override
    public void roomCreated(JID roomJID) {
        Log.debug("TASOL-OfflineMessageTrigger -> MUC ->  roomCreated(): "
                + "RoomID : " + roomJID);
    }

    @Override
    public void roomDestroyed(JID roomJID) {
        Log.debug("TASOL-OfflineMessageTrigger -> MUC ->  roomDestroyed(): "
                + "RoomID : " + roomJID);
    }

    @Override
    public void occupantJoined(JID roomJID, JID user, String nickname) {
        Log.debug("TASOL-OfflineMessageTrigger -> MUC ->  occupantJoined(): "
                + "RoomID : " + roomJID + " UserID : " + user + " NickName : "
                + nickname);


    }

    @Override
    public void occupantLeft(JID roomJID, JID user) {
        Log.debug("TASOL-OfflineMessageTrigger -> MUC ->  occupantLeft(): "
                + "RoomID : " + roomJID + " UserID : " + user);

    }

    @Override
    public void nicknameChanged(JID roomJID, JID user, String oldNickname,
            String newNickname) {

    }

    @Override
    public void messageReceived(JID roomJID, JID user, String nickname,
            Message message) {



        // HERE I WANT TO FETCH OCCUPANTS LIST OF "roomJID". HOW TO GET?

    }

    @Override
    public void privateMessageRecieved(JID toJID, JID fromJID, Message message) {

    }

    @Override
    public void roomSubjectChanged(JID roomJID, JID user, String newSubject) {

    }

}

由于 Biraj Zalavadia。

1 个答案:

答案 0 :(得分:1)

似乎这个问题已在Openfire论坛上得到解决。所以这里是线程的链接,以防有人在Stackoverflow上搜索解决方案:https://igniterealtime.jiveon.com/thread/52016