我尝试编写ejabber模块。我尝试使用ejabber_sm,但我找不到例子。 我试试:
-module(mod_auto_muc).
-behavior(gen_mod).
-include("ejabberd.hrl").
-include("logger.hrl").
-export([start/2, stop/1, on_user_available/1]).
start(Host, _Opts) ->
?INFO_MSG("mod_auto_muc starting on Host: ~p", [Host]),
ejabberd_hooks:add(user_available_hook, Host, ?MODULE, on_user_available, 50),
ok.
stop(Host) ->
?INFO_MSG("mod_auto_muc stopping on Host: ~p", [Host]),
ejabberd_hooks:delete(user_available_hook, Host, ?MODULE, on_user_available, 50),
ok.
on_user_available(Jid) ->
ConnectedUsers = ejabber_sm:connected_users(),
?INFO_MSG("Connected users ~p", [ConnectedUsers]),
ok.
跑完后我得到了:
[error] {undef,[{ejabber_sm,get_user_resources,[<<" atterratio">>,<<" localhost">>] ,[]}
我认为需要连接其他模块但不知道是什么。 在这种情况下谁能说出来。或者更好的是链接到为ejabberd编写不同模块的示例。除了this。
答案 0 :(得分:1)
项目最后称为ejabberd
,d
,模块也是如此:它应该是ejabberd_sm
,而不是ejabber_sm
。