HELPER HELP CENTER СПРАВОЧНИК /HELP / MODULE REGISTRY / OWNER SAFE / DASHBOARD SYNC
Help Center превращает хаос slash-команд в понятный интерактивный справочник. Пользователь вводит /help, получает приватную карточку, выбирает раздел в select-меню и видит только те команды, которые доступны ему на этом сервере: без выключенных модулей, без owner-only инструментов и без лишнего шума.
Что делает Help Center
Это умный справочник по HELPER. Он не хранит команды как статичный список, а собирает их из реально загруженных cogs, сверяет с реестром модулей, проверяет состояние в module_states.json и показывает пользователю только доступные разделы.
Открыть /help
Пользователь вызывает команду, а бот отвечает приватной карточкой.
Проверить доступ
HELPER скрывает выключенные модули и команды без прав.
Выбрать раздел
Select-меню показывает категории: магазин, тикеты, заявки, события и другие.
Открыть команды
Плашка заменяется на список команд выбранного модуля и путь к Dashboard.
Больше информации картинками
Ниже показан полный путь: ввод команды, главная карточка, выбор раздела, карточка конкретного модуля, пустое меню при отсутствии доступа, обновление и disabled-state.
Команда Discord
У модуля одна главная пользовательская команда. Вся навигация дальше идёт через select-меню и кнопки.
/helpОткрывает приватный справочник HELPER с доступными разделами, статистикой команд, баннером и ссылками на Dashboard.
Home button → главная карточка
Refresh button → сброс кэша пользователя
Category select → карточка выбранного модуляМеню привязано к автору команды: другой пользователь не может нажимать чужие кнопки.
Путь /help от команды до раздела
команда
module_states
loaded modules
доступ
разделы
команды
Кэш 60 секунд
Один и тот же пользователь не заставляет бота пересобирать весь справочник на каждый клик.
Hash states
Если module_states изменился, кэш считается устаревшим и справочник пересобирается.
Owner-safe
Неизвестные cogs и owner-only разделы показываются только владельцу бота.
Что видит обычный пользователь
Что получает администратор
Больше команд
Если команда требует permissions, администратор увидит её, а обычный пользователь — нет.
Путь на сайт
В карточке модуля показывается путь Dashboard для настройки этого раздела.
Актуальность
Кнопка “Обновить” помогает быстро пересобрать меню после изменения прав или модулей.
Безопасность
Owner-only команды, лицензии и backup не раскрываются клиентским администраторам.
Разделы в меню Help
Справочник собирается из MODULE_MAPPING: у каждого cog есть красивое имя, описание, путь сайта и state_keys для включения/выключения.
Экономика и Магазин
Баланс, магазин, покупки, личные дела и выдача наград.
Верификация
Приветствие новичков, правила и выдача роли.
Центр поддержки
Тикеты, приватные каналы и transcript.
Розыгрыши
Создание призов, участие, итоги и reroll.
Заявки
Анкеты, проверка, обзвоны и архив решений.
Рабочие отчёты
Отчёты сотрудников, проверка и начисление баллов.
Доска почёта
Топ игроков по балансу и репутации.
Приватные комнаты
Личные voice-комнаты и управление владельцем.
Социальная карма
Репутация, ранги, скидки и синхронизация ролей.
Сборы и мероприятия
Афиши, роли участников, запись и закрытие событий.
Визуальное ядро
Централизованные баннеры всех модулей.
Движок форм
Кастомные формы и анкеты с отдельными логами.
Живая статистика
Сводка активности, экономики, тикетов и событий.
Дизайн-студия
Создание и редактирование Discord embed-панелей.
Авто-настройка
Первичная застройка сервера каналами, ролями и панелями.
Owner-only скрыты
Лицензии, backup и неизвестные служебные cogs не видны клиентам.
Настройка на сайте
Сайт меняет внешний вид главной карточки /help через data/help_settings.json. После сохранения ставится deploy_requested, а cog очищает кэш.
custom_titleзаголовок главной карточки справочника.custom_descriptionописание под заголовком.custom_bannerбаннер Help или fallback из Visual Core.custom_colorцвет embed-линии.custom_footerнижняя подпись карточки.deploy_requestedфлаг для сброса кэша после сохранения.custom_bannerпервый приоритет из настроек Help.Visual Coreесли custom_banner пустой, берётся key help.DEFAULT_HELP_BANNERпоследний fallback, если ничего не задано.Права и безопасность
Обычный пользователь
Видит только включённые клиентские модули и команды, доступные его правам.
Администратор сервера
Видит команды, где его permissions проходят default_member_permissions.
Owner бота
Видит owner-only разделы, неизвестные cogs и служебные команды проекта.
Главная идея безопасности
Help не должен раскрывать клиенту то, чего он не должен видеть. Поэтому owner-only модули и неизвестные cogs скрываются от обычных покупателей.
Если модуль выключен
Когда Help выключен через module_states.json, команда не падает ошибкой: пользователь получает аккуратную красную карточку.
help_settings.jsonвизуальные настройки не удаляются.module_states.jsonтолько переключает доступность модуля.DisabledHelpViewпоказывает заблокированную кнопку.cacheпосле включения справочник снова собирает актуальные команды.Карта технической логики
data/help_settings.json — визуальные настройки справочника.
data/module_states.json — включение/выключение модулей.
кэш справочника на 60 секунд для пары guild/user/owner_flag.
сбрасывает кэш сервера при deploy_requested.
nameкрасивое имяdescописание разделаpanel_slugпуть сайтаstate_keysключи состоянияowner_onlyскрыть клиентуhidden_aliasне дублировать_ordered_loaded_cogsберёт cogs в порядке MODULE_MAPPING._walk_command_signaturesразворачивает slash-команды и subcommands._can_run_commandпроверяет owner-only, guild_ids и permissions._generate_help_dataсоздаёт help_dict, stats и ordered_names.HelpViewглавная view с select, home и refresh.HelpCategorySelectselect-меню категорий до 25 options.DisabledHelpViewdisabled-кнопка, когда модуль выключен.interaction_checkменю привязано к автору команды.Ошибки и решения
Почему в /help нет какого-то модуля?
Он может быть выключен в module_states.json, не загружен в bot.cogs или скрыт правами пользователя.
Почему владелец видит больше разделов?
Owner бота видит служебные owner-only модули и неизвестные cogs. Клиентам они специально не показываются.
Почему изменения сайта не появились мгновенно?
Help использует кэш. После deploy_requested site_sync_loop сбрасывает его, и следующий /help будет свежим.
Можно ли поменять баннер Help?
Да. Баннер берётся из custom_banner, затем из Visual Core по ключу help, затем из DEFAULT_HELP_BANNER.
Зачем кнопка “Обновить”?
Она пересобирает меню вручную, если только что поменялись права, статусы модулей или список команд.
Почему другой человек не может нажимать моё меню?
HelpView привязан к автору команды, чтобы один пользователь не управлял чужим приватным меню.