0
votes

I am trying to write module for ejabberd 17.01. It has been working on ejabberd 16.08.

I installed ejabberd with package installer.

-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.

I am getting following error in log

====================================

2017-02-09 05:36:45.825 [error] <0.660.0>@ejabberd_hooks:run1:332 {undef,[{mod_offline_test,on_offline,[{jid,<<"FROM-JID">>,<<"MY-SERVER-NAME">>,<<"RESOURCE">>,<<"FROM-JID">>,<<"MY-SERVER-NAME">>,<<"RESOURCE">>},{jid,<<"TO-JID">>,<<"MY-SERVER-NAME">>,<<>>,<<"TO-JID">>,<<"MY-SERVER-NAME">>,<<>>},{message,<<"B094705E-3F0B-4AA2-9630-C5A6DEEE7033">>,chat,<<>>,{jid,<<"FROM-JID">>,<<"MY-SERVER-NAME">>,<<"RESOURCE">>,<<"FROM-JID">>,<<"MY-SERVER-NAME">>,<<"RESOURCE">>},{jid,<<"TO-JID">>,<<"MY-SERVER-NAME">>,<<>>,<<"TO-JID">>,<<"MY-SERVER-NAME">>,<<>>},[],[{text,<<>>,<<"Rrrrrrr">>}],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}]}]} running hook: {offline_message_hook,[{jid,<<"FROM-JID">>,<<"MY-SERVER-NAME">>,<<"RESOURCE">>,<<"FROM-JID">>,<<"MY-SERVER-NAME">>,<<"RESOURCE">>},{jid,<<"TO-JID">>,<<"MY-SERVER-NAME">>,<<>>,<<"TO-JID">>,<<"MY-SERVER-NAME">>,<<>>},{message,<<"B094705E-3F0B-4AA2-9630-C5A6DEEE7033">>,chat,<<>>,{jid,<<"FROM-JID">>,<<"MY-SERVER-NAME">>,<<"RESOURCE">>,<<"FROM-JID">>,<<"MY-SERVER-NAME">>,<<"RESOURCE">>},{jid,<<"TO-JID">>,<<"MY-SERVER-NAME">>,<<>>,<<"TO-JID">>,<<"MY-SERVER-NAME">>,<<>>},[],[{text,<<>>,<<"Rrrrrrr">>}],undefined,[],#{}}]}

====================================

1

1 Answers

0
votes

you should return packet instead of none