HELPER Discord Bot
К списку Wiki
HELP CORE // SMART NAVIGATOR // PERMISSION FILTER

HELPER HELP CENTER СПРАВОЧНИК /HELP / MODULE REGISTRY / OWNER SAFE / DASHBOARD SYNC

Help Center превращает хаос slash-команд в понятный интерактивный справочник. Пользователь вводит /help, получает приватную карточку, выбирает раздел в select-меню и видит только те команды, которые доступны ему на этом сервере: без выключенных модулей, без owner-only инструментов и без лишнего шума.

60scache ttl
25select options
10ssite sync loop
Safeowner-only hidden
Private/help отвечает ephemeral
Registryразделы берутся из MODULE_MAPPING
Permissionsкоманды фильтруются по правам
Owner safeлицензии и backup скрыты
Cacheбыстрый справочник на 60 секунд

Что делает Help Center

Это умный справочник по HELPER. Он не хранит команды как статичный список, а собирает их из реально загруженных cogs, сверяет с реестром модулей, проверяет состояние в module_states.json и показывает пользователю только доступные разделы.

01

Открыть /help

Пользователь вызывает команду, а бот отвечает приватной карточкой.

02

Проверить доступ

HELPER скрывает выключенные модули и команды без прав.

03

Выбрать раздел

Select-меню показывает категории: магазин, тикеты, заявки, события и другие.

04

Открыть команды

Плашка заменяется на список команд выбранного модуля и путь к Dashboard.

Больше информации картинками

Ниже показан полный путь: ввод команды, главная карточка, выбор раздела, карточка конкретного модуля, пустое меню при отсутствии доступа, обновление и disabled-state.

01 / commandПользователь вводит /help
💬
slash command/help

🧭 Открываю справочник

Ответ будет приватным: его видит только пользователь, который вызвал команду.

ephemeral response
02 / main cardГлавная карточка
🧭
HELPER HELPЦентр управления

🌐 ЦЕНТР УПРАВЛЕНИЯ HELPER

Выберите раздел ниже, чтобы увидеть команды и ссылку на настройки сайта.

HELP CENTER BANNER
Выберите раздел справочника...
03 / select menuРазделы меню
available modulesmax 25
🛒 Экономика и Магазинshop / economy
on
🎫 Центр Поддержкиtickets / ticket
on
🎁 Розыгрышиgiveaways / giveaway
select
🔒 Backupowner-only hidden
hidden
04 / module cardКарточка раздела
🎁
selected categoryРозыгрыши

🎁 РОЗЫГРЫШИ

Создание розыгрышей, участие, итоги и reroll победителей.

/giveaway_setupпоставить панель розыгрышей.
/giveaway_deployобновить панель.
/giveaway_endзавершить активный розыгрыш.
05 / refreshОбновить справочник

🔄 Данные обновлены

Кнопка “Обновить” сбрасывает кэш пользователя и заново собирает доступные команды.

🏠 На главную
🔄 Обновить
Готово
06 / no accessНет доступных разделов

🚫 Нет доступных разделов

Такой вариант появляется, если все команды скрыты правами, выключены или недоступны пользователю.

🚫 НЕТ ДОСТУПНЫХ РАЗДЕЛОВ

Команда Discord

У модуля одна главная пользовательская команда. Вся навигация дальше идёт через select-меню и кнопки.

main command/help
/help

Открывает приватный справочник HELPER с доступными разделами, статистикой команд, баннером и ссылками на Dashboard.

buttonsНавигация внутри меню
Home button → главная карточка Refresh button → сброс кэша пользователя Category select → карточка выбранного модуля

Меню привязано к автору команды: другой пользователь не может нажимать чужие кнопки.

Путь /help от команды до раздела

1/help

команда

2States

module_states

3Cogs

loaded modules

4Perms

доступ

5Select

разделы

6Module

команды

A

Кэш 60 секунд

Один и тот же пользователь не заставляет бота пересобирать весь справочник на каждый клик.

B

Hash states

Если module_states изменился, кэш считается устаревшим и справочник пересобирается.

C

Owner-safe

Неизвестные cogs и owner-only разделы показываются только владельцу бота.

Что видит обычный пользователь

playerПростой путь

Я не знаю команд

Пользователь вводит /help, выбирает “Магазин”, “Тикеты”, “Розыгрыши” или другой нужный раздел и сразу видит команды с описаниями.

select category → command list
private menuНе засоряет канал

Ephemeral

Карточка справочника видна только вызвавшему пользователю. Общий чат остаётся чистым.

visible only to you

Что получает администратор

01

Больше команд

Если команда требует permissions, администратор увидит её, а обычный пользователь — нет.

02

Путь на сайт

В карточке модуля показывается путь Dashboard для настройки этого раздела.

03

Актуальность

Кнопка “Обновить” помогает быстро пересобрать меню после изменения прав или модулей.

04

Безопасность

Owner-only команды, лицензии и backup не раскрываются клиентским администраторам.

Разделы в меню Help

Справочник собирается из MODULE_MAPPING: у каждого cog есть красивое имя, описание, путь сайта и state_keys для включения/выключения.

SHOP

Экономика и Магазин

Баланс, магазин, покупки, личные дела и выдача наград.

WELCOME

Верификация

Приветствие новичков, правила и выдача роли.

TICKETS

Центр поддержки

Тикеты, приватные каналы и transcript.

GIVEAWAYS

Розыгрыши

Создание призов, участие, итоги и reroll.

APPLICATIONS

Заявки

Анкеты, проверка, обзвоны и архив решений.

REPORTS

Рабочие отчёты

Отчёты сотрудников, проверка и начисление баллов.

LEADERS

Доска почёта

Топ игроков по балансу и репутации.

ROOMS

Приватные комнаты

Личные voice-комнаты и управление владельцем.

KARMA

Социальная карма

Репутация, ранги, скидки и синхронизация ролей.

EVENTS

Сборы и мероприятия

Афиши, роли участников, запись и закрытие событий.

BANNERS

Визуальное ядро

Централизованные баннеры всех модулей.

FORMS

Движок форм

Кастомные формы и анкеты с отдельными логами.

STATS

Живая статистика

Сводка активности, экономики, тикетов и событий.

EMBEDS

Дизайн-студия

Создание и редактирование Discord embed-панелей.

SETUP

Авто-настройка

Первичная застройка сервера каналами, ролями и панелями.

OWNER SAFE

Owner-only скрыты

Лицензии, backup и неизвестные служебные cogs не видны клиентам.

Настройка на сайте

Сайт меняет внешний вид главной карточки /help через data/help_settings.json. После сохранения ставится deploy_requested, а cog очищает кэш.

dashboard formПоля Help
custom_titleзаголовок главной карточки справочника.
custom_descriptionописание под заголовком.
custom_bannerбаннер Help или fallback из Visual Core.
custom_colorцвет embed-линии.
custom_footerнижняя подпись карточки.
deploy_requestedфлаг для сброса кэша после сохранения.
json previewhelp_settings.json
data/help_settings.json
{ "123456789": { "custom_title": "🌐 Центр управления HELPER", "custom_description": "Выберите раздел ниже...", "custom_banner": "https://cdn.server/help.png", "custom_color": 2290943, "custom_footer": "Helper • Справочник команд", "deploy_requested": true } }
site syncЧто делает bot

site_sync_loop

Каждые 10 секунд cog проверяет deploy_requested, сбрасывает кэш сервера и пишет last_deploy_at.

invalidate_cache(guild_id)
banner priorityБаннер Help
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, команда не падает ошибкой: пользователь получает аккуратную красную карточку.

disabled embedЧто видит пользователь
🔌
safe stateСправочник отключён

🔌 МОДУЛЬ СПРАВОЧНИКА ОТКЛЮЧЁН

Администратор отключил справочник на сайте. Для возобновления включите модуль Help в панели управления.

🔌 СПРАВОЧНИК ОБЕСТОЧЕН
safe stateЧто сохраняется
help_settings.jsonвизуальные настройки не удаляются.
module_states.jsonтолько переключает доступность модуля.
DisabledHelpViewпоказывает заблокированную кнопку.
cacheпосле включения справочник снова собирает актуальные команды.

Карта технической логики

filesФайлы и кэш
HELP_SETTINGS_FILE

data/help_settings.json — визуальные настройки справочника.

MODULES_FILE

data/module_states.json — включение/выключение модулей.

HELP_CACHE_TTL_SECONDS

кэш справочника на 60 секунд для пары guild/user/owner_flag.

site_sync_loop

сбрасывает кэш сервера при deploy_requested.

registryMODULE_MAPPING
🏷️
nameкрасивое имя
📝
descописание раздела
🌐
panel_slugпуть сайта
🔌
state_keysключи состояния
👑
owner_onlyскрыть клиенту
👻
hidden_aliasне дублировать
generationКак собираются команды
_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.
viewsUI элементы
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 привязан к автору команды, чтобы один пользователь не управлял чужим приватным меню.

// WIKI_NAVIGATION

Вернуться к списку Wiki

Ты дошёл до конца страницы Help Center. Можно вернуться в общий центр документации, открыть Dashboard или подняться наверх к началу этой страницы.