Глобальный тумблер ролей за реакции синхронизирован с Discord
Карточка модуля теперь корректно включает и выключает систему, а cog обновляет Discord-плашку в закрытый режим.
Исправлена связка web toggle → module_states.json → deploy_requested → reaction_roles cog. Если владелец выключает модуль на странице сервера, публичная ролевая плашка больше не остаётся активной: бот пересинхронизирует сообщение и прекращает выдачу ролей.
Что исправлено
Раньше карточка на сайте могла менять визуальное состояние на «обесточено», но Discord-плашка не всегда обновлялась. Теперь общий тумблер сбрасывает ошибки деплоя и принудительно отправляет модуль на синхронизацию.
- Добавлены alias-ключи reaction_roles / reaction-roles / role_panels / roles.
- Исправлена ошибка `reaction_roles : Unknown module`.
- После toggle сбрасываются deploy_attempts и last_deploy_error.
- Cog читает module_states.json в правильном порядке и не даёт старым alias перебить reaction_roles.
- При выключенном модуле реакции больше не выдают роли.
Поведение после фикса
Общий тумблер теперь работает как у других модулей HELPER: выключение с сайта переводит систему в закрытый режим, а включение возвращает рабочую плашку.
- Карточка на сайте меняет статус.
- reaction_roles_settings.json получает deploy_requested.
- site_sync_loop обновляет старое Discord-сообщение по message_id.
- Плашка не плодит дубли.
Файлы
web/web_server.pyMODULE_ALIASES, STATE_COMPAT_ALIASES и mark_deploy_requestedcogs/reaction_roles/cog.pysite_sync_loop и deploy Discord-плашкиcogs/reaction_roles/utils.pyпроверка общего состояния модуляcogs/reaction_roles/embeds.pyзакрытый вид плашки при выключенном модулеПроверки
- При выключении модуля больше нет Unknown module.
- В логах появляется module_toggle для reaction_roles.
- Discord-плашка обновляется без создания дубля.
- Реакции не выдают роли при выключенном модуле.