Вебхуки дискорда как настроить

Вебхуки Дискорда — как настроить и пользоваться

Пользователей известного мессенджера часто интересует, что такое Discord Webhook php, и для чего используется эта опция. Простыми словами, после включения функции можно получать сообщения и информацию об обновлении данных по текстовому каналу в автоматическом режиме. Ниже рассмотрим, в чем особенности вебхуков в Дискорде, как их создать и пользоваться. Рассмотрим, с какими серверами может взаимодействовать Discord Webhook php.

Назначение и особенности

Для начала рассмотрим, что такое вебхуки в Дискорде, и для чего они нужны. Если говорить в целом, этом метод увеличения функциональности приложения с помощью обратных вызовов. Последние могут обслуживаться разработчикам или пользователями, которые не обязательно связаны с программой. Сам термин «вебхук» придуман Джеффом Линдсеем в 2007 году.

Discord Webhook php представляет собой дополнительную опцию. С ее помощью участник программы получает автоматические оповещения об обновлении данных по текстовому каналу.

Грамотное управление вебхуками позволяет получать данные с других платформ. При создании конечного сервера Webhook php на Discord пользователь генерирует адрес Webhook, который можно отправить на разные сервисы и связать их с Дискордом.

Как пользоваться

Применение Discord Webhook php требует подключения другого интернет-ресурса. Но нужно учесть, что не все сервисы способны передавать данные по этому каналу. Перед тем как пользоваться вебхуками, важно разобраться, на каком сервисе они поддерживаются.

Читайте также:  Опель вектра не работает ближний свет

Webhook PHP работает на таких сайтах:

Выделяется ряд сервисов, которые не могут работать с Webhook:

Эти моменты необходимо учесть, перед тем как использовать Discord Webhook php для обновления сервера.

Если вы решили сделать обновление Дискорд-сервера с помощью поручений или pull-запросов ГитХаб, ДатаДог или других сервисов, сделайте следующие шаги:

    1. Войдите в Дискорд и авторизуйтесь (если ранее вы еще не вошли под своими данными).
    2. С левой стороны найдите сервер, который вас интересует, и жмите на него правой кнопкой мышки.
    3. Перейдите на настройки сервера.
    4. В выпадающем списке найдите раздел Вебхуки (это и есть Discord Webhook php).

  1. Установите имя и выберите канал из выпадающего списка.
  2. Загрузите изображение. Система рекомендует использовать размер 256х256, а минимальный параметр должен быть от 128х128 и выше.
  3. Жмите на кнопку Сохранить.

После этого в списке появляется созданный Discord Webhook php с названием, информацией о сервере и датой создания. С правой стороны доступна кнопка Изменить. При ее нажатии можно внести правки в имя, канал или установленную ранее картинку.

Как интегрировать Дискорд с другим сервисом

Выше мы рассмотрели, как сделать Discord Webhook php в приложении и внести необходимые параметры. Но нужно понимать, что вебхук не способен работать сам по себе. Ему требуется взаимодействие с другим сайтом. При правильной настройке инструмент можно использовать для отправки любого кода или обновления на текстовый канал сервера.

Алгоритм действий такой:

  1. Войдите на сайт discordapp.com.
  2. Жмите на кнопку Создать Дискорд.
  3. Кликните правой кнопкой мышки по серверу, перейдите в Настройки.
  4. Давите на кнопку Создать вебхук.
  5. Задайте имя и выберите канал. Загрузите изображение. Эти шаги выполняются, если вы их не делали ранее.
  6. Копируйте URL для Discord Webhook php. Он может иметь следующий вид —discordapp.com/api/webhooks/698070180693278780/XG1VRZQ8cGnCEG9wNjbvpSk605AugbK3HQ9Hxk8aJ9bm1MCfsL6gFSqV3U-SZkdxY0a8.
  7. Добавьте эту ссылку в репозитарий сайта, с которого вы планируете получать обновления на Дискорд сервер. После выбора репозитария переходите в настройки, а далее в меню Webhooks.
  8. Жмите на кнопку Add Webhook и введите сгенерированный ранее URL в специальное поле под названием Payload URL.

Очень важно, чтобы вебхук показывал ссылку корректно. Это крайне важный параметр, от которого зависит работоспособность инструмента. Обратите внимание, что к концу ссылки URL обязательно прикрепляется надпись github после слеша. Учтите, что ее нет при копировании непосредственно с программы Discord.

В разделе Content Type установите application/json. В следующей секции можно выбрать ивент-тригеры, которые будут использоваться при передаче информации в сообщениях. Здесь можно выбрать один из трех вариантов:

  • только push-события;
  • отправляйте мне все;
  • информируйте только об индивидуальных событиях.

На завершающем этапе жмите на кнопку Add Webhook под опцией настройки извещения. После этого любые обновления в репозитарии, в том числе изменение информации в redmi, отображается в текстовом канале. В результате получается такая ссылка — discordapp.com/api/webhooks/698070180693278780/XG1VRZQ8cGnCEG9wNjbvpSk605AugbK3HQ9Hxk8aJ9bm1MCfsL6gFSqV3U-SZkdxY0a8/github.

Учтите, что выше мы рассмотрели один из вариантов — как настроить вебхуки в Дискорде для Github. При выборе другого сервиса принцип остается неизменным.

Итоги

Теперь вы знаете, что такое Discord Webhook php, для чего необходима эта опция, и как ей правильно пользоваться. Помните, что инструмент работает не на всех сервисах, поэтому с его настройкой необходимо быть внимательным. Если все сделать правильно, вы получаете свой club со своевременной передачей информации в текстовом канале.

Источник

Вебхук 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 ‘ <"content":"'"$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 ‘ <"content":"'"$: $«‘»>’ $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. Прежде чем вы сможете настроить автоматический запуск скрипта, вам необходимо разобраться с правами доступа к файлам и убедиться, что скрипт является исполняемым, иначе он не запустится. Чтобы сделать файл скрипта исполняемым, введите команду:

Далее выполните следующую, чтобы отредактировать crontab:

Вставьте в этот файл такую строку:

Наконец, сохраните crontab. После этого ваш скрипт будет запускаться каждые 5 минут.

Заключение

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

Если вы хотите узнать больше о сценариях оболочки, ознакомьтесь с нашим руководством Написание простого скрипта оболочки.

Больше о вебхуках Discord вы можете узнать в официальной документации Discord.

Источник

Оцените статью