【发布时间】:2017-06-27 08:09:55
【问题描述】:
我正在尝试为 ejabberd 17.01 编写模块。它一直在 ejabberd 16.08 上工作。
我使用包安装程序安装了 ejabberd。
-module(mod_imran_offline).
-author('igggg').
-behaviour(gen_mod).
%% Required by ?INFO_MSG macros
-include("logger.hrl").
-export([start/2, stop/1,on_offline/4]).
start(_Host, _Opts) ->
?INFO_MSG("Hello, ejabberd world!", []),
ejabberd_hooks:add(offline_message_hook, _Host, ?MODULE, on_offline, 10),
ok.
stop(_Host) ->
?INFO_MSG("Bye bye, ejabberd world!", []),
ejabberd_hooks:delete(offline_message_hook, _Host, ?MODULE, on_offline, 10),
ok.
on_offline(_User, _Server, _Resource, _Packet) ->
?INFO_MSG("Posting From ~p Body ~p~n",[_User, _Packet]),
none.
我在日志中收到以下错误
======================================
2017-02-09 05:36:45.825 [错误] @ejabberd_hooks:run1:332 {undef,[{mod_offline_test,on_offline,[{jid,>, >,>,>,>,>} ,{jid,>,>,>,>,>,>},{消息,>,聊天,>,{jid,>,>,>,>,>,>},{ jid,>,>,>,>,> ,>},[],[{text,>,>}],undefined,[],#{}}],[]},{ejabberd_hooks,safe_apply,3 ,[{file,"src/ejabberd_hooks.erl"},{line,382}]},{ejabberd_hooks,run1,3,[{file,"src/ejabberd_hooks.erl"},{line,329}]}, {ejabberd_sm,route,3,[{file,"src/ejabberd_sm.erl"},{line,126}]},{ejabberd_local,route,3,[{file,"src/ejabberd_local.erl"},{line ,110}]},{ejabberd_router,route,3,[{file,"src/ejabberd_router.erl"},{line,87}]},{ejabberd_c2s,check_privacy_route,5,[{file," src/ejabberd_c2s.erl"},{line,1886}]},{ejabberd_c2s,session_established2,2,[{file,"src/ejabberd_c2s.erl"},{line,1170}]}]} 运行钩子:{offline_message_hook,[{jid,>,>,>,>, >,>},{jid,>,>,> ,>,>,>},{消息,>,聊天, >,{jid,>,>,>,>,>,>},{jid,>,>,>,>,>,>},[],[{text,>,>}],未定义,[],#{}}]}
======================================
【问题讨论】:
标签: ejabberd ejabberd-module ejabberd-hooks