Перейти к содержимому

Шаблон правил сервера Discord: 5 готовых embed в JSON

Пять готовых шаблонов правил сервера Discord в JSON: нумерованный список, секции из нескольких embed, компактные поля, Components V2 и версия с верификацией.

5 мин чтения Доступно также на English
На этой странице

Правила сервера должны прочитать все, а редактировать — только вы. Публикация через вебхук решает обе задачи: вместо простыни текста от аккаунта модератора в канале появляется аккуратный embed, а переписать его потом можно одним PATCH-запросом, не теряя закреп и ссылку, которую участники уже сохранили.

Ниже — пять шаблонов правил сервера Discord в виде готового JSON для вебхука: подставьте ID каналов и ролей, отправьте POST на URL вебхука — и всё. После шаблонов — короткие рекомендации по формулировкам, команды для отправки, закрепления и обновления, а также ошибки, которые обычно вылезают с первой попытки.

Каким должен быть embed с правилами

Шаблон отвечает только за внешний вид. За то, будут ли правила читать и соблюдать, отвечают три свойства:

  • Коротко. Одна строка на правило, около десяти слов. Если правилу нужны три абзаца — это уже политика: дайте на неё ссылку из embed, а здесь оставьте одну строку.
  • В позитивной формулировке, где это возможно. «В #general пишем по-русски» читается лучше, чем «Запрещено писать не по-русски». Прямые запреты оставьте для того, что действительно запрещено: травля, NSFW, доксинг.
  • Проверяемо. Модератор должен иметь возможность ткнуть в правило и применить его. «Будьте добрее» проверить нельзя, «Никаких оскорблений, травли и дискриминации» — можно. Нумеруйте правила, чтобы в предупреждении можно было написать «правило 3».

Ещё две детали работают лучше, чем кажется: строка о последствиях (предупреждение, мут, бан) и футер с timestamp, чтобы участники видели, когда правила менялись в последний раз. Все пять шаблонов включают и то и другое.

Шаблон 1: нумерованные правила в одном embed

Вариант по умолчанию: один embed, нумерованные правила в description, последствия в конце. Лимит описания — 4096 символов, этого хватает на восемь-десять правил.

{
  "username": "Правила сервера",
  "embeds": [
    {
      "title": "📜 Правила сервера",
      "description": "Прочитайте один раз, соблюдайте всегда.\n\n**1. Уважайте участников.** Никаких оскорблений, травли, дискриминации и переходов на личности.\n**2. Только SFW-контент.** Никакого NSFW и шок-контента, включая аватары и ники.\n**3. Без спама и саморекламы.** Реклама, инвайты и реферальные ссылки — только в <#PROMO_CHANNEL_ID>.\n**4. Пишите в подходящий канал.** Прочитайте описание канала перед отправкой.\n**5. Без доксинга.** Личные данные — свои и чужие — не публикуем.\n**6. Действуют [Условия использования](https://discord.com/terms) и [Правила сообщества](https://discord.com/guidelines) Discord.**\n\nПредупреждение → мут → бан. Вопросы — в <#SUPPORT_CHANNEL_ID>.",
      "color": 5793266,
      "footer": { "text": "Обновлено" },
      "timestamp": "2026-09-17T12:00:00.000Z"
    }
  ],
  "allowed_mentions": { "parse": [] }
}

Упоминания каналов вида <#PROMO_CHANNEL_ID> внутри embed превращаются в кликабельные ссылки. Упоминания внутри embed никого не уведомляют; allowed_mentions: { "parse": [] } гарантирует то же самое для всего, что вы потом положите в content или в текстовый блок Components V2. Хотите цвет не blurple (5793266)? Загляните в справочник цветов.

Шаблон 2: секции из нескольких embed

На больших серверах правила делят по зонам: чат, голос, маркет, модерация. По одному embed на секцию — каждый блок читается отдельно, и его можно покрасить в свой цвет. В одном сообщении может быть до 10 embed и не больше 6000 символов суммарно по всем.

{
  "embeds": [
    {
      "title": "📜 Правила сервера",
      "description": "Шесть правил в трёх секциях. Действуют во всех каналах, голосовых комнатах и в личных сообщениях между участниками.",
      "color": 5793266
    },
    {
      "title": "💬 Текстовые каналы",
      "description": "**1. Уважайте участников.** Никаких оскорблений, травли и переходов на личности.\n**2. Пишите по теме.** Оффтоп — в <#OFFTOPIC_CHANNEL_ID>.\n**3. Без спама и рекламы.** Продвижение только в <#PROMO_CHANNEL_ID>.",
      "color": 5763719
    },
    {
      "title": "🎙️ Голос и медиа",
      "description": "**4. Никакого earrape, саундбордов и музыкальных ботов** вне <#MUSIC_CHANNEL_ID>.\n**5. Стримы и картинки — только SFW.** Аватары и баннеры тоже.",
      "color": 16705372
    },
    {
      "title": "🛡️ Модерация",
      "description": "**6. Решения модераторов в чате не обсуждаются.** Не согласны — откройте тикет в <#SUPPORT_CHANNEL_ID>.\n\nПредупреждение → мут на 24 ч → бан. За серьёзные нарушения — сразу бан.",
      "color": 15548997,
      "footer": { "text": "Обновлено" },
      "timestamp": "2026-09-17T12:00:00.000Z"
    }
  ],
  "allowed_mentions": { "parse": [] }
}

Нумерация намеренно сквозная: «правило 4» должно означать одно и то же на всём сервере.

Шаблон 3: компактные правила на полях

Поля дают каждому правилу жирный заголовок и пояснение под ним — на телефоне это читается лучше всего. Одно поле на правило, inline: false, чтобы они шли столбиком. Лимиты: 25 полей, имя до 256 символов, значение до 1024.

{
  "embeds": [
    {
      "title": "Правила",
      "description": "Краткая версия. Полные политики — в <#POLICIES_CHANNEL_ID>.",
      "color": 5793266,
      "fields": [
        {
          "name": "1. Уважение ко всем",
          "value": "Никаких оскорблений, травли, дискриминации и переходов на личности.",
          "inline": false
        },
        {
          "name": "2. Только SFW",
          "value": "Никакого NSFW и шок-контента в сообщениях, аватарах и никах.",
          "inline": false
        },
        {
          "name": "3. Без спама и саморекламы",
          "value": "Инвайты, реферальные ссылки и реклама — в <#PROMO_CHANNEL_ID>.",
          "inline": false
        },
        {
          "name": "4. Нужный канал, нужная тема",
          "value": "Прочитайте описание канала перед отправкой.",
          "inline": false
        },
        {
          "name": "5. Действуют правила Discord",
          "value": "Что нарушает [Условия Discord](https://discord.com/terms), нарушает и наши.",
          "inline": false
        },
        {
          "name": "Последствия",
          "value": "Предупреждение → мут → бан. За серьёзные нарушения шаги пропускаются.",
          "inline": false
        }
      ],
      "footer": { "text": "Обновлено" },
      "timestamp": "2026-09-17T12:00:00.000Z"
    }
  ],
  "allowed_mentions": { "parse": [] }
}

Шаблон 4: версия на Components V2

Components V2 заменяет embed контейнером из текстовых блоков, разделителей и кнопок-ссылок: настоящие линии между секциями и кнопка на страницу с полными правилами. В запросе меняются две вещи: flags: 32768 без content и embeds, плюс ?with_components=true в URL вебхука. Обычный вебхук отправит такой payload без проблем, потому что в нём только кнопки-ссылки (style: 5).

{
  "flags": 32768,
  "components": [
    {
      "type": 17,
      "accent_color": 5793266,
      "components": [
        { "type": 10, "content": "## 📜 Правила сервера\nПрочитайте один раз, соблюдайте всегда." },
        { "type": 14, "divider": true, "spacing": 2 },
        {
          "type": 10,
          "content": "**1. Уважайте участников.** Никаких оскорблений, травли и переходов на личности.\n**2. Только SFW-контент.** Аватары и ники тоже.\n**3. Без спама и саморекламы** вне <#PROMO_CHANNEL_ID>."
        },
        { "type": 14, "divider": true, "spacing": 1 },
        {
          "type": 10,
          "content": "**4. Пишите в подходящий канал.** Сначала прочитайте описание.\n**5. Без доксинга.** Личные данные не публикуем.\n**6. Правила Discord действуют везде.**"
        },
        { "type": 14, "divider": true, "spacing": 2 },
        { "type": 10, "content": "*Предупреждение → мут → бан. Обновлено <t:1789646400:D>.*" },
        {
          "type": 1,
          "components": [
            {
              "type": 2,
              "style": 5,
              "label": "Полные правила",
              "url": "https://example.com/policies"
            },
            {
              "type": 2,
              "style": 5,
              "label": "Правила Discord",
              "url": "https://discord.com/guidelines"
            }
          ]
        }
      ]
    }
  ],
  "allowed_mentions": { "parse": [] }
}

Текстовые блоки понимают ту же разметку, что и обычные сообщения, поэтому ## рендерится как настоящий заголовок, а <t:1789646400:D> показывает дату в часовом поясе читателя (подставьте свой Unix-timestamp). Остальные типы компонентов разобраны в гайде по Components V2.

Шаблон 5: правила плюс блок верификации

Многие серверы закрывают остальные каналы до тех пор, пока участник не прочитает правила и не поставит реакцию или не нажмёт кнопку. Вебхук может опубликовать такое сообщение, но выдать роль не может: вебхуки только отправляют. За сообщением должен следить кто-то ещё — бот реакций-ролей, который у вас уже стоит, или интерактивная кнопка через бот-интеграцию discord-webhook.com. Payload в обоих случаях одинаковый:

{
  "embeds": [
    {
      "title": "📜 Правила сервера",
      "description": "**1. Уважайте участников.** Никаких оскорблений, травли и переходов на личности.\n**2. Только SFW-контент.** Аватары и ники тоже.\n**3. Без спама и саморекламы** вне <#PROMO_CHANNEL_ID>.\n**4. Правила Discord действуют везде.**\n\nПредупреждение → мут → бан.",
      "color": 5793266
    },
    {
      "title": "✅ Пройдите верификацию",
      "description": "Поставьте реакцию ✅ на это сообщение, чтобы подтвердить, что прочитали правила. После верификации вы получите роль <@&MEMBER_ROLE_ID>, откроются <#GENERAL_CHANNEL_ID> и остальные каналы.\n\nЧерез минуту ничего не произошло? Напишите в <#SUPPORT_CHANNEL_ID>.",
      "color": 5763719,
      "footer": { "text": "Обновлено" },
      "timestamp": "2026-09-17T12:00:00.000Z"
    }
  ],
  "allowed_mentions": { "parse": [] }
}

<@&MEMBER_ROLE_ID> отобразится как упоминание роли; внутри embed оно никого не пингует, а пустой allowed_mentions сохранит это, если перенести его в content. Этот шаблон отправляйте с ?wait=true (следующий раздел): боту реакций-ролей нужен ID сообщения, за которым следить. Если вместо реакции хочется кнопку, смотрите статью про интерактивные кнопки с действиями.

Отправка, закрепление и обновление через PATCH

Любой шаблон — это обычный POST. Добавьте ?wait=true, чтобы Discord вернул созданное сообщение вместо пустого 204: его id понадобится для редактирования и для бота реакций-ролей из шаблона 5:

WEBHOOK="https://discord.com/api/webhooks/YOUR_ID/YOUR_TOKEN"

curl -s -H "Content-Type: application/json" \
     -d @rules.json \
     "$WEBHOOK?wait=true" | jq -r '.id'

Для шаблона на Components V2 URL превращается в "$WEBHOOK?wait=true&with_components=true".

Закрепление. Эндпоинты вебхука не умеют закреплять. Закрепите сообщение один раз вручную (меню сообщения → «Закрепить») или ботом с правом «Управлять сообщениями». PATCH сохраняет ID сообщения, так что закреп переживёт любые правки.

Обновление. Отредактируйте JSON, обновите timestamp и отправьте ту же структуру методом PATCH на URL сообщения:

MESSAGE_ID="123456789012345678"

curl -s -X PATCH -H "Content-Type: application/json" \
     -d @rules.json \
     "$WEBHOOK/messages/$MESSAGE_ID"

PATCH заменяет переданные поля целиком: embeds заменяет все embed сразу, поэтому всегда отправляйте полный payload, а не только изменённый блок. Для сообщения на Components V2 добавьте ?with_components=true и к PATCH-запросу. ID сообщения сохраните где-нибудь под рукой; GET и DELETE на том же URL описаны в гайде по редактированию и удалению.

Частые ошибки

400 с embeds.0.description в теле ответа. Описание превысило 4096 символов. Вынесите секцию во второй embed (шаблон 2) или в поля (шаблон 3). На всё сообщение действует общий лимит 6000 символов по всем embed; длинный свод правил лучше положить в документ по ссылке.

400 на шаблоне Components V2. Либо нет flags: 32768, либо в URL нет ?with_components=true, либо в теле остались content/embeds. Должны выполняться все три условия.

Упоминание роли пингует всех её участников. Пингует ли <@&ROLE_ID>, решает allowed_mentions. Упоминания внутри embed никого не уведомляют, а то же упоминание в content или в текстовом блоке Components V2 — уведомляет. В шаблонах стоит "parse": []; оставьте его и в JSON для PATCH: Discord заново разбирает упоминания при каждом редактировании.

В закрепе всё ещё старый текст. Вы отправили новое сообщение POST-ом вместо PATCH старого. Удалите дубль (DELETE на его URL) и обновите оригинал.

{"message":"Unknown Webhook","code":10015}. Вебхук удалён или URL неверный. Создайте его заново в «Настройки сервера → Интеграции → Вебхуки» и опубликуйте правила ещё раз: новый вебхук не может редактировать старое сообщение.

FAQ

Может ли вебхук выдать роль за реакцию на правила?

Нет. Вебхук умеет только отправлять, редактировать и удалять сообщения. Выдача роли по реакции или кнопке требует бота: либо бота реакций-ролей, которому указан ID сообщения, либо интерактивной кнопки через бот-интеграцию, например на discord-webhook.com.

Как обновить правила, не публикуя их заново?

Отправьте полный JSON ещё раз запросом PATCH https://discord.com/api/webhooks/{id}/{token}/messages/{message_id}. Сообщение сохранит ID, закреп и ссылку. ID получите, отправив первый POST с ?wait=true.

Можно ли пингануть @everyone сообщением с правилами?

Да, если это разрешает allowed_mentions, например { "parse": ["everyone"] } и @everyone в content. Для сообщения, которое вы будете редактировать, оставьте "parse": [] и в JSON для PATCH, чтобы правила никогда не пинганули весь сервер случайно.

Какая максимальная длина embed с правилами?

4096 символов на описание, 1024 на значение поля, 25 полей, 10 embed и 6000 символов суммарно по всем embed одного сообщения. Всё, что длиннее, — в документ по ссылке.

Что дальше

Выберите шаблон под размер сервера, подставьте ID вместо заглушек и отправьте с ?wait=true, чтобы потом обновлять через PATCH. Подправить формулировки и цвета с живым предпросмотром можно в конструкторе Discord Webhook: вставьте любой payload и экспортируйте обратно в JSON или код.

Теги: правила сервера discordшаблон правил discorddiscord rules templatediscord server rules embedembedcomponents v2вебхук discorddiscord webhook

Похожие статьи

Все статьи

Соберите это в визуальном редакторе

Embed, Components V2, кнопки и опросы с живым предпросмотром Discord. Бесплатно, без регистрации.