- Пройдите регистрацию в telegram
- Получите идентификатор нового бота (далее <Bot_token>): обратитесь к боту @BotFather c требованием создать нового бота (команда /newbot)
- Получите Идентификатор беседы с ботом (далее <chat_id>):
- Откройте диалог со своим созданным ботом и напишите ему произвольное сообщение
- Откройте в браузере ссылку, заменив <Bot_token> на полученный идентификатор от @BotFather
https://api.telegram.org/bot<Bot_token>/getUpdates
- В полученном json-ответе найдите значение в параметре result->message->chat->id, это и есть <chat-id>
- Откройте браузер и перейдите по ссылке, заменив <Bot_token> и <chat_id> на свои данные
https://api.telegram.org/bot<Bot_token>/sendMessage?chat_id=<chat_id>&text=Привет%20мир
Тем самым Вы получите сообщение от бота на все свои устройства с клиентом telegram.
Последний вызов можно использовать в bat-файле или консоли или раздать друзьям не имеющим telegram и пишущим с умного утюга ( но только очень хорошим друзьям так как <Bot_token> конфиденциальная информация вообще-то).
Пример для консоли:
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'))
Комментарии (17)
Dimano
22.07.2016 12:25А как в бессерверном варианте получить сообщения из канала на который бот подписан?
Добавил бота в администраторы канала, писать бот может, но сообщения через getUpdates ему из канала не приходят не зависимо от того начинаются ли они с '/' имеют обращение к боту и значения команды /setprivacy.
Никто не сталкивался?
NeoCode
22.07.2016 12:29+1Была бы очень интересна статья, в которой рассказывалось бы что это вообще такое — telegram боты, зачем они вообще нужны, как устроены, какие полезные задачи решают, в чем их киллер-фича (если она есть) по сравнению с другими технологиями.
irony_iron
22.07.2016 12:42+2Боты это как бы сервисы-собеседники в мессенджере. Подписался на него и например можно использовать, чтобы оперативно сообщить об опасности:
ping yandex.ru -t || start https://api.telegram.org/bot<Bot_token>/sendMessage?chat_id=<chat_id>^&text=Мир%20В%20ОПАСНОСТИ
irony_iron
22.07.2016 13:17+1Чтобы все заработало в батнике надо учесть следующее:
Экранирование в батнике съест один крыжик в команде, поэтому их должно быть три
start https://api.telegram.org/bot<Bot_token>/sendMessage?chat_id=<chat_id>^^^&text=Привет%20мир
Файл bat надо сохранить как utf-8 без BOM и добавить команду chcp 65001, чтобы отсылаемое сообщение было с русским языком.
dmx102
22.07.2016 13:36+2Хотел сделать уведомления с сайта себе в Telegram, но было не удобно извлекать chat_id. Как к стати. Спасибо
galaxy
22.07.2016 18:33А там какая-нибудь авторизация предусмотрена? А то «откройте ссылку» и все… пугающе просто
irony_iron
22.07.2016 18:47Ну в документации сказано, что если хотите безопасности — просто никому не говорите токен бота :|
galaxy
22.07.2016 18:58а из протокола телеграма он не выковыривается?
irony_iron
22.07.2016 19:09Не знаю, насчет протокола телеграма, но любой снифер в сети покажет все что требуется — в протоколе https url и параметры не шифруются:
dmx102
22.07.2016 22:06+1Не вводите людей в заблуждение. HTTPS это тот же HTTP, но работающий внутри шифрованного канала SSL и TLS. Все параметры, передаваемые через query string так же шифруются. Для реализации TLS используется расширение SNI, позволяющее передавать имя хоста в открытом виде, для решения проблемы с ip и сертификатами.
Но! передавать чувствительные данные через query string чревато тем, что они могут оседать в логах сервера, и все!irony_iron
24.07.2016 18:19Вы правы, что-то я недопонял в свое время в работе https, а скриншот это просто пример успешной атаки mtm с использованием прокси
shpaker
Эм? Вы серьёзно? Статья на хабр одной строкой? Твиттер был в соседней вкладке )
irony_iron
Просто время сейчас такое, что быстрее сделать что-то, чем понять что это и зачем оно тебе)
shpaker
У меня почти такой же костыль есть, но немного поизящней. Натыкать всё его хочу на домашние пека на разные события планировщика.