Робимо інструмент перевірки аптайму сайтів з сповіщеннями у Telegram
Зміст
- Таблиця з переліком сайтів для перевірки
- Власний чат-бот в Telegram
- Скрипт перевірки
- Налаштовуємо періодичність виконання скрипта
Був в мене клієнт в якого постійно лягав сайт, через що частина бюджету на рекламу уходила в нікуди. Звісно, гугл рано чи пізно відхиляє оголошення, що ведуть на непрацюючий сайт, але робить він це за дивною логікою і не дуже оперативно + не в усіх форматах реклами
Тоді я знайшов безкоштовний аптайм чекер, додав туди 1 сайт і забув про цю проблему, поки в мене не з’явився інший клієнт з постійно падаючим сайтом
Оскільки безкоштовний тариф більшості сервісів дозволяє додати лише 1 сайт, виникла ідея зробити рішення, яке буде автоматично перевіряти велику кількість сайтів за логікою:
додали пару десятків сайтів в гугл док > скрипт перевіряє всі сайти зі списку кожні N-хвилин > якщо знайшов помилку завантаження сторінки – відправляє сповіщення у телеграм
Власне саме таке рішення ми і будемо зараз розгортати
1. Таблиця з переліком сайтів
Спочатку нам потрібно створити просту гугл таблицю з двома вкладками “Сайти” та “Лог”
Тут важливо зберегти порядок та назви вкладок, вони зашиті у скрипт, назва самого документу не принципова. Можете просто скопіювати собі готовий шаблон
На даному етапі нам потрібно скопіювати ID саме вашої копії документу – частину адреси сторінки що виділено жирним
docs.google.com/spreadsheets/d/ 1czRW1o2… /edit
2. Власний чат-бот в Telegram
Щоб отримувати сповіщення потрібно створити свій окремий бот в який ви будете отримувати всі сповіщення скрипта
До речі, цей бот можна буде використовувати і для інших сповіщень, від інших скриптів, наприклад, я отримую туди сповіщення про низький баланс на акаунтах, або міні-звіти по проектах
- В пошуку по контактах вводимо @BotFather
- Тиснемо /start, потім /newbot
- Вводимо ім’я/назву бота
- Вводимо унікальний та ніким не зайнятий юзернейм бота, який закінчується на bot (наприклад, My_Bot)
- Чат видає нам токен — він виглядає як 12345678910:ABCD… — копіюємо його кудись для наступного етапу
Коли ми створили бота потрібно дізнатись ID чату:
- Запускаємо свого бота прописавши /start
- В рядок браузера вставляємо api.telegram.org/bot 12345678910:ABCD… /getUpdates
- Браузер видасть текст де буде частина “chat”: { “id”: 123456789, …} — ось ці цифри і будуть id чату — зберігаємо їх для наступного кроку
3. Скрипт перевірки
- Переходимо на сторінку Google Apps Script
- Вставляємо у поле готовий текст скрипту замінивші три змінні на самому початку коду:
const TELEGRAM_TOKEN = ‘12345678910:ABCD…‘;
const CHAT_ID = ‘123456789‘;
const SPREADSHEET_ID = ‘123abcdefg‘; - Зберігаємо скрипт на гугл диску через кнопку іконки з дискетою трохи вище коду
- Активуємо скрипт синьою кнопкою “Ввести в дію” в правому верхньому куті, далі всюди тиснемо “Ок”
4. Налаштовуємо періодичність виконання скрипта
- В бічній панелі праворуч обираємо пункт “Тригери” тобто умови виконання скрипта
- В правому нижньому куті тиснемо синю кнопку “Додати тригер” і обираємо періодичність виконання скрипта, оптимальний варіант не частіше 10 хвилин + обираємо, щоб сервіс негайно сповіщав вас про помилки виконання, ці сповіщення будуть вже не у телеграм, а на пошту

Все, готово) Для перевірки додайте в гугл док посилання на неіснуючий або неробочій сайт, після чого або зачекайте спрацювання тригера, або запустіть скрипт вручну, в Apps Script є кнопка play для запуску скрипта в редакторі
Під самим редактором можна побачити лог з помилками, якщо вони будуть