- Вебхуки Дискорда — как настроить и пользоваться
- Назначение и особенности
- Как пользоваться
- Как интегрировать Дискорд с другим сервисом
- Итоги
- Вебхук Discord для уведомлений о статусе сайта
- Требования
- 1: Создание вебхука Discord
- 2: Создание тестового файла (опционально)
- 3: Создание сценария мониторинга
- 4: Проверка уведомлений Discord
- 5: Автоматизация процесса мониторинга
- Заключение
Вебхуки Дискорда — как настроить и пользоваться
Пользователей известного мессенджера часто интересует, что такое Discord Webhook php, и для чего используется эта опция. Простыми словами, после включения функции можно получать сообщения и информацию об обновлении данных по текстовому каналу в автоматическом режиме. Ниже рассмотрим, в чем особенности вебхуков в Дискорде, как их создать и пользоваться. Рассмотрим, с какими серверами может взаимодействовать Discord Webhook php.
Назначение и особенности
Для начала рассмотрим, что такое вебхуки в Дискорде, и для чего они нужны. Если говорить в целом, этом метод увеличения функциональности приложения с помощью обратных вызовов. Последние могут обслуживаться разработчикам или пользователями, которые не обязательно связаны с программой. Сам термин «вебхук» придуман Джеффом Линдсеем в 2007 году.
Discord Webhook php представляет собой дополнительную опцию. С ее помощью участник программы получает автоматические оповещения об обновлении данных по текстовому каналу.
Грамотное управление вебхуками позволяет получать данные с других платформ. При создании конечного сервера Webhook php на Discord пользователь генерирует адрес Webhook, который можно отправить на разные сервисы и связать их с Дискордом.
Как пользоваться
Применение Discord Webhook php требует подключения другого интернет-ресурса. Но нужно учесть, что не все сервисы способны передавать данные по этому каналу. Перед тем как пользоваться вебхуками, важно разобраться, на каком сервисе они поддерживаются.
Webhook PHP работает на таких сайтах:
Выделяется ряд сервисов, которые не могут работать с Webhook:
Эти моменты необходимо учесть, перед тем как использовать Discord Webhook php для обновления сервера.
Если вы решили сделать обновление Дискорд-сервера с помощью поручений или pull-запросов ГитХаб, ДатаДог или других сервисов, сделайте следующие шаги:
-
- Войдите в Дискорд и авторизуйтесь (если ранее вы еще не вошли под своими данными).
- С левой стороны найдите сервер, который вас интересует, и жмите на него правой кнопкой мышки.
- Перейдите на настройки сервера.
- В выпадающем списке найдите раздел Вебхуки (это и есть Discord Webhook php).
- Установите имя и выберите канал из выпадающего списка.
- Загрузите изображение. Система рекомендует использовать размер 256х256, а минимальный параметр должен быть от 128х128 и выше.
- Жмите на кнопку Сохранить.
После этого в списке появляется созданный Discord Webhook php с названием, информацией о сервере и датой создания. С правой стороны доступна кнопка Изменить. При ее нажатии можно внести правки в имя, канал или установленную ранее картинку.
Как интегрировать Дискорд с другим сервисом
Выше мы рассмотрели, как сделать Discord Webhook php в приложении и внести необходимые параметры. Но нужно понимать, что вебхук не способен работать сам по себе. Ему требуется взаимодействие с другим сайтом. При правильной настройке инструмент можно использовать для отправки любого кода или обновления на текстовый канал сервера.
Алгоритм действий такой:
- Войдите на сайт discordapp.com.
- Жмите на кнопку Создать Дискорд.
- Кликните правой кнопкой мышки по серверу, перейдите в Настройки.
- Давите на кнопку Создать вебхук.
- Задайте имя и выберите канал. Загрузите изображение. Эти шаги выполняются, если вы их не делали ранее.
- Копируйте URL для Discord Webhook php. Он может иметь следующий вид —discordapp.com/api/webhooks/698070180693278780/XG1VRZQ8cGnCEG9wNjbvpSk605AugbK3HQ9Hxk8aJ9bm1MCfsL6gFSqV3U-SZkdxY0a8.
- Добавьте эту ссылку в репозитарий сайта, с которого вы планируете получать обновления на Дискорд сервер. После выбора репозитария переходите в настройки, а далее в меню Webhooks.
- Жмите на кнопку 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 $
status_code=$(curl —write-out %
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 «$
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":"'"$
else
echo «$
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 $
status_code=$(curl —write-out %
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":"'"$
else
echo «$
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.
Источник