Telegram-бот, который работает, пока ты отдыхаешь
Как аналитик, я часто запускаю тяжёлые SQL-скрипты. Некоторые из них выполняются долго, могут упасть, а иногда — наоборот, неожиданно быстро отрабатывают. Раньше я просто сидел и смотрел в экран. Или забывал проверить вовремя, теряя время.
Теперь всё проще — я настроил Telegram-бота, который сам шлёт мне сообщение, когда скрипт завершился. Или если вдруг он упал. Даже если я в это время на встрече, завтракаю или не у компа — уведомление приходит прямо на часы, телефон, куда угодно.
Это экономит кучу времени и реально повышает продуктивность: не нужно постоянно следить вручную, бот сам говорит, когда можно брать данные и работать дальше. А если что-то пошло не так — я узнаю об этом сразу.
И всё это делается за 5 минут на Python. Сейчас покажу, как.
Шаг №1: Создаём Telegram-бота:
1) Открываем Telegram и пишем в поиске @BotFather — это официальный бот для управления другими ботами.
2) Отправляем команду: /newbot
- Имя для бота: Можно любое (это имя, которое будет отображаться в чатах)
- Username (обязательно должно заканчивается на
bot, например: ssos_alert_bot)
4) Получаем в ответ токен — это строка вида: "9107281927:GvGWxBBiGTbPBvPubgWW-tBGTR-pWnuT-y1" (копируем ее без кавычек)
Шаг №2: Переходим в python:
Теперь нам нужно узнать свой chat_id, чтобы бот знал, куда писать
1) Устанавливаем библиотеку requests, если не установлена - для этого выполняем следующий код:
pip install requests
2) Пишем любое сообщение в чат боту (это нужно чтобы в следующем пункте мы нашли свое сообщение).
3) Пишем и выполняем следующий код:
Заполняем переменные своими значениями и выполняем код
import requests
TOKEN = 'ВАШ_ТОКЕН_БОТА' # здесь ваш token от бота из пункта 1.4
url = f'https://api.telegram.org/bot{TOKEN}/getUpdates'
response = requests.get(url).json()
print(response)'chat': {'id': 4815162342, ...}Шаг №3: Отправляем себе любое сообщение:
Заполняем переменные своими значениями и выполняем код
bot_token = 'ВАШ_ТОКЕН_БОТА' # здесь ваш token от бота из пункта 1.4
chat_id = 'ВАШ_CHAT_ID' # здесь ваш chat_id из пункта 2.4
message = '✅ Скрипт завершён, можно работать!'
url = f'https://api.telegram.org/bot{bot_token}/sendMessage'
payload = {
'chat_id': chat_id,
'text': message
}
requests.post(url, data=payload)Поздравляю, если вы все сделали правильно, на этом моменте вы должны были получить свое первое сообщение от бота.