如何在ejabberd中阻止特定的jabber_id给某个人?

时间:2016-06-27 08:35:38

标签: ejabberd ejabberd-module

您好我已经在我的服务器上安装了ejabberd 16.04.43,并根据我的需要运行。

现在我有了阻止某个人加入特定用户的新要求

让我考虑一下用户:

getBooksAndMovies() {
    Observable.forkJoin(
        this.http.get('/app/books.json').map((res:Response) => res.json()),
        this.http.get('/app/movies.json').map((res:Response) => res.json())
    ).subscribe(
      data => {
        this.books = data[0]
        this.movies = data[1]
      },
      err => console.error(err)
    );

每个人都在ejabberd中有一个特定的jabber id,他们通过使用命令互相交流

kandan
cash
mani
kumar
lokesh

现在我需要的是,

add rosteritem

我安装了mod_block,但我不在附近回答我的预期.. !!!

2 个答案:

答案 0 :(得分:5)

您需要使用拒绝操作将用户添加到隐私列表。稍后如果您想取消阻止,请将操作设置为允许

示例:

<iq from='romeo@example.net/orchard' type='set' id='msg1'>
<query xmlns='jabber:iq:privacy'>
  <list name='message-jid-example'>
    <item type='jid'
          value='tybalt@example.com'
          action='deny'
          order='3'>
      <message/>
    </item>
  </list>
</query>
</iq>

documentation

答案 1 :(得分:3)

对于管理员方面,您可以使用 send_stanza_c2s 命令发送节。

语法

ejabberdctl send_stanza_c2s用户名Host Resourceid Stanza

阻止节:

<iq type='set' id='block123' from='user1@abc.com'>
     <block xmlns='urn:xmpp:blocking'>
        <item jid='user2@abc.com'>
        </item>
     </block>
</iq>

示例

ejabberdctl send_stanza_c2s user1 abc.com 69890942764773790857148098 "<iq type='set' id='block' from='user1@abc.com'><block xmlns='urn:xmpp:blocking'><item jid='user2@abc.com'></item></block></iq>"