Фото Григорьева Ивана

👋 Добро пожаловать! Меня зовут Григорьев Иван, я Full Stack Developer. В основном пишу на PHP (Nette, Laravel), Python (Django, DRF), Vue (Quasar Framework). Опыт профессиональной разработки более 10 лет.

💼 Работаю в компании MACRO разработчиком. В свободное время оказываю консультации по разработке ПО.


Сайт использует HUGO и Bootstrap. Хостинг Firebase.
Icon made by Freepik perfect from www.flaticon.com.

Связь со мной: me[at]ivanscm.name

Уведомления в Telegram одной строкой кода

image from Уведомления в Telegram одной строкой кода

Иногда требуется внедрить в приложение, сайт или скрипт - уведомления. Это может быть уведомление об ошибке или успешном завершении резервной копии, сообщение формы обратной связи или заявка. Но вы должны знать о них на своем мобильном устройстве, здесь и сейчас. Если вы пользователь Telegram, существует простой способ отправки таких уведомлений, с любой платформы, на любом языке программирования.

Telegram боты

В Telegram существуют боты, по сути это такие же аккаунты, которые находятся в поиске и с ними можно вступать в диалог, обмениваться информацией. Но по ту сторону бота, его автор или разработчик закладывает свою логику взаимодействия с пользователем. Еще одно отличие бота: встаивамые кнопки (даже целые клавиатуры) в ответ. Взаимодействие происходит через Telegram API.

Создание и управления ботами происходит через главного бота - @BotFather. Символично, не правда ли? 😀

Существует множество библиотек для реализации взаимодействия на многих популярных языках програмирования: PHP, Python, NodeJS, Go и многие другие.

Сразу к делу

Но цель заметки - рассказать о способе отправки сообщения без подключения библиотек. Согласно оффициальной документации, вот этот способ:

https://api.telegram.org/bot<TOKEN>/sendMessage?chat_id=<CHAT_ID>&text=Hello%20World

Достаточно отправить HTTP запрос и уведомление у вас в “кармане”.

Добавив параметр parse_mode, можно задать тип форматирования: HTML - можно передавать HTML теги, MarkdownV2 - можно передавать Markdown разметку.

Пример кода на PHP:

<?php
$text = urlencode($message);
$url = "https://api.telegram.org/bot{$botToken}/sendMessage?chat_id={$chatId}&parse_mode=HTML&text={$text}";
file_get_contents($url);

Как получить Telegram Bot Token

Создание и управления ботами происходит через бота @BotFather.
  1. Создайте нового бота командой: /newbot
  2. Укажите визуальное имя бота. Например: Мои уведомления
  3. Укажите уникальное имя бота. Обязательно должно оканчиваться на bot, например: my_notify_bot
  4. После создания бота вы получите токен для доступа к Telegram API. Это должна быть строка вида 2159585662:BBEPmjlh84N85Lv3jGWEgOftlxxAfM241gs.

Как узнать ID чата в Telegram

Для того, что бы узнать идентификатор чата, можно воспользоваться другими ботами, например GetIDs Bot или Get User ID bot.

Заключение

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

В дополнении хочу сказать: изучите Telegram API, попробуйте придумать идею для реализации бота, подключите библиотеку для вашего языка и сделайте крутого бота! Не важно что это будет: напоминалка, игра, дополнительный интерфейс для приложения, что угодно - одно скажу: это чертовски увлекательно!

Поделиться:

comments powered by Disqus