独自のモジュールを構築すると、もう少し快適に取得した後、私はあなただけで、set_presence_hookが存在が設定されるたびに活性化されることがありません気付い
次
-module(mod_your_mod).
-behavior(gen_mod).
-include("ejabberd.hrl").
-export([start/2, stop/1, on_set/4, on_unset/4]).
start(Host, _Opts) ->
ejabberd_hooks:add(set_presence_hook, Host, ?MODULE, on_set, 50),
ejabberd_hooks:add(unset_presence_hook, Host, ?MODULE, on_unset, 50),
ok.
stop(Host) ->
ejabberd_hooks:delete(set_presence_hook, Host, ?MODULE, on_set, 50),
ejabberd_hooks:delete(unset_presence_hook, Host, ?MODULE, on_unset, 50),
ok.
on_set(User, Server, _Resource, _Packet) ->
<presence code>
on_unset(User, Server, _Resource, _Packet) ->
<offline code>
・ホープ、このヘルプ
使用ejabberdフック、http://www.process-one.net/en/wiki/ejabberd_events_and_hooksのようなものになってしまいますロングストーリーショート/。あなたはuser_available_hook、set_presence_hook、unset_presence_hookが必要です – 0xAX
'user_available_hook'とは何ですか?私は、set_presenceとunset_presenceを使用して、ユーザーがログインまたはログアウトしたときにイベントを取得できることを知っています。このuser_availableはどうですか? – RobisonSantos