Найти в Дзене
Технология кода

Инструмент для проверки работоспособности сайтов: проверка сертификата SSL и доступности страницы, часть 2

Для более комфортного и оперативного уведомления вебмастера о состоянии сайта на регулярной основе, можно создать бота в мессенджере Telegram. В этой части статьи мы рассмотрим, как настроить и использовать такого бота для получения уведомлений о работоспособности сайтов. 1. Регистрация бота в Telegram
Для начала, необходимо зарегистрировать нового бота в Telegram. Для этого следуйте инструкциям, предоставляемым официальным ботом Telegram, называемым "BotFather". БотFather поможет вам создать нового бота, даст ему имя и токен, который будет использоваться для его идентификации.
2. Подготовка кода PHP
Далее, необходимо добавить несколько строк кода в вашу функцию проверки доступности сайтов, чтобы отправлять уведомления через Telegram. Будем использовать функцию checkSite из предыдущей статьи. Подготовим массив из адресов которые будем отслеживать $site['example1.com'] = "https://www.example1.com";
$site['example2.ru'] = "https://example2.ru/"; Ключ элемента массива будет служить назва

Для более комфортного и оперативного уведомления вебмастера о состоянии сайта на регулярной основе, можно создать бота в мессенджере Telegram. В этой части статьи мы рассмотрим, как настроить и использовать такого бота для получения уведомлений о работоспособности сайтов.

1. Регистрация бота в Telegram
Для начала, необходимо зарегистрировать нового бота в Telegram. Для этого следуйте инструкциям, предоставляемым официальным ботом Telegram, называемым "BotFather". БотFather поможет вам создать нового бота, даст ему имя и токен, который будет использоваться для его идентификации.

2. Подготовка кода PHP
Далее, необходимо добавить несколько строк кода в вашу функцию проверки доступности сайтов, чтобы отправлять уведомления через Telegram.

Будем использовать функцию checkSite из предыдущей статьи.

Подготовим массив из адресов которые будем отслеживать

$site['example1.com'] = "https://www.example1.com";
$site['example2.ru'] = "https://example2.ru/";

Ключ элемента массива будет служить названием ресурса.

Соберем сообщение о состоянии всех сайтов:

$rst_prom = "";
foreach ($site as $value=>$item) {
$rst_prom[] .= checkSite($item, $value);
}
$rst = implode("; ", $rst_prom);
$rst1 = implode("\n", $rst_prom);

Подготовка массива для отправки сообщения ботом

$message = array(
'chat_id' => "-888888888888",
// чат куда отправим сообщение
'text' => '<b>Проверка сайтов</b>
Дата: '.date('d-m-y h:i').'
'.$rst1,
'parse_mode' => 'html'
);

Вам понадобится токен вашего бота, полученный от BotFather. Подключите Telegram Bot API, добавив строку кода в вашу функцию проверки сайтов.

3. Кодирование и отправка уведомлений
Теперь, когда у вас есть функция для отправки сообщений в Telegram, можно использовать ее для отправки уведомлений о работоспособности сайтов.

Здесь вы указываете ID чата в Telegram, где будет отправляться уведомление. Этот ID можно получить с помощью бота "Chat ID Echo", отправив ему сообщение и получив ответ с ID.

$token = "ВАШ_ТОКЕН";
$ch = curl_init('https://api.telegram.org/bot' . $token . '/sendMessage');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $message);
// массив с сообщением о статусе сайтов
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, false);
$dt = curl_exec($ch);
curl_close($ch);

Готово! Сообщение отправлено вам в телеграм или в ваш канал.

4. Расписание проверки доступности сайтов
Чтобы автоматизировать процесс проверки доступности сайтов, можно добавить функцию в планировщик задач вашего сервера (например, Cron в Linux). Планировщик будет вызывать функцию `checkWebsites` с заданным интервалом времени.

Не всегда бывает удобно получать сообщения по расписанию, иногда необходимо срочно узнать о доступности ресурсов. Для этого потребуется немного модернизировать бота. Как это сделать читайте в третьей части.