Вебхук в Discord — это интеграция, через которую другой сайт или веб-приложение может отправлять сообщения на сервер. Например, он может передавать уведомления о событиях в социальной сети, новости, изменения в репозитории или другие данные, если внешний сервис поддерживает такую отправку.
Вебхук не требует отдельной разработки бота для каждой отправки: Discord создаёт уникальный URL, а подключаемый сервис использует его для передачи сообщений. При этом содержание уведомлений, события и способ подключения определяет именно внешний сайт или приложение.
Что нужно до создания вебхука
Для создания, изменения и удаления вебхука достаточно разрешения «Управление вебхуками» (Manage Webhooks) в нужном канале. Полные права администратора Discord не требуются. Если раздел или кнопка создания недоступны, попросите владельца сервера проверить права вашей роли и разрешения выбранного канала. До начала выберите канал, куда должны поступать сообщения: после создания вебхука он будет привязан к выбранному каналу.
URL вебхука следует считать конфиденциальным. Любой, кто получит этот адрес, может использовать его для отправки сообщений в настроенный канал, поэтому не публикуйте ссылку и не передавайте её посторонним. Если вы настраиваете сервер для команды, полезно заранее определить, кому действительно нужен доступ к этому адресу и к параметрам интеграции.
Если вы настраиваете уведомления для отдельного проекта, вам может понадобиться аккаунт Discord под его задачи. Доступ к созданию вебхука при этом определяют разрешения в канале, а не наличие другого аккаунта.
Как создать вебхук на сервере Discord
Ниже приведены действия для Discord на компьютере. На Android и iOS названия и расположение элементов могут отличаться, поэтому на мобильном устройстве ориентируйтесь на стабильные разделы настроек сервера и интеграций, не пытаясь искать кнопки по расположению на старом кадре.
-
Откройте нужный сервер и перейдите в его настройки через меню с названием сервера.
-
В настройках сервера откройте раздел «Интеграция» и создайте вебхук.


-
После создания Discord добавит первый вебхук со стандартным названием и назначенным каналом. Откройте его параметры, чтобы изменить эти значения под свою задачу.
-
Задайте понятное имя. Оно будет отображаться у сообщений, отправленных этим вебхуком, поэтому удобно использовать название подключаемого сайта, проекта или типа уведомлений.
-
Выберите канал из списка. В него будут поступать сообщения от данного вебхука.

-
При необходимости установите изображение профиля вебхука. Эта аватарка будет показана рядом с его сообщениями.
-
Сохраните внесённые изменения. Если выйти из настроек без сохранения, новые имя, канал или аватарка не будут применены.
-
Скопируйте URL вебхука только после завершения настройки. Этот адрес понадобится на стороне сервиса, который будет отправлять уведомления в Discord.


Как использовать URL вебхука безопасно
URL нужен для связи Discord с внешним сервисом, но не предназначен для общего доступа. Не вставляйте его в публичные сообщения, инструкции для пользователей, открытые репозитории и формы, к которым имеют доступ неизвестные люди.
Перед передачей адреса стороннему сервису убедитесь, что вы понимаете назначение этого сервиса и какие сообщения он будет отправлять. Вебхук может использоваться для автоматических уведомлений, но сам по себе не проверяет, насколько уместны настройки событий и содержание сообщений на внешней стороне.
Создание нескольких вебхуков помогает разделить потоки: один можно назначить для уведомлений сайта, другой — для изменений в репозитории, третий — для персонализированных сообщений. У каждого такого вебхука будет собственный URL, имя и выбранный канал.
Подключение вебхука к внешнему сервису
Единой последовательности для всех сайтов нет. Один сервис может попросить только URL, другой — предложить форму для текста и оформления сообщения, а третий — потребует выбрать события, которые будут запускать отправку. Поэтому после создания вебхука откройте документацию выбранного сервиса и найдите его раздел для webhooks или интеграций.
Обычный порядок действий выглядит так:
-
В настройках внешнего сайта найдите добавление вебхука или настройку интеграции.
-
Вставьте скопированный URL Discord в поле адреса вебхука.
-
Настройте события или содержание сообщения, если сервис предоставляет такие параметры.
-
Сохраните подключение и запустите тестовую отправку, если такая возможность есть.
-
Откройте назначенный канал Discord и проверьте, появилось ли сообщение.
Некоторые сайты для персонализации серверов позволяют подготовить текст сообщения, упоминания участников или ролей и другие параметры. Возможности таких сайтов различаются: не переносите настройки из одного инструмента в другой без проверки его документации.
Если сервис позволяет отправить тестовое сообщение, используйте эту функцию после сохранения формы. Проверка должна проводиться в том канале, который выбран в настройках конкретного вебхука: так можно убедиться одновременно в правильности URL и назначения канала.
Пример: подключение уведомлений GitHub
GitHub — пример приложения, где вебхук настраивается внутри конкретного репозитория. Такая схема подходит для уведомлений о действиях в выбранном хранилище: сначала определяется репозиторий, затем в его настройках добавляется адрес вебхука и выбираются события. На стороне GitHub для создания вебхука нужны права владельца репозитория или административный доступ к нему; разрешения Discord здесь не заменяют права GitHub.
-
В GitHub откройте список своих репозиториев и выберите хранилище, для которого нужны уведомления.
-
Перейдите к параметрам выбранного репозитория.
-
Откройте вкладку «Settings», где находятся параметры репозитория.
-
В боковом меню настроек перейдите в раздел «Webhooks».
-
Добавьте новый вебхук через доступное в этом разделе создание webhook.

-
В поле Payload URL вставьте скопированный адрес Discord и допишите в его конце
/github. Например, адрес видаhttps://discord.com/api/webhooks/ID/TOKENдолжен статьhttps://discord.com/api/webhooks/ID/TOKEN/github. Это специальный путь Discord для уведомлений GitHub; обычный адрес вебхука здесь оставлять нельзя. Выберите Content typeapplication/json. Поле Secret оставьте пустым: Discord не выдаёт секрет для этой готовой интеграции. Не публикуйте реальный адрес с токеном. -
Выберите события, на которые должен реагировать вебхук: можно указать отдельные действия или отправку при всех действиях. Затем сохраните настройки и дождитесь тестового сообщения в канале Discord.
Если GitHub показывает ошибку
Если GitHub показывает ошибку доставки, откройте сведения о доставках этого вебхука в GitHub. Сначала сверьте окончание /github в Payload URL и тип application/json, затем проверьте, что вебхук активен и выбранное событие действительно произошло. Один только код ответа не позволяет определить причину без деталей доставки.
После сохранения GitHub отображает добавленные вебхуки списком и отправляет проверочное событие ping. Откройте журнал доставок, чтобы увидеть ответ Discord. Для проверки обычных уведомлений вызовите выбранное событие в репозитории и проверьте назначенный канал; успешный ping сам по себе не подтверждает, что подписка на нужное событие настроена верно.
Не рассматривайте один способ исправления как универсальный для всех сервисов и ошибок. Настройки событий, формат данных и требования к адресу зависят от приложения, которое отправляет уведомления.
Проверка после настройки
Проверка состоит из двух частей: внешний сервис должен принять сохранённые параметры, а Discord — получить сообщение в назначенный канал. Если сервис предлагает тестовую отправку, сначала выполните её, затем откройте сервер и проверьте канал, выбранный для вебхука.
Когда сообщение не приходит, последовательно проверьте, тот ли URL вставлен в сервис, сохранены ли изменения в Discord и на внешней стороне, а также выбран ли нужный канал. Для интеграций с настройкой событий дополнительно убедитесь, что вы вызвали именно то событие, которое было отмечено в параметрах вебхука.
Посреднические сервисы могут связывать Discord с несколькими сайтами или социальными сетями и отправлять сообщения по заданным триггерам. Их возможности, сложность настройки и платные функции различаются, поэтому правила подключения и доступные события нужно уточнять в документации и поддержке конкретного сервиса.