我想阻止来自我的名单的所有传入状态更新。我尝试通过发送以下IQ来使用隐私列表。
<iq id='oQQwF-18' type='set'>
<query xmlns='jabber:iq:privacy'>
<list name="subscription">
<item action="deny" order="9" type="subscription" value="to">
<presence-in/>
</item>
</list>
</query>
</iq>
我可以看到隐私列表存储在MySQL中,但我仍然会收到来自名册好友的状态更新。
我知道mod_client_state
,但我想先尝试一下隐私列表。
答案 0 :(得分:1)
在XEP-0016中,当匹配订阅类型时,您需要单独匹配每个订阅类型。通过上面的节,您将阻止订阅状态为“to”的用户的传入状态节,但可能大多数订阅状态为“both”(有些可能具有“from”)。试试这个:
<iq id='oQQwF-18' type='set'>
<query xmlns='jabber:iq:privacy'>
<list name="subscription">
<item action="deny" order="9" type="subscription" value="to">
<presence-in/>
</item>
<item action="deny" order="10" type="subscription" value="from">
<presence-in/>
</item>
<item action="deny" order="11" type="subscription" value="both">
<presence-in/>
</item>
</list>
</query>
</iq>
此外,您可能需要将subscription
列表设置为活动隐私列表:
<iq type='set' id='active1'>
<query xmlns='jabber:iq:privacy'>
<active name='subscription'/>
</query>
</iq>