Встроенные вебхуки Discord — это простой способ автоматически отправлять сообщения и обновления данных в текстовый канал на вашем сервере.
Представьте их себе в виде причудливой пневматической трубки, в которую вы опускали деньги в банке, наблюдая, как они исчезают, но вместо того, чтобы навсегда распрощаться со своими деньгами, вы в данном случае отправляете сообщения в Discord с другой платформы.
Создав конечную точку вебхуков на своем сервере, вы сгенерируете URL-адрес вебхука, который можно добавить в ряд других сервисов, чтобы связать их с вашим сервером.
Хотя все обожают пневматические трубки (верняк на 100%), важно отметить, что для пользования вебхуками нужен другой сайт (хотя пользователи с навыками программирования могут создать свой собственный «трубопровод»).
Некоторые сервисы и веб-сайты созданы таким образом, чтобы легко интегрировать вебхуки и отправлять сообщения вовне, но некоторые этого не делают. Вот небольшой полезный справочный список:
| Могут использовать вебхуки: | Не могут использовать вебхуки: |
| GitHub | Twitch / YouTube |
| CircleCI | Nelly The Hamster |
| DataDog |
Создание вебхука
Учитывая это, если вы хотите обновить свой сервер Discord с помощью коммитов и pull-запросов GitHub или отслеживать аналитику от DataDog либо что-то в этом роде, вот как это делается.
- Откройте Настройки сервера и перейдите на вкладку Интеграция:
- Нажмите кнопку Создать вебхук.
Здесь у вас есть несколько вариантов. Вы можете:
- изменить аватар, щелкнув на аватаре рядом с именем в верхнем левом углу;
- выбрать, в каком канале вебхук должен размещать публикации, выбрав нужный текстовый канал в выпадающем меню;
- присвоить имя вебхуку: это подходит для случая, когда у вас есть несколько вебхуков, используемых для нескольких различных сервисов.
Теперь у вас есть свой удобный URL-адрес / пневматический трубопровод, который вы можете связать с большим количеством веб-сайтов, чтобы получать от них сообщения.
Краткий пример: интеграция вебхуков GitHub
Поскольку вебхуки не могут функционировать самостоятельно и должны быть связаны с другим сайтом, чтобы работать так, как задумано, я решил включить образец интеграции для всех вас, энтузиастов GitHub и кодописцев.
Вы можете использовать вебхуки Discord для отправки любых слияний кода или push-обновлений из вашего репозитория в текстовый канал на вашем сервере.
1. Получите URL-адрес вебхука для сервера/канала, для которого вы хотите получать сообщения:
На своем сервере я создал текстовый канал #general-chat и хочу, чтобы мои обновления репозитория публиковали в нем сообщения.
Я возьму URL-адрес вебхука для этого канала, нажав кнопку Копировать URL-адрес вебхука:
2. добавьте URL-адрес вебхука в настройки репозитория GitHub;
выберите репозиторий, из которого вы хотите получать обновления на своем сервере Discord; выбрав репозиторий, перейдите в меню Настройки > Вебхуки.
Затем нажмите кнопку «Добавить вебхук» и введите URL-адрес, сгенерированный Discord, в поле «URL-адрес тела запроса».
Чтобы вебхук правильно отображал сообщения, очень-очень-очень-очень-ОЧЕНЬ важно, чтобы вы добавили в его конце /github. Да, повторить «очень» пять раз реально не лишне.
Помимо URL-адреса у вас есть еще несколько настроек, специфических для GitHub. Для типа контента используйте application/json. Формат вебхука Discord очень любит JSON. В следующем разделе вы можете настроить, какие мероприятия заставляют вебхуки отправлять сообщения.
Нажмите последнюю кнопку «Добавить вебхук» под настройкой уведомлений о событиях, и все готово. Любые обновления в репозитории (включая изменения файла readme) отразятся в вашем текстовом канале.
Вот и все дела! GitHub — только один пример интеграции, позволяющей публиковать сообщения через вебхук. Если вы любите создавать приложения JSON или HTTP-публикации и хотите настроить свои собственные вебхуки, вы можете найти дополнительную информацию в наших документах для разработчиков.