HELPER EMBED BUILDER ИНФО-ПАНЕЛИ DISCORD MODALS / WEB SYNC / MANAGED LIBRARY / PREMIUM PANELS
Embed Builder превращает обычные сообщения Discord в premium-инфо-панели: правила, навигацию, объявления, FAQ, магазин, роли, ивенты и инструкции. Администратор выбирает канал, собирает embed через кнопки, видит live-preview и публикует готовую плашку без кода.
Что делает Embed Builder
Это визуальный редактор Discord embed-сообщений. Он нужен для правил, навигационных центров, объявлений, карточек сервера, витрин магазина, FAQ, описаний ролей и любых статичных информационных плашек.
Канал
Администратор выбирает, куда отправить или где отредактировать embed.
Live preview
Плашка меняется прямо в интерактивной Discord-панели.
Публикация
Готовое сообщение отправляется в Discord и сохраняется в базе.
Библиотека
Старые панели можно найти, удалить или открыть для редактирования.
Больше информации картинками
Показываем весь путь в виде интерфейсных картинок: выбор канала, live dashboard, modal, поля, web sync, библиотека и safe-disabled.
Команды Discord
Модуль работает через slash-команды. Доступ получают администраторы или роли из editor/staff/manager/allowed settings.
/embed_builderОткрывает выбор канала. После выбора HELPER показывает live dashboard с кнопками редактора.
/embed_builder channel:#rulesСразу открывает редактор для выбранного канала без дополнительного select-меню.
/embed_builder channel:#rules message_id:123456789Открывает существующее сообщение бота в режиме редактирования. Чужие сообщения не трогает.
/embed_listПоказывает последние 10 управляемых embed-сообщений сервера.
/embed_delete message_id:123456789Удаляет сообщение из Discord и из managed library, если оно принадлежит боту.
module_states.json → embed_builder:falseКоманды и старые кнопки показывают disabled-панель, опубликованные сообщения остаются.
Путь администратора без кода
/embed_builder
select или param
modals/buttons
live update
Discord msg
SQLite record
Сессия владельца
Если редактор открыл один администратор, другой не может нажимать его кнопки.
Права канала
Перед публикацией проверяются Send Messages и Embed Links.
Редактирование
Сохранять изменения можно только в сообщениях, которые отправил бот.
Инструменты редактора
Сайт → Discord
Embed Builder принимает задачи с сайта: опубликовать новый embed, отредактировать существующий или удалить управляемое сообщение. Cog каждые несколько секунд читает pending-задачи и очищает их после обработки.
Библиотека управляемых плашек
Каждая опубликованная или отредактированная панель сохраняется в SQLite. Это нужно, чтобы потом быстро найти сообщение и безопасно его редактировать.
same guildнельзя редактировать сообщение с другого сервера.bot authorнельзя редактировать чужие сообщения.library lookupесли канал не указан, cog ищет его в managed_embeds.delete cleanupесли сообщения уже нет, запись очищается из базы.Где это особенно красиво
Правила сервера
Структурные правила с баннером, цветом и полями вместо длинной стены текста.
Навигация новичка
Куда нажать, где пройти верификацию, как получить роли и где читать новости.
Витрина услуг
Цены, условия покупки, способы оплаты и контакты в одной premium-карточке.
Staff-инструкция
Правила работы команды, ссылки, обязанности и быстрые ответы для модераторов.
Ивенты
Описание события, время, награды, условия участия и яркий баннер.
Подписки и роли
Мини-лендинг внутри Discord: преимущества, уровни, бонусы и CTA.
Что помогает не сломать лимиты
titleдо 256 символов.descriptionдо 4000 символов.footerдо 2048 символов.fieldsдо 25 полей, name до 256, value до 1024.totalобщий лимит embed — до 6000 символов.private imageзакрытая ссылка на картинку не отобразится в Discord.too much text25 полей без структуры выглядят как мусор.foreign messageчужие сообщения специально нельзя редактировать.empty embedпустой embed без текста, картинки и полей не публикуется.Если модуль выключен
Отключение закрывает управление, но не удаляет опубликованные сообщения и библиотеку.
module_states.jsonхранит состояние embed_builder / info / embeds aliases.ProtectedViewпроверяет статус перед кнопками редактора.DisabledEmbedBuilderViewпоказывает понятную заблокированную кнопку.existing messagesстарые embed-панели остаются в Discord.Карта технической логики
data/embed_builder_settings.json — настройки сайта, pending_embeds, pending_deletes и sync-статусы.
data/embed_builder.db — SQLite библиотека управляемых сообщений.
site_sync_loop каждые 5 секунд читает pending-задачи и публикует/удаляет сообщения.
между web-задачами есть задержка, чтобы не спамить Discord API.
title / descтекст панелиcolorцвет линииimage / thumbбаннер и thumbnailauthor / footerмета-поляfieldsдо 25 блоковtarget_messageedit modemessage_idprimary key сообщения Discord.guild_id/channel_idпривязка к серверу и каналу.title/description/colorосновные данные embed.image/thumb/author/footerвизуальные и meta-поля.last_editedсортировка библиотеки.state = EmbedState.from_web(data)
ok, err = state.validate()
if message_id:
await msg.edit(embed=state.build())
else:
msg = await channel.send(embed=state.build())
await save_managed_embed(state, msg)Ошибки и решения
Кто может пользоваться Embed Builder?
Администраторы сервера и роли, указанные как editor/staff/manager/allowed roles в настройках.
Можно ли редактировать старые сообщения?
Да, если это сообщение бота. Можно указать канал и message_id или взять ID из библиотеки.
Почему картинка не показывается?
Ссылка должна быть публичной и начинаться с http:// или https://.
Можно ли сделать несколько embed-плашек?
Да. Каждая опубликованная панель сохраняется в managed_embeds, а сайт может отправлять пачку pending_embeds.
Можно ли редактировать чужое сообщение?
Нет. HELPER специально редактирует только свои сообщения, чтобы не сломать чужие публикации.
Что делать, если сайт не опубликовал embed?
Проверьте channel_id, права бота, валидность embed-лимитов и last_web_error в embed_builder_settings.json.