0

私はゲームである webapp を持っています。特定のスコアの後にのみ、人々は友達になり、自動的にお互いの友達リストに追加されます。

このようにEjabberdで名簿を処理する方法を理解しようとしています

  • ユーザーが自分で他のユーザーを追加できないようにする
  • 名簿の変更のみを webapp に処理させる ( buddylist )

strophe のようなクライアント JS ライブラリを使用することは安全ではありません。ユーザーを互いの名簿に追加するサーバー側の方法が必要です。Ejabberdでこれを行う方法について何か考えはありますか?

編集: わかりました、ejabberd の mod_rest は、(すべて?) ejabbard メソッドへの restfull アクセスを提供するようです

4

1 に答える 1

0

わかりましたので、正しい軌道に乗った後、1時間でそれを理解することができました..

  • ejabberd をインストールする
  • mod_rest をインストールする
  • mod_admin_extra をインストールします

指図:

ejabberdctl help process_rosteritems

:

Command Name: process_rosteritems

  Arguments: action::string
             subs::string
             asks::string
             users::string
             contacts::string

  Returns: res::rescode

  Tags: roster 

  Description: List or delete rosteritems that match filtering options 

Explanation of each argument:
 - action: what to do with each rosteritem that matches all the filtering options
 - subs: subscription type
 - asks: pending subscription
 - users: the JIDs of the local user
 - contacts: the JIDs of the contact in the roster

Allowed values in the arguments:
 ACTION = list | delete
 SUBS = SUB[:SUB]* | any
 SUB = none | from | to | both
 ASKS = ASK[:ASK]* | any
 ASK = none | out | in
 USERS = JID[:JID]* | any
 CONTACTS = JID[:JID]* | any
 JID = characters valid in a JID, and can use the globs: *, ?, ! and [...]

This example will list roster items with subscription 'none', 'from' or 'to' that have any ask property, of local users which JID is in the virtual host 'example.org' 
and that the contact JID is either a bare server name (without user part) or that has a user part and the server part contains the word 'icq':
 list none:from:to any *@example.org *:*@*icq* 
于 2012-09-11T16:42:36.483 に答える