web-dev-qa-db-ja.com

xmpp / ejabberd。ユーザーの存在を他のすべてのユーザーに表示する

私はejabberdを使用してWebの「ライブチャット」を実装しています。実験中のある時点で、クライアントにログインすると、他のすべてのログインユーザーの存在が表示されるようになりました。多くの構成変更の後、他のユーザーの存在の報告を停止することを除いて、システムは希望どおりに機能しています。

基本的に、管理者がいつログインしたかをクライアントに知らせたいと思います。これにより、質問を書く前に、回答が得られるかどうかをクライアントが知ることができるようになります。現時点では、管理者がオフラインのときに送信したメッセージが受信されたかどうかさえわかりません(後で配信するためにキューに入れられるだけです)。

クライアントとしてjwchatを使用していますが、すべてのプレゼンスパケットをキャプチャできますが、ejabberdがそれらを送信しているようには見えません(プライバシーの問題かもしれませんが、わかりません)。何か案は?

編集:私はmod_rosterが必要だと言うことができますが、それを構成する方法に関するドキュメントが見つかりません。誰かが共有できる情報を持っていますか?

1
SpliFF

解決策は、Web管理インターフェイスを介して共有名簿グループを作成することであることが判明しました。

name: operators
members: operator1@domain, operator2@domain, ...
displayed groups: operators

name: everybody
members: @all@
displayed groups: operators

また、オペレーターのPidginを設定して、オフラインユーザーを非表示にします。そうしないと、新しいゲストアカウントが追加されると、バディリストがすぐに大きくなりすぎます。

3
SpliFF

Mod_webpresenceを使用していますか、それとも何か他のことをしていますか?

http://www.ejabberd.im/mod_webpresence

0
KPWINC