Я попытался поместить исходный файл mod_hello_world.erl в src
папку, а затем скомпилирован с помощью make install. Все идет гладко,
но если я добавлю модуль в ejabberd.yml, то начну узел, я получу
авария:
Проблема подтверждена. Поскольку недавний коммит , gen_mod требует, чтобы модули ejabberd экспортировали четыре функции . Страница документации, которую вы нашли с исходным кодом mod_hello_world, еще не обновлена, поэтому ejabberd жалуется, что не распознает модуль erlang как модуль ejabberd. Спасибо за упоминание этого!
Я обновил исходный код документации, но, полагаю, он не будет обновляться онлайн со следующего выпуска. Этот обновленный исходный код работает правильно, пожалуйста, попробуйте:
-module(mod_hello_world).
-behaviour(gen_mod).
%% Required by ?INFO_MSG macros
-include("logger.hrl").
%% gen_mod API callbacks
-export([start/2, stop/1, mod_options/1, depends/2]).
start(_Host, _Opts) ->
?INFO_MSG("Hello, ejabberd world!", []),
ok.
stop(_Host) ->
?INFO_MSG("Bye bye, ejabberd world!", []),
ok.
depends(_Host, _Opts) ->
[].
mod_options(_Host) ->
[].