0

モジュールをカスタマイズmod_muc_roomしていますが、ユーザーがオンラインであるかどうかを認識し、ユーザー名のみを提供する関数を追加したいと思います。モジュールで私は関数を見つけることができますis_user_online

is_user_online(JID, StateData) ->

LJID = jlib:jid_tolower(JID),

?DICT:is_key(LJID, StateData#state.users).

ユーザー名、サーバー、リソースを提供する必要があることを理解しています。LJID、次のような結果になります{"user", "myserver.com, "someid"}

同じものを返すが、「ユーザー」のみを提供する関数を追加したいのですが、

User = "user",

is_member_online(User, StateData) ->

?DICT:is_key(User, StateData#state.users).

これを達成する方法についてアドバイスをいただけますか?

4

1 に答える 1

0

これを使用して、ホストのリストを取得できます。

ejabberd_config:get_global_option(hosts)

次に、これを使用して、ユーザーがオンラインかどうかを確認します。

ejabberd_sm:get_user_resources(User, Host)

これにより、ユーザーがオフラインの場合は空の配列が返されます。

于 2013-02-15T20:14:36.660 に答える