HELPER Discord Bot
← Назад к ленте изменений
02.06.2026 Модули Внедрено

Добавлен модуль «Роли за реакции»

Новый модуль создаёт Discord-плашки, где emoji выдаёт роль, а управление доступно через сайт и Discord admin-меню.

В HELPER добавлен полноценный модуль Reaction Roles: loader-cog в общей архитектуре, пакет cogs/reaction_roles, сайт-панель, persistent view, реакции, выдача и снятие ролей, сохранение message_id и защита от дублей.

Что умеет модуль

Роли за реакции закрывают базовую задачу Discord-сервера: дать пользователю самому получить нужный доступ без участия staff.

  • Создание нескольких плашек emoji → роль.
  • Публикация embed-сообщения в выбранный канал.
  • Редактирование старой плашки по message_id без дублей.
  • Выдача роли при добавлении реакции.
  • Снятие роли при удалении реакции, если это разрешено настройкой плашки.
  • Discord-кнопка ⚙ Управление для администраторов.

Архитектура

Модуль сделан по той же логике, что и остальные core-модули HELPER: loader-файл активирует папку, настройки лежат в JSON, сайт ставит deploy_requested, а cog синхронизирует Discord.

  • cogs/reaction_roles_cog.py — loader.
  • cogs/reaction_roles/cog.py — основной Cog и sync-loop.
  • settings.py / json_store.py — нормализация и atomic save.
  • embeds.py / views.py / modals.py — Discord UI.
  • module_reaction_roles.html — сайт-панель управления.

Файлы

cogs/reaction_roles_cog.pyloader, который активирует пакет модуля
cogs/reaction_roles/основная логика Reaction Roles
web/templates/modules/module_reaction_roles.htmlстраница управления на сайте
data/reaction_roles_settings.jsonнастройки плашек по серверам

Проверки

  • Cog загружается и пишет reaction_roles_ready.
  • /rolepanel открывает админ-меню.
  • Сайт сохраняет systems_json.
  • Пользователь получает роль при реакции.
  • Повторное снятие зависит от режима плашки.