Создайте комнату muc программно

#erlang #ejabberd #multiuserchat

#erlang #ejabberd #многопользовательский чат

Вопрос:

Мне нужно создать многопользовательскую комнату чата из моего модуля. Я пытаюсь использовать mod_muc:create/5 —

 mod_muc:create_room("conference.localhost", "testroom", "testuser@localhost", "testuser", default).
  

Но когда я запускаю клиент и логинюсь, ничего не происходит. Комната не создается.

Как я могу правильно создать muc room из моего кода модуля? И где я могу найти в ejabberd исходный код mod_muc, в котором выполняется create_room / 5?

Спасибо.

Комментарии:

1. Куда именно вы помещаете этот код?

2. @0xAX удалось ли вам решить эту проблему?

Ответ №1:

Исходный код ejabberd mod_muc находится под src/mod_muc в исходном коде ejabberd, смотрите: https://github.com/processone/ejabberd/tree/master/src/mod_muc. В вашем примере кода все выглядит нормально, вам также может потребоваться вызвать mod_muc_room:start/7 после создания.

Я бы рекомендовал использовать ejabberdctl debug на разрабатываемом сервере ejabberd и попробовать эти функции напрямую.