Notifyman — Телеграм-бот для получения уведомлений (отправка из консоли, откуда угодно)

Отправка сообщений с помощью curl!

Иногда возникает необходимость быстро и легко, без танцев с бубном передать себе какое-то оповещение, чтоб узнать статус задачи или получить моментальное сообщение об ошибке, будь то в работе программы, сайта или какого-нибудь скрипта, да откуда угодно!

Чтобы каждый раз не городить сложных систем и не придумывать, как же всё-таки получить уведомление из недр программы, был создан небольшой телеграм-бот @notifyman_bot. И вот, как он работает:

Для начала надо написать боту, чтоб получить специальную ссылку, на которую потом можно делать запросы методами GET или POST, передав сообщение в параметре msg. Бот понимает, кому какая ссылка принадлежит, и при получении сообщения на сайте, тут же заботливо отправляет это же сообщение в Телеграм нужному человеку, который эту самую ссылку сгенерировал. Вот и вся магия, всё довольно просто, но эффективно!

И вот, как всё это выглядит:

Что происходит при начале диалога с ботом. Вот и всё, что нужно 🙂

А теперь попробуем что-нибудь отправить, просто открыв в браузере этот адрес, но с параметром msg, иначе будет ошибка:

Бот отправил сообщение, которое ему прислали по ссылке

Стоило вписать параметр msg=Hello, world🤘😎, как бот тут же прислал это сообщение в Телеграм, а на сайте в ответ получили OK. Если что-то пойдёт не так, в ответ на запрос будет выдано соответствующее сообщение (например, ссылка уже не валидна или не передан параметр с сообщением).

Также важный момент: если отправлять сообщения методом GET, нужно позаботиться о том, чтоб параметр msg был urlencoded, но это, думаю, и так понятно.

Помимо простого текста, можно отправлять сообщения с Markdown разметкой. Для этого нужно передать параметр type со значением markdown. Давайте посмотрим, как это выглядит:

Сообщения с markdown!

В этот раз отправили сообщение msg=*Hello*, _world_ 🤘😎, и слово Hello стало полужирным, а слово world наклонным. Если не передать параметр type=markdown, то все эти символы разметки передались бы как есть.

Вот ещё пара примеров отправки оповещений из консоли, используя curl и другие средства:

CURL в действии. Ничего сложного. Всё работает)

А что на счёт PowerShell?

И в PowerShell всё работает:)

В общем, суть, думаю, ясна).

Бот имеет свою страничку, где есть та же инструкция по шагам, но без картиночек: notify.qofa.ru

Не нужно ничего устанавливать, не нужно встраивать какой-то сложный код в свои скрипты или сайты, достаточно обратиться по выданному ботом адресу и на этом всё!

Практически любой язык программирования имеет возможность делать HTTP-запросы, а потому отправлять себе уведомления через бота можно откуда угодно.

Осталось только придумать, где это можно использовать, а сценариев использования полным-полно! Для любой ОС есть wget или curl, а если нет, то уж точно можно найти способ сделать GET-запрос :).

Кстати, если нужно аннулировать ссылку, то достаточно отправить боту команду /stop или /nonotify (об этом бот сам пишет при создании ссылки). Это может пригодиться, если нужно избавиться от прежней ссылки (вдруг она кому-то попала, и теперь кто-то спамит вам сообщениями в телегу), ну или может просто ссылка старая надоела, захотелось чего-то нового, всякое ж может быть 😬


На этом, пожалуй, всё! Кажется, эту статью я дольше писал, чем самого бота делал, жуть!

Но почему бы не поделиться с миром ещё одной полезной приблудой, может, кому-то ещё пригодится, а я этому буду только рад).

Возможно, в будущем появится возможность создавать разные ссылки для разных приложений, чтоб не было одной ссылки на всё про всё, да и так удобней и безопасней будет, а в итоге всё дойдёт до полноценной системы сборы событий и логов, но таких систем, кажется, и без этого хватает 😅

Вам также может понравиться

About the Author: shpirat

Добавить комментарий

Войти с помощью: 

Ваш адрес email не будет опубликован. Обязательные поля помечены *