Как стать автором
Обновить

Минимальный «hello world» telegram-бот

Время на прочтение2 мин
Количество просмотров131K
Здесь фокусник за четыре шага покажет как без боли и чтения документации собрать бот-оповещатель для telegram.

  1. Пройдите регистрацию в telegram
  2. Получите идентификатор нового бота (далее <Bot_token>): обратитесь к боту @BotFather c требованием создать нового бота (команда /newbot)
  3. Получите Идентификатор беседы с ботом (далее <chat_id>):
    • Откройте диалог со своим созданным ботом и напишите ему произвольное сообщение
    • Откройте в браузере ссылку, заменив <Bot_token> на полученный идентификатор от @BotFather https://api.telegram.org/bot<Bot_token>/getUpdates
    • В полученном json-ответе найдите значение в параметре result->message->chat->id, это и есть <chat-id>
  4. Откройте браузер и перейдите по ссылке, заменив <Bot_token> и <chat_id> на свои данные
    https://api.telegram.org/bot<Bot_token>/sendMessage?chat_id=<chat_id>&text=Привет%20мир

Тем самым Вы получите сообщение от бота на все свои устройства с клиентом telegram.

Последний вызов можно использовать в bat-файле или консоли или раздать друзьям не имеющим telegram и пишущим с умного утюга ( но только очень хорошим друзьям так как <Bot_token> конфиденциальная информация вообще-то).

Варианты использования
Заменив <Bot_token> и <chat_id> на свои данные, получим:
Пример для консоли:
ping yandex.ru -t || start https://api.telegram.org/bot<Bot_token>/sendMessage?chat_id=<chat_id>^&text=Мир%20В%20ОПАСНОСТИ

Пример для bat-файла, сохраненного как utf-8 без BOM и выполняющегося из taskschd.msc раз в 2 недели:
chcp 65001
start https://api.telegram.org/bot<Bot_token>/sendMessage?chat_id=<chat_id>^^^&text=Cходи%20в%20спортзал


Напомнинаю вариант запуска разового задания из консоли:
at 19:47 c:\temp\go_home.bat

Пример на python:
import urllib2
get = urllib2.urlopen('https://api.telegram.org/bot<Bot_token>/sendMessage?chat_id=<chat_id>&text=Без%20python%20не%20кошерно'.encode('UTF-8'))

Теги:
Хабы:
Всего голосов 27: ↑10 и ↓17-7
Комментарии18

Публикации