От ответ egoscia по вопросу Зарегистрировать нового пользователя в ejabberd с помощью Erlang, в ответном письме он говорит, что вы можете добавить нового пользователя, используя:
ejabberd_auth:try_register(<<"username">>, <<"example.com">>, <<"secret_password">>).
Я попытался использовать это в Erlang, но я получаю ошибку:
** exception error: undefined function ejabberd_auth:try_register/3
Вот фрагмент того, как я это делаю:
-import(ejabberd_auth, [try_register/3]).
start() ->
io:fwrite("Hello World!\nThis is Sound\n"),
% Chat
ejabberd_auth:try_register(<<"username">>, <<"example.com">>, <<"secret_password">>).
Как я должен идти об этом Erlang? Предложения Java / Android / C ++ / Qt также приветствуются.
Спасибо всем заранее.
** ошибка исключения: неопределенная функция ejabberd_auth: try_register / 3
О, этот код работает для меня, используя ejabberd 18.03. Я запускаю ejabberd в режиме реального времени, поэтому у меня есть доступ к оболочке erlang, и я могу работать правильно:
$ ejabberdctl live
...
(ejabberd@localhost)2> ejabberd_auth:try_register(<<"user6">>, <<"localhost">>, <<"somepass">>).
ok
Может быть, вы используете старую версию ejabberd, которая до сих пор не экспортирует ejabberd_auth: try_register / 3?
Других решений пока нет …