1

我的邀请处理程序有问题。它永远不会被解雇。我可以看到来自群组的邀请:

<body xmlns='http://jabber.org/protocol/httpbind'>
        <message xmlns="jabber:client" from="epthi_795@conference.188.2.16.19" to="nikoladerikonjic@188.2.16.19">
            <x xmlns="http://jabber.org/protocol/muc#user">
                <invite from="sanjicabjelica@188.2.16.19">
                    <reason>Please join me in conference.</reason>
                </invite>
            </x>
            <x xmlns="jabber:x:conference" jid="epthi_795@conference.188.2.16.19"/>
        </message>
</body>

但 on_message 处理程序不会被触发。因为没有定义类型。

当我把Chat.connection.addHandler(Chat.on_message,null, "message", null,null,null,null);

显示邀请,但随后所有消息组或聊天都由它处理。我希望我能够拥有

Chat.connection.addHandler(Chat.on_message,null, "message", "chat");
Chat.connection.addHandler(Chat.on_message,null, "message", "groupchat");

用于单独类型的消息。

我用这个绕了两天。帮助!?

换句话说,对于包含邀请的消息,应该在 addHandler 中添加什么?

更新

我必须把

Chat.connection.addHandler(Chat.on_message,null, "message"); 

在我邀请之前。

我不明白为什么会这样?有人有想法吗?

4

1 回答 1

4

您开始使用的 2 个处理程序需要一个类型。邀请没有类型。我用于邀请的处理程序改为查找名称空间。这样它就与我的消息处理程序分开了。

connection.addHandler(onInvite, 'jabber:x:conference');

于 2013-12-09T20:38:45.420 回答