我正在開發一個使用OpenFire和JsJAC的內部聊天系統。我想讓所有登錄的人自動成爲彼此的朋友,但由於沒有好的方法可以讓所有人都成爲朋友,所以我決定使用訂閱插件並將訂閱請求發送給不在名單上的任何人。訂閱插件自動接受請求。JsJAC認購請求與暱稱
這現在正在工作,但是我無法爲新名單條目設置暱稱。
這裏是我正在使用的代碼:
//Send friend request
var subscribe_packet = "<presence to='"+this.sender+"@"+chatManager.args()['domain']+"' from='"+chatManager.args()['username']+"@"+chatManager.args()['domain']+"' type='subscribe'>";
subscribe_packet += "<nick xmlns='http://jabber.org/protocol/nick'>TestTest</nick>";
subscribe_packet += "</presence>";
console.log("Subscribe packet: "+subscribe_packet);
con._sendRaw(subscribe_packet);
這給出下面的XML輸出作爲一個例子:
<presence to='[email protected]' from='[email protected]'><nick xmlns='http://jabber.org/protocol/nick'>TestTest</nick></presence>
此發送訂閱請求,但要麼不發送的暱稱或者沒有被OpenFire正確解釋。
有什麼想法?
原來這不是JsJac的問題。 Openfire似乎不遵循XEP-0172,特別是「包含訂閱請求的暱稱」。任何人都有解決方法嗎? –