Зачем нужен Discord-вебхук?

Твой сервер сообщает сам — в Discord, где и так сидит твоё сообщество: запуск не удался, сервер упал, бэкап не удался или ресурсы заканчиваются приходят сообщением в выбранный тобой канал, и тебе не нужно постоянно смотреть в дашборд.

Вебхук — самый простой способ для этого: без бота, без приглашения, без управления правами. Ты создаёшь в Discord адрес ровно для одного канала, сохраняешь его у нас — готово. Весь процесс занимает примерно две минуты.

Что тебе нужно

  • Discord-сервер, на котором у тебя есть право «Управлять вебхуками». На своём сервере оно есть автоматически; на чужом нужно попросить администратора или администраторку.
  • Канал, в котором должны появляться уведомления. Отдельный канал, например #server-status, обычно нагляднее, чем отправлять уведомления в основной чат.
  • Твой игровой сервер у game-serverhosting — настройка выполняется в панели сервера в разделе «Уведомления».

Часть 1: создать вебхук в Discord

Шаг 1: открыть настройки канала

Наведи курсор на нужный канал в списке каналов. Справа от названия появится шестерёнка («Редактировать канал») — нажми на неё.

Заголовок канала #testhooks в Discord: справа от названия канала находится значок шестерёнки для настроек канала
Заголовок канала #testhooks в Discord: справа от названия канала находится значок шестерёнки для настроек канала

Шаг 2: открыть интеграции и создать вебхук

В настройках канала слева перейди в «Интеграции». Там ты найдёшь карточку «WebHooks» и рядом кнопку «Создать WebHook». Если у канала уже есть вебхуки, кнопка сверху называется «Новый WebHook».

Настройки канала Discord, раздел интеграций: карточка WebHooks с кнопкой создания WebHook
Настройки канала Discord, раздел интеграций: карточка WebHooks с кнопкой создания WebHook

Шаг 3: задать имя и скопировать URL

Discord сразу создаёт вебхук — по умолчанию со случайным именем. Ты можешь свободно переименовать его, например в Статус сервера; это имя позже будет отображаться как отправитель сообщений. Проверь в поле «Канал», действительно ли указан нужный канал.

Затем нажми «Скопировать URL WebHook». Теперь URL находится в твоём буфере обмена.

Подробный вид вебхука в Discord с полями имени и канала, а также кнопкой копирования URL WebHook
Подробный вид вебхука в Discord с полями имени и канала, а также кнопкой копирования URL WebHook

Этот URL — пароль. Тот, у кого он есть, может писать в твой канал без входа в аккаунт. Не публикуй его нигде — ни в чате, ни на скриншоте, ни в тикете. Если он всё же утёк, удали вебхук в Discord («Удалить WebHook») и создай новый; старый URL сразу станет бесполезным.


Часть 2: подключить вебхук к твоему серверу

Шаг 4: вставить URL во вкладке уведомлений

Открой свой сервер в дашборде и перейди на вкладку «Уведомления». В самом верху находится раздел «Подключить каналы» с карточкой Discord.

Вставь скопированный адрес в поле «URL Discord-вебхука» и нажми «Подключить Discord».

После этого карточка показывает адрес в сокращённом виде: секретная часть в конце заменяется точками, чтобы никто не мог прочитать её с твоего экрана. По той же причине нет кнопки «Редактировать URL» — для смены используй «Удалить Discord» и подключи заново.

Раздел подключения каналов в панели сервера: карточка Discord показывает сокращённый адрес вебхука и кнопки тестирования Discord и удаления Discord
Раздел подключения каналов в панели сервера: карточка Discord показывает сокращённый адрес вебхука и кнопки тестирования Discord и удаления Discord

Шаг 5: протестировать доставку

Нажми «Тестировать Discord». Тестовое сообщение будет запланировано и вскоре появится в твоём канале — в качестве отправителя ты увидишь имя, которое дал вебхуку на шаге 3.

Discord-канал с полученным тестовым уведомлением: embed с именем сервера, уровнем важности, источником, временем и ссылкой на дашборд
Discord-канал с полученным тестовым уведомлением: embed с именем сервера, уровнем важности, источником, временем и ссылкой на дашборд

Сообщение уже показывает формат всех будущих уведомлений:

Поле Значение
Заголовок Имя твоего сервера и тип уведомления
Уровень важности Классификация уведомления, например info
Источник Откуда пришло уведомление — в тесте channel_test
Произошло Время в UTC
Дашборд Прямая ссылка обратно на вкладку уведомлений твоего сервера

Если ничего не приходит, ниже в разделе «Последние доставки» ты увидишь причину — об этом чуть дальше.

Если тест нельзя снова запустить сразу несколько раз подряд, это не ошибка: подсказка покажет оставшееся время ожидания. Так случайный зависший клик не завалит твой канал сообщениями.


Часть 3 (опционально): Web Push как второй канал

Помимо Discord, тот же сервер может связаться с тобой прямо в браузере — без Discord и без обходных путей. Это удобно, если ты хочешь лично увидеть уведомление, пока Discord-канал принадлежит всей команде.

Важно понимать: Web Push привязан к устройству, а не к аккаунту. Ты активируешь его для этого браузера на этом устройстве. Телефон и компьютер — две отдельные активации, а тест всегда отправляет уведомление именно на то устройство, за которым ты сейчас сидишь.

Вот как это сделать:

  1. В карточке «Web Push» нажми «Активировать Web Push».
  2. Браузер спросит, может ли сайт отправлять тебе уведомления — разреши это. Без такого разрешения канал останется выключенным.
  3. После этого в карточке появится «Готово». Через «Тестировать Web Push» ты сразу отправишь себе пробное уведомление на это устройство.
  4. «Удалить Web Push» снова отменит подключение для этого устройства.

Если не получается, карточка подскажет причину — три самых частых случая:

  • «Этот браузер не поддерживает Web Push.» Тогда твой вариант — Discord; с твоим сервером всё в порядке.
  • «Web Push заблокирован в браузере.» Ты или кто-то до тебя отклонил уведомления для сайта. Разреши их в настройках сайта в своём браузере и активируй канал снова.
  • «Web Push отклонён браузером или операционной системой.» Здесь проблема уровнем выше: в системных настройках уведомления для всего браузера выключены. Включи их там.

Отдельный случай — сообщение «Web Push сейчас недоступен на этом сервере.» Оно не связано с твоим устройством — пока используй Discord.


Настроить события

Один подключённый канал сам по себе ещё ничего не отправляет. В разделе «Настроить события» ты решаешь, какие уведомления будут уходить — и через какой канал. У каждого события для этого есть отдельный выбор для Discord и Web Push; неподключённый канал заблокирован и показывает подсказку «Сначала подключи этот канал выше.».

Пока не подключён ни один канал, здесь ничего нельзя выбрать — так задумано: «Без канала здесь нельзя ничего выбрать, потому что уведомление некуда доставить.»

Доступны такие варианты:

Событие Когда срабатывает
Запуск не удался Сервер не удалось запустить
Сервер упал Сервер неожиданно завершил работу
Бэкап не удался Резервную копию не удалось создать
Ресурсы заканчиваются Оперативная память, CPU или дисковое место близки к лимиту
TPS стабильно низкий Тикрейт длительное время остаётся ниже целевого значения
Доступно обновление Для твоего серверного ПО есть новая версия
Тестовый сервер скоро истечёт Срок работы тестового сервера скоро закончится
Новый рекорд игроков Одновременно онлайн было больше людей, чем когда-либо раньше
Необычные подключения Подозрительный паттерн подключений на твоём сервере

Подтверди выбор кнопкой «Применить правила событий».

Разумное распределение: то, что должна видеть команда (падения, бэкапы), идёт в Discord; то, что касается только тебя (доступно обновление, тестовый сервер истекает), приходит через Web Push.

Тихие часы: не просыпаться ночью

В разделе «Тихие часы и значения по умолчанию» ты задаёшь временное окно, в которое тебя не должны беспокоить — например с 22:00 до 07:00 в твоём часовом поясе. При этом уведомления не теряются: «Уведомления удерживаются и объединяются. После этого ты получишь только актуальное состояние.»

Сервер, который упал в три часа ночи и сам снова заработал в четыре, тебя не разбудит — утром ты узнаешь текущий статус, а не будешь разбирать шесть отдельных сообщений.

Подтверди кнопкой «Применить тихие часы».

Если ничего не приходит

Раздел «Последние доставки» показывает каждую отправку и её статус. Возможны четыре состояния:

  • Доставлено — Discord принял сообщение. Если оно всё равно не отображается, проверь, смотришь ли ты в правильный канал.
  • В обработке — отправка ещё выполняется. Подожди немного.
  • Временный сбой — Discord был недоступен или заблокировал запрос. Мы попробуем ещё раз; столбец «Попытка» считает попытки.
  • Отключено — канал больше ничего не принимает. Самая частая причина: вебхук был удалён в Discord или канал больше не существует. Создай новый вебхук и подключи его снова.

Ещё два частых камня преткновения:

  1. URL обрезался при копировании. Он должен начинаться с https://discord.com/api/webhooks/, а после этого содержать ещё две длинные части. Если хвостовой части нет, панель покажет «Недействительный URL Discord-вебхука.»
  2. Не выбрано ни одно событие. Канал подключён, но правила нет — значит, будет тихо. Тест в этом случае всё равно работает, потому что обращается к каналу напрямую.

Для Web Push есть третий случай: «Для этого устройства больше не сохранён Web Push.» Такое бывает, если браузер сбросил разрешение, например после удаления данных сайта. Просто активируй канал на устройстве заново.

Снова удалить вебхук

«Удалить Discord» отключает канал от этого сервера. Твои настройки при этом сохраняются: «Через этот канал новые уведомления сервера больше не доставляются. Твои правила событий и пороговые значения остаются сохранёнными.» Если позже подключишь новый вебхук, старые правила сразу снова начнут действовать.

Если ты хочешь убрать вебхук и на стороне Discord — например потому что URL стал публичным, — дополнительно удали его там через «Удалить WebHook».

FAQ

Нужен ли мне Discord-бот?

Нет. Вебхук — это как раз вариант без бота: без приглашения, без выдачи прав, без постоянного подключения.

Можно ли отправлять несколько серверов в один и тот же канал?

Да. Подключи один и тот же вебхук на каждом сервере. В каждом уведомлении в заголовке указано имя сервера, так что ты сможешь их различать. Обычно нагляднее иметь отдельный канал для каждого сервера.

Может ли один сервер отправлять уведомления в несколько каналов?

Для одного сервера предусмотрен один Discord-канал. Для второго получателя активируй Web Push — оба канала работают параллельно в той же вкладке.

Нужно ли активировать Web Push отдельно на каждом устройстве?

Да. Разрешение относится к браузеру на конкретном устройстве, а не к твоему аккаунту. Телефон и компьютер — две отдельные активации.

Увидит ли моё сообщество уведомления?

Каждый, кто может читать канал, увидит их. Если уведомления о падениях и ресурсах должны оставаться внутренними, создай вебхук в канале, который видит только твоя команда, или отправляй эти события через Web Push.

Изменится ли URL, если я переименую вебхук?

Нет. Имя и значок можно менять в любой момент, и адрес не станет недействительным. Заново подключать нужно только в том случае, если ты удалишь вебхук и создашь новый.