Мой сервер ejabberd использует базу данных mysql в качестве внешнего хранилища, и я использую метод /create_room_with_opts API ejabberd для создания своих комнат с опцией: {name: "persistent", value: "false"} эм>. Все работает файлом, а созданные комнаты выглядят фактически как временные - они автоматически закрываются, когда из нее выходят последние участники.
Но у меня есть одна проблема - созданные непостоянные комнаты сохраняются в таблице muc_room, хотя она должна содержать только постоянную комнату (https://docs.ejabberd.im/developer/sql-схема/#table-muc-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) Почему постоянные комнаты, созданные с помощью API ejabberd, не сохраняются в таблице muc_room (возможно, какая-то ошибка)? 2) Как избежать повторного создания этой комнаты при перезапуске сервера ejabberd (кроме удаления из БД: вручную или с помощью события mysql)?