2016-06-27 5 views
2

こんにちは私はejabberd 16.04.43を私のサーバーにインストールし、必要に応じて実行していました。特定のjabber_idをejabberdの特定の人物にブロックする方法はありますか?

kandan 
cash 
mani 
kumar 
lokesh 

は、それらのそれぞれはejabberdに特定のジャバーIDを持っており、彼らはそれぞれに相互作用:

は、今私は私が少数のユーザーを考えてみましょう特定のユーザに

を特定の人をブロックする新しい要件を得ましたコマンドiは必要なものを今

add rosteritem 

を、使用して他の

**kandan blocks cash** such that any further message from kandan to cash or from cash to kandan should not deliver each other , so can anyone tell me how to implement? 

私はmod_blockと一緒にインストールしましたが、私が期待していたものに近くどこにいるのですか?

+0

privacy_listを使用してユーザーをブロックできます。 –

+0

あなたはejabberdにちょうど新しい生まれの子供なので、私をご案内してくれますか? –

+0

私の答えをチェックしてください。例のコンテンツを実際のコンテンツに置き換えます。 –

答えて

5

プライバシーリストにユーザを追加する必要があります。アクションdenyです。その後、ブロックを解除する場合は、アクションをに設定して、を許可します。

例:

<iq from='[email protected]/orchard' type='set' id='msg1'> 
<query xmlns='jabber:iq:privacy'> 
    <list name='message-jid-example'> 
    <item type='jid' 
      value='[email protected]' 
      action='deny' 
      order='3'> 
     <message/> 
    </item> 
    </list> 
</query> 
</iq> 

documentation

+0

modを使ってこのように呼び出すにはどうすればいいですか? –

+0

これはクライアント側から実装する必要があります。ですから、もしAがBをブロックしたいのであれば、それはAからBに送るべきです。しかし、あなたがまだバックエンドからそれを使いたいなら、あなたはmod_admin_extraのsend_stanzaメソッドを使うことができます。 –

+0

私に構文を教えてください。 ejabberdctl send_stanza kandanさんはlocalhost –

3

管理サイドの場合は、send_stanza_c2sコマンドを使用してスタンザを送信できます。

構文

ejabberdctl send_stanza_c2sユーザー名ホストRESOURCEIDスタンザ

ブロックスタンザ:

<iq type='set' id='block123' from='[email protected]'> 
    <block xmlns='urn:xmpp:blocking'> 
     <item jid='[email protected]'> 
     </item> 
    </block> 
</iq> 

ejabberdctl send_stanza_c2s user1 abc.com 69890942764773790857148098 "<iq type='set' id='block' from='[email protected]'><block xmlns='urn:xmpp:blocking'><item jid='[email protected]'></item></block></iq>" 
+0

多くのコメントありがとうございますが、私たちはどのようにリソースIDを取得しますか。リソースIDなしではできません。 –

+0

はい、リソースIDは、次のコマンドでリソースIDを取得できる必要があります。 ejabberdctl user_resourcesユーザー名ホスト –

関連する問題