Мой сервер ejabberd использует mysql БД в качестве внешнего хранилища, и я использую метод / create_room_with_opts API ejabberd для создания своих комнат с параметром: {name: "persistent", значение: "false «} . Все работает, файл и созданные комнаты выглядят фактически как временные - они закрываются автоматически, когда последние участники покидают его.
Но у меня есть одна проблема - созданные не постоянные комнаты сохраняются в таблице muc_room , хотя это должен содержать только постоянную комнату (https://docs.ejabberd.im/developer/sql-schema/#table -mu c -room )
Например, у меня может быть комната со следующими параметрами в таблице muc_room :
[{allow_change_subj,true},
{allow_private_messages,true},
{allow_private_messages_from_visitors,anyone},
{allow_query_users,true},
{allow_subscription,false},
{allow_user_invites,false},
{allow_visitor_nickchange,true},
{allow_visitor_status,true},
{anonymous,true},
{captcha_protected,false},
{lang,<<>>},
{logging,false},
{mam,true},
{max_users,200},
{members_by_default,true},
{members_only,false},
{moderated,true},
{password,<<>>},
{password_protected,false},
======> {persistent,false},
{presence_broadcast,[moderator,participant,visitor]},
{public,true},
{public_list,true},
{title,<<>>}]
Основная проблема в том, что я перезагружаю всю свою непостоянную комнату при перезапуске моего сервера ejabberd.
Вопросы: 1) Почему постоянная комната, созданная с помощью ejabberd API, не хранится в таблице muc_room (возможно, какая-то ошибка)? 2) Как избежать воссоздания этой комнаты при перезапуске сервера ejabberd (кроме удаления его из БД: вручную или с помощью события mysql)?