如何在C#中将参与者添加到XMPP聊天室?

时间:2014-01-08 12:39:45

标签: c# windows windows-phone-7 xmpp ejabberd

我想在现有群组中添加参与者。为此,我将参与者的关联作为所有者和角色作为主持人传递。

我在“conference.jabber.org”上进行测试。我成功创建了房间但是当我去那个房间添加一些参与者时出错了

"error code=\"405\" type=\"cancel\">  not-allowed xmlns=\"urn:ietf:params:xml:ns:xmpp-stanzas\" /></error>"

请帮忙。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

您无法直接将用户添加到聊天室;你可以邀请他们,但他们必须自己明确加入。 (虽然你应该能够修改他们的联系,无论他们是否在房间里,如果他们在房间里,你应该能够将他们的角色改为主持人。)

邀请参与者有两种方法。 One involves sending the invite through the chat room

<message
    from='crone1@shakespeare.lit/desktop'
    id='nzd143v8'
    to='coven@chat.shakespeare.lit'>
  <x xmlns='http://jabber.org/protocol/muc#user'>
    <invite to='hecate@shakespeare.lit'>
      <reason>
        Hey Hecate, this is the place for all good witches!
      </reason>
    </invite>
  </x>
</message>

the other involves sending a message directly to the user you're inviting

<message
    from='crone1@shakespeare.lit/desktop'
    to='hecate@shakespeare.lit'>
  <x xmlns='jabber:x:conference'
     jid='darkcave@macbeth.shakespeare.lit'
     password='cauldronburn'
     reason='Hey Hecate, this is the place for all good witches!'/>
</message>