2011-10-25 81 views
1

有沒有辦法取消訂閱用戶的存在?我不再希望在/ _ah/xmpp/presence/...上接收針對特定用戶的更新。我似乎無法找到一個簡單的API調用來做到這一點。GAE取消訂閱用戶的存在

在挖掘了XMPP協議後,我發現this似乎表明做一個帶有'取消訂閱'的在線類型的send_presence應該可以工作。不幸的是挖掘到GAE的XMPP API看來,它定義

_VALID_PRESENCE_TYPES = frozenset([PRESENCE_TYPE_AVAILABLE, 
           PRESENCE_TYPE_UNAVAILABLE, 
           PRESENCE_TYPE_PROBE]) 

這意味着我甚至不能做send_presence(user_to_remove, status="", presence_type="unsubscribe")(PRE​​SENCE_TYPE_AVAILABLE和其他人都只是字符串,如「可用」如按照XMPP故障排除基本)

有沒有人遇到過這個問題或知道如何實現這個目標?

回答

2

作爲一個實驗,您可以重新實現自己的「send_presence」,它與現有函數做同樣的事情,而不需要檢查有效的存在類型。沒有正式批准,但值得一試。

有一點要注意的是,這不會從你的機器人或嚴重乖客戶忽略它重新訂閱客戶端。

正如德魯提到的,請在問題追蹤器上提交問題。

+0

@Moise - 對不起,我在一個地區旅行的網點連通性差。我今天將嘗試這個併發布更新 – arunkumar

3

看來你不能。 The docs(和文檔字符串)確認presence_type接受RFC 3921中定義的類型子集。

您可以將此作爲功能請求提交至the issue tracker