Начинающие пользователи часто спрашивают, что такое вебхуки в Дискорде. Ниже рассмотрим особенности и назначение этой опции, приведем инструкцию по созданию webhook и тонкости ее интеграции с другими сервисами.
Что такое Webhook
Для начала отметим, что вебхуки в Дискорде — система, предусматривающая автоматическое информирование о разных событиях, которые произошли на конкретном сайте. В качестве посредника выступает webhook, состоящий из трех элементов:
- Субъекты — сайты, в которых создаются вебхуки Дискорд (репозитарий).
- Информация — данные о произошедших событиях, которые отправляют webhook в Discord при срабатывании на триггер. В большинстве случаев в роли такого источника информации выступает push-сообщение.
- Ссылка — конечный пункт, куда webhook передает определенные данные.
Зачем эта функция нужна в Дискорде
Вебхуки для Дискорда — некий посредник (мост), между интернет-сайтами, позволяющий им обмениваться информацией в автоматическом режиме. Минус в том, что использовать webhook Discord на данном этапе можно не со всеми сервисами.
Зная, что такое вебхуки Дискорд, и как их делать, можно быстро наладить обмен автоматическими сообщениями и обновление данных, отправленных на текстовый канал сервера. Такой способ взаимодействия очень удобен и расширяет возможности мессенджера.
What Is a Webhook & How to Create Webhooks on Discord
Стоит учесть, что применение webhook требует наличие второго сайта. При этом далеко не все ресурсы поддерживают этот сервис, что пока является главным недостатком системы.
Автоматическая отправка сообщений доступна для следующих площадок:
Параллельно с этим использование вебхуков в Дискорд невозможно на ряде других сайтов:
- YouTube;
- Twitch;
- Facebook (запрещен(а) в РФ);
- Nelly The Hamster.
Правильное создание и управление вебхуками Дискорд позволяет получать сведения с других площадок. При организации конечной точки webhook формируется адрес, который можно направлять на другие интернет-площадки для связи с Discord. Сведения, которые передаются на сервер с помощью рассмотренной опции, легко настраиваются. Необходимые инструкции можно найти на официальном сайте. Частично информацию, как сделать ссылку и управлять вебхуками в Дискорде, мы рассмотрим в нашей статье.
Как создать webhook в Дискорде
После изучения особенностей и назначения опции можно переходить и рассмотрению следующего вопроса — как создать вебхук в Discord. Алгоритм действий имеет следующий вид:
- Войдите в программу Дискорд и авторизуйтесь под своим логином и паролем (если это не сделано ранее).
- Жмите правой кнопкой на название интересующего сервера.
- В выпадающем перечне выберите пункт Настройки сервера.
- Выберите пункт Вебхуки .
- Кликните на пункт Создать вебхук.
- Укажите имя. Эта информация прописывается автоматически, но ее можно поменять.
- Выберите канал, для которого создается webhook.
- Загрузите изображение. Для этого жмите на соответствующую кнопку и укажите направление к файлу. Размер картинки должен быть от 256х256 (рекомендуется). В крайнем случае допускается минимальный размер 128х128.
- Опуститесь вниз и жмите на ссылку Копировать . Полученный URL будет использоваться для интеграции с другим ресурсом.
- Кликните кнопку Сохранить .
Выше мы отмечали, что сама по себе ссылка бесполезна. Необходимо знать, как пользоваться вебхуками в Дискорде, и где их применить. Для примера рассмотрим, как использовать полученный URL-адрес на сайте Github.
Алгоритм действий такой:
- Получите URL адрес, по которому вы планируете получать сообщения. Как сделать вебхуки в Дискорде, мы рассматривали выше.
- Войдите на сайт GitHub , перейдите в настройки и меню webhooks. Таким способом вы определяетесь с репозитарием, который будет использоваться для обмена.
- Жмите на кнопку Add webhooks и введите скопированный ранее адрес.
- Данные необходимо добавить в строку Payload URL.
- К полученной ссылке добавьте в конце через слеш (/) надпись gthub. К примеру, исходная ссылка может иметь следующий вид — discordapp.com/api/webhooks/71043261975575624/f_MvYH5-2h0foH47kxW50hMASijFRe29mSBkt6VfanIJPD_98nvGa-0cc0TqYp1an17K. При добавлении на сайт она должна быть следующей — discordapp.com/api/webhooks/710432631975575624/f_MvYH5-2h0foH47kxW50hMASijFRe29mSBkt6CfanIJPD_98nvGa-0cc0TqYp1an17K /github .
Дополнительно к URL-адресу необходимо определиться с опциями GitHub. В секции Content Type выберите application/json. Практика показала, что формату вебхуков Дискорд подходит JSON. На следующем шаге настройте ивент триггеры, используемые при передаче в сообщении. Здесь доступен один из трех вариантов:
- только пуш-события;
- отправление всего;
- информирование только о персональных событиях.
Как только настройки сделаны, а данные введены в URL-строку, можно сохранять внесенные сведения. Для этого жмите соответствующую кнопку.
Выше мы рассмотрели один из вариантов, как настроить вебхуки в Дискорде применительно к сервису GitHub. Если необходимо интегрироваться с другими сайтами, алгоритм действий будет очень похож.
Итоги
Теперь вы знаете, что такое webhook в Дискорде, для чего они применяются, как их создать и интегрировать в другие сервисы. Это полезная опция, которую важно правильно применять и не забывать об имеющихся ограничениях. Минус только один. Пока webhook доступен для небольшого числа сервисов, но в дальнейшем этот список будет расширяться.
Источник: messenge.ru
Вебхук Discord для уведомлений о статусе сайта
Как правило, при работе с веб-сайтами важно вовремя узнавать о возникающих проблемах, – тогда у вас есть шанс исправить их, прежде чем они окажут влияние на опыт пользователей. Один из способов получения уведомлений о состоянии сайта – настроить оповещения через текстовую систему чата.
Discord – это мессенджер, похожий на Slack. Discord позволяет бесплатно настроить систему обмена сообщениями, благодаря которой вы сможете отправлять сообщения, изображения, аудио и видео. Кроме того, Discord предлагает и платные премиум-функции. Но зарегистрироваться можно бесплатно. У Discord есть клиенты для Windows, macOS, Linux, Android и iOS.
В этом руководстве мы поможем вам настроить ваш собственный сервер Discord, создать вебхук Discord, а затем написать сценарий Bash, который будет проверять статус веб-сайтов по списку. Также мы протестируем отправку уведомлений с вашего сервера на канал Discord.
Требования
- Сервер Ubuntu 18.04, который будет взаимодействовать с Discord и на котором будет запущен скрипт мониторинга (назовем его monitor-server). Чтобы настроить этот сервер, следуйте этому мануалу.
- Если на данный момент у вас нет сайта, состояние которого вы хотели бы отслеживать, настройте второй сервер (назовем его apache-server) по этому руководству. Обязательно настройте виртуальный хост по разделу 5.
- Аккаунт Discord. Бесплатно зарегистрироваться можно на этой странице.
1: Создание вебхука Discord
Давайте попробуем создать свой приватный сервер Discord.
Прежде всего, вам нужно войти на свой аккаунт через браузер или запустить приложение Discord. После этого нажмите кнопку Create a server.
Далее нужно выбрать имя для своего сервера и нажать кнопку Create a server.
Итак, сервер готов, теперь мы создадим вебхук Discord. Вебхуки в контексте Discord – это уникальные URL-адреса, которые можно использовать для связывания сервисов. Вебхуки позволяют автоматизировать отправку сообщений и обновление данных в каналах Discord.
В этом руководстве мы настроим вебхук, который будет отправлять уведомление, если на вашем сервере вышел из строя определенный сервис, а Discord позаботится о том, чтобы вы получили эти уведомления в своем канале.
Чтобы создать вебхук, нужно сначала кликнуть на свой канал, а затем нажать кнопку Edit Channel – она находится рядом с названием канала.
Затем перейдите во вкладку Webhooks и нажмите кнопку Create Webhook.
Далее вам нужно выбрать имя для своего вебхука. В этом руководстве мы назовем его Alerts, поскольку именно это будет делать наш сценарий Bash – оповещать нас в случае сбоя одного из веб-сайтов.
Скопируйте URL-адрес вебхука и сохраните его для дальнейшей работы. Наконец, нажмите кнопку Save, чтобы сохранить вебхук.
Итак, на данный момент у вас есть учетная запись Discord, сервер и вебхук. Пора перейти к созданию тестового файла, который будет отслеживать ваш скрипт.
2: Создание тестового файла (опционально)
Предположим, у вас нет веб-сайта, работу которого вы хотели бы отслеживать. В таком случае вы можете создать тестовый файл, благодаря которому вы проверите работу вашего скрипта.
Примечание: Этот раздел нужно выполнить на apache-server.
Во-первых, вам нужно создать тестовый файл. Для этого запустите:
После этого в файл нужно добавить некоторый контент, чтобы позже вы смогли убедиться, что все работает. Добавьте в файл следующее:
Сохраните и закройте файл.
А потом перейдите по ссылке http://your_domain/test и убедитесь, что вы видите текст, который поместили в файл test.
На следующем этапе мы напишем сценарий мониторинга.
3: Создание сценария мониторинга
Теперь, когда вы настроили свой вебхук, можно приступить к написанию сценария Bash, который будет проверять код ответа ваших веб-сайтов. В случае если один из сайтов вернет не 200 OK, а что-либо другое, скрипт отправит запрос на вебхук, после чего вы получите уведомление в своем канале Discord.
Примечание: Конечно, для создания подобного сценария можно использовать любой другой язык программирования.
Сначала подключитесь к monitor-server по SSH (напоминаем, что это тот сервер, который вы используете для запуска сценария мониторинга).
Прежде всего нужно создать файл в домашней папке. В этом мануале мы назовем этот файл check_status.sh.
Откройте файл в текстовом редакторе:
Чтобы загрузчик программы распознал этот исполняемый файл как скрипт Bash, поместите в начало файла следующую строку:
#!/bin/bash
Все строки, которые начинаются с символа #, воспринимаются как комментарии. Комментарии в сценариях можно и не использовать, но именно комментарии помогают другим людям понять, что делает ваш скрипт.
#!/bin/bash
##
# Website status check script
# Author: Your Name
# Date: 01/01/2020
##
. . .
Затем укажите свой вебхук Discord в качестве переменной. Добавьте URL-адрес вебхука, который вы скопировали ранее:
. . .
##
# Discord webhook
# Change the ‘your_discord_webhook_name’ with your actual Discord Webhook
##
url=»your_discord_webhook_name»
. . .
Возможно, вы захотите использовать этот скрипт для отслеживания статуса нескольких сайтов. Поэтому создайте переменную sites_list и сохраните в ней доменные имена или IP-адреса веб-сайтов, за которыми вам нужно следить. Если вы используете тестовый файл, который мы создали в предыдущем разделе, обязательно добавьте секцию /test после домена или IP-адреса:
. . .
##
# List of websites to check
##
websites_list=»your_domain/test»
. . .
Если же вы отслеживаете сразу несколько сайтов, вы можете добавить в переменную sites_list список доменов или IP-адресов (в качестве разделителя нужно использовать пробел):
. . .
websites_list=»your_domain1/test your_domain2 your_domain3″
. . .
Теперь нужно сделать так, чтобы скрипт перебирал ваш список веб-сайтов и проверял их статус. Для этого добавьте в файл цикл for:
. . .
for website in $ ; do
status_code=$(curl —write-out % —silent —output /dev/null -L $)
echo $status_code
done
. . .
Этот цикл будет перебирать все элементы в переменной sites_list и проверять статус сайта с помощью команды curl.
Оператор echo $status_code выводит статус ответа команды curl. Если веб-сайт работает правильно, команда вернет код 200 OK – значит, этот сайт запущен и все работает хорошо. В противном случае команда получит другой код ответа.
В цикл for добавьте оператор if, чтобы проверить, равен ли код ответа 200. Если код ответа равен 200, значит, сайт работает и Discord не нужно отправлять вам уведомление. Добавьте в файл следующий условный блок:
. . .
if [[ «$status_code» -ne 200 ]] ; then
# POST request to Discord Webhook with the domain name and the HTTP status code
else
echo «$ is running!»
fi
. . .
Если с веб-сайтом возникнут какие-либо проблемы, вы получите другой код ответа, и в этом случае вы должны получить уведомление через вебхук Discord.
Чтобы отправить такое уведомление, вы можете использовать команду curl, которая отправит POST-запрос на URL-адрес вашего вебхука.
Итак, поместите следующий запрос curl в свой оператор if:
. . .
if [[ «$status_code» -ne 200 ]] ; then
# POST request to Discord Webhook with the domain name and the HTTP status code
curl -H «Content-Type: application/json» -X POST -d ‘ returned: $»‘»>’ $url
else
echo «$ is running!»
fi
. . .
Теперь давайте рассмотрим аргументы, которые мы использовали в этом запросе:
- -H: позволяет добавить в запрос curl дополнительный заголовок.
- “Content-Type: application/json”: определяет тип данных, который должен ожидать вебхук (HTTP JSON).
- -X POST: указывает POST в качестве метода запроса.
- -d: отправляет данные JSON в вебхук Discord.
В результате скрипт будет иметь такой вид:
#!/bin/bash
##
# Website status check script
# Author: Your Name
# Date: 01/01/2020
##
##
# Discord webhook
# Change the ‘your_discord_webhook_name’ with your actual Discord Webhook
##
url=»your_discord_webhook_name»
##
# List of websites to check
# To add more websites just use space as a separator, for example:
# websites_list=»your_domain1 your_domain2 your_domain3″
##
websites_list=»your_domain/test your_domain2″
for website in $ ; do
status_code=$(curl —write-out % —silent —output /dev/null -L $)
if [[ «$status_code» -ne 200 ]] ; then
# POST request to Discord Webhook with the domain name and the HTTP status code
curl -H «Content-Type: application/json» -X POST -d ‘ : $»‘»>’ $url
else
echo «$ is running!»
fi
done
Итак, наш сценарий просматривает список веб-сайтов и проверяет статус каждого отдельного сайта. Если ответ сайта не равен 200, вы получите уведомление.
Запустите сценарий с помощью следующей команды, чтобы убедиться, что он работает правильно:
Если после этого вы получите в терминале следующий вывод, значит, ваш веб-сайт работает правильно:
your_domain1 is running!
your_domain2 is running!
Все готово, осталось только протестировать отправку уведомлений Discord.
4: Проверка уведомлений Discord
Наконец, пора проверить, работает ли наш вебхук. Это можно сделать с помощью тестового файла.
Перейдите на apache-server и выполните следующую команду, чтобы закрыть доступ к этому файлу:
sudo chmod 000 /var/www/your_domain/test
Затем вернитесь на monitor-server и запустите скрипт:
Перейдите в приложение Discord и проверьте уведомления. Вы получите ошибку 403. Значит, права доступа установлены неправильно, вам запрещено просматривать запрашиваемый файл.
Чтобы получить другую ошибку, вернитесь на сервер apache-server и удалите этот файл:
sudo rm /var/www/your_domain/test
Потом вернитесь на monitor-server и запустите скрипт:
Перейдите в приложение Discord и просмотрите свои уведомления. Вы увидите ошибку 404, которая указывает, что искомый файл недоступен.
Если Discord установлен на вашем смартфоне, вы также будете получать уведомления на это устройство.
Итак, у вас есть скрипт, который предупреждает вас о проблемах в работе перечисленных сайтов. Теперь давайте настроим автоматический запуск этого скрипта.
5: Автоматизация процесса мониторинга
Один из способов автоматизировать проверку состояния сайтов – создать задачу cron, которая будет запускаться с нужным вам интервалом (например, каждые 5 минут).
Во-первых, вернитесь на свой monitor-server. Прежде чем вы сможете настроить автоматический запуск скрипта, вам необходимо разобраться с правами доступа к файлам и убедиться, что скрипт является исполняемым, иначе он не запустится. Чтобы сделать файл скрипта исполняемым, введите команду:
chmod u+x ~/check_status.sh
Далее выполните следующую, чтобы отредактировать crontab:
Вставьте в этот файл такую строку:
Наконец, сохраните crontab. После этого ваш скрипт будет запускаться каждые 5 минут.
Заключение
Итак, вы настроили вебхук Discord и создали скрипт, который будет уведомлять вас о возникновении ошибок на вашем веб-сайте. Если хотите, вы можете использовать любой другой язык программирования и написать более сложный бот.
Если вы хотите узнать больше о сценариях оболочки, ознакомьтесь с нашим руководством Написание простого скрипта оболочки.
Больше о вебхуках Discord вы можете узнать в официальной документации Discord.
Источник: www.8host.com
Что такое вебхуки и как ими пользоваться в Дискорде, настройка и управление
Пользователи, которые только начинают свой путь в ведении Дискорд-сервера, часто сталкиваются с проблемой, когда всех пользователей или конкретного персонажа нужно о чем-то уведомить. Когда начинающий владелец сервера захочет решить эту проблему, он наткнется на Дискорд вебхуки. Сначала такая информация может показаться сложной, но на деле все довольно просто, и, следуя инструкции, разобраться сможет человек с любым уровнем навыков.
Для чего нужны вебхуки и их особенности
Вебхук – один из основных инструментов автоматизации сервера. Он позволяет автоматически оповещать пользователей о любых событиях и обмениваться информацией со сторонними ресурсами. Например, это может быть новое видео на каком-либо канале или информация по поводу сервера, ролей на нем. В вебхук можно поместить информацию какого угодно типа, настроить ее получателей и интеграцию на другие сайты.
Как пользоваться
- Зайдите на свой Дискорд-сервер.
- Откройте настройки текстового канала, нажав на знак шестеренки возле названия.
- Перейдите в раздел «Интеграция», нажмите «Создать вебхук».
- При необходимости дайте боту имя и выберите текстовый канал, в который он будет отправлять сообщения.
- В том же окне скопируйте URL, нажав на соответствующую кнопку внизу.
- Перейдите на официальный сайт discohook.org, где и происходит настройка, также можно использовать аналог – Discord Webhook Sender.
- Нажмите «Clear all», чтобы очистить уже имеющуюся информацию.
- В первую графу «Webhook URL» вставьте скопированную ранее ссылку.
- В «Message content» напишите текст, который необходимо распространить.
- Нажмите «Send», сообщение будет отправлено на сервер от лица бота.
На этом базовая настройка вебхука завершена, но даже на этой стадии его можно назвать волшебным ботом. Таким способом можно вручную уведомлять о какой-либо информации. Более детальная настройка потребует немного больше времени:
- Для детальной настройки потребуется создать Embed. На том же сайте нажмите кнопку «Add Embed», которая расположена чуть ниже раздела с текстом.
- Здесь для сообщения можно обозначить название – «Title», ссылку в названии – «Title URL», описание – «Description», имя и ссылку на автора и его иконку – «Author Name», «URL» и «Icon», цвет – «Color».
- Чтобы обозначить каждый раздел, нужно в соответствующую графу вставить нужную информацию, например: имя автора, ссылку на него и на его иконку.
Такие возможности можно использовать по-разному. Например, делать красивое оформление для постов. Также с настройкой сервера и автопостингом может помочь Magic Bot.
Интеграция Дискорда с другим сервисом
Для интеграции Дискорда с другим сервисом, например Ютубом или Твитчем, понадобится использовать сайт ifttt.com. Именно он делает использование и управление разными соц. сетями одновременно простым и доступным
- Для начала нужно зарегистрироваться на сайте, что не займет много времени.
- Перейдите на главную страницу, и в графе «Search services» начните вводить название необходимого вам сайта.
- Выберите его из списка, нажав по нему.
- В следующем окне откроются доступные функции взаимодействия, например, уведомление о начавшихся стримах пользователя или о выходе нового видео.
- Выберите нужное действие и настройте его. Например, чтобы настроить уведомление о стримах, понадобится выбрать стримера из списка.
- Нажмите «Create trigger».
- Затем вернитесь на главную страницу и в строке поиска начните вводить «Webhooks», выберите его.
- Нажмите «Make a web request».
- В строке «URL» вставьте ссылку на вебхук, а в «Method» выберите «POST». В «Content Type» необходимо выбрать «application/json».
- В «Body» написать текст автоматического сообщения, используя конструкцию: , и в него добавить ссылку, используя кнопку «Add ingredient», а из списка выбрать «ChannelURL».
- Нажмите «Create action», а затем «Finish», чтобы создать действие и закончить его.
Так можно создать интеграцию с любым другим сервисом – выбор на сайте очень большой.
Официальный пример
Также хорошим примером может стать совместная работа вебхука и Ютуба:
- Откройте сайт ifttt.com.
- Найдите Ютуб в поиске и выберите его.
- Кликните на необходимую функцию. Это может быть оповещение о выходе ваших новых видео, например.
- Снова перейдите на главную страницу.
- Найдите «Webhooks», откройте, нажмите «Make a web request».
- В первую строку вставьте ссылку на вебхук, далее выберите «POST», а в «Content Type» – «application/json».
- В «Body» используйте необходимый текст. Шаблон: >**:>» >.
- Закончите действие, нажав «Create action» и «Finish».
На этом настройка нового вебхука с уведомлениями закончена.
Как писать от имени вебхука
Управлять вебхуком и писать от его имени также можно через сайт discohook.org, как и говорилось выше. В разделе «Message content» можно вписать любой текст и, с помощью него, например, общаться с другими участниками сервера или просто уведомлять их о каких-либо событиях.
Источник: it-tehnik.ru