ejabberd 中的隐私列表
Privacy lists in ejabberd
我想阻止所有来自我名册的在线状态更新。我尝试通过发送以下 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
,但我想先试试隐私列表。
在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>
我想阻止所有来自我名册的在线状态更新。我尝试通过发送以下 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
,但我想先试试隐私列表。
在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>