Dear All,
I have developed my own ejabberd module, but i don't know how to register my own command with ejabberdctl, i have tried to follow in the ejabberd_admin.erl but the command is not appear in the ejabberdctl console, is there something am i missing ?
-include_lib("stdlib/include/ms_transform.hrl"). -include("ejabberd.hrl"). -include("logger.hrl"). -include("ejabberd_commands.hrl"). -include("ejabberd_sql_pt.hrl"). -include("jlib.hrl"). -export([init/1, iunblockotp/2, get_commands_spec/0, terminate/2]). init([]) -> process_flag(trap_exit, true), ejabberd_commands:register_commands(get_commands_spec()), {ok, #state{}}. terminate(_Reason, _State) -> ejabberd_commands:unregister_commands(get_commands_spec()). %%% %%% ejabberd commands %%% get_commands_spec() -> [ %% The commands status, stop and restart are implemented also in ejabberd_ctl %% They are defined here so that other interfaces can use them too #ejabberd_commands{name = iunblockotp, tags = [accounts], desc = "Unblock OTP", policy = admin, module = ?MODULE, function = iunblockotp, args_desc = ["Username", "Local vhost served by ejabberd"], args_example = [<<"bob">>, <<"example.com">>], args = [{user, binary}, {host, binary}], result = {res, restuple}} ]. iunblockotp(User, Server) -> ejabberd_sql:sql_query(
Please help.
You must call init/0, so the
You must call init/0, so the command gets registered in ejabberd list of commands
Ok, thanks. Actually i was
Ok, thanks. Actually i was using gen_mod behaviour so i need to trigger it in start function.