xmpp怎么让群主踢人?

时间:2023-12-13 21:47:20

不知道其他语言版的xmpp,framework是怎样的,就OC版提供的xmpp框架来说,它只提供了邀请其他用户进群的API:

- (void)inviteUser:(XMPPJID *)jid withMessage:(NSString *)inviteMessageStr

在网上找了半天的解决答案,才在一位qq群好友的提示下,要自己IQ消息,最终才自己封装了群主送飞机票这个功能

方法如下

1首先找到xmpp官方文档:http://wiki.jabbercn.org/XEP-0045#.E8.BF.9B.E5.85.A5.E4.B8.80.E4.B8.AA.E6.88.BF.E9.97.B4

2拷贝出XML消息

例子 78. 主持人踢出房客

<iq from='fluellen@shakespeare.lit/pda'

id='kick1'

to='harfleur@henryv.shakespeare.lit' //这个加了个henryv(很礼物)应该是某个后台服务|to房间

type='set'>

<query xmlns='http://jabber.org/protocol/muc#admin'>

<item nick='pistol' role='none'>

<reason>Avaunt, you cullion!</reason>

</item>

</query>

</iq>

3翻译成OC代码,并封装为一个方便调用的API

xmpp怎么让群主踢人?

其实总的思路不难,但是实现过程还是花了半天多的功夫,1理清xml语法格式 2理解对应的参数含义,3参考xmpp源码,实现功能

最后真传一句话:

抓住NSXMLElement这个元素根类,然后创建各种对应xml元素节点,最后组装