こんな感じのメールが来ました…
<message
from='pinza@some.com'
to='tulyar@some.com'
type='groupchat'
xmlns='jabber:message:group_chat_test'>
<body>Here is my message.</body>
</message>
私のroutes.jsファイルでは、本文のコンテンツ以外に基づいてメッセージをルーティングしようとしています-具体的には、カスタム名前空間に基づいてルーティングしたいです(したがって、異なるグループチャットメッセージタイプを別の方法で処理できますコントローラー)だから私はこれを試します...
bind.query('message[type="groupchat"][xmlns="jabber:message:group_chat_test"]')
.to(SD.Messenger.Room, "groupchat_test");
しかし、メッセージは group_chat_test コントローラーに到達するのではなく、イーサに入ります。これと同様のことを <iq> で行いますが、グループ チャット メッセージでは機能しないようです。
何か不足していますか?この方法でグループ チャット メッセージをクエリできるようにする必要がありますか? 他にできる方法はありますか?
参考までに、私の現在の回避策はこのハックです...
bind.query('message[type="groupchat"]').to(SD.Messenger.Room, "all_groupchat_msgs");
これで controllers.js
SD.Messenger.Room.prototype.all_groupchat_msgs = function() {
// test the body of the incoming stanza and
// based on it's contents do different things...
};
(エジャバード、ボッシュ、ストロフ使用)