Простой Telegram бот на Python, метод getUpdates
Из этой статьи вы узнаете, как с помощью Python можно создать Telegram бота используя для этого библиотеку requests. Этот урок будет полезен для начинающих разработчиков, для тех кто только начал познавать работу протокола HTTP в Python.
Requests — это Python HTTP библиотека, цель которого сделать запросы HTTP проще и удобнее для человека. Requests поможет вам легко разобраться с любой API.
Создаем бота
Для начала нужно создать бота и получить токен, для этого выполним пару простых шагов.
Шаг 1. Заходим в Telegram (для удобства можно воспользоваться web-версией), и с помощью поисковой строки находим отца всех ботов @BotFather .
Шаг 2. В беседе с @BotFather выполняем команду /newbot и даем придуманное имя, и никнейм боту (я создал бота по имени «RamasTestBot»).
Шаг 3. В ответ мы получили сообщение, где указан токен и ссылка на нашего бота, переходим по ссылке и пишем боту любое сообщение.

Бот готов, сейчас можно переходить к самому интересному.
Telegram API входящие сообщения
Для того что бы получить входящие обновления бота, воспользуемся методом getUpdates . Откроем в новой вкладке браузере ссылку, используя свой полученный ранее токен.
В ответ мы должны получить массив объектов, где можно увидеть отправленные нами ранее сообщением боту, в моем случае это «/start» и «Hello» (если ответ пустой, отправьте своему боту еще одно сообщение, и обновите страницу с ссылкой).

Теперь осталось повторить все на Python. Напишем код, где будем отправлять GET запрос, и с помощью полученных данных в ответ (массива данных) научим программу понимать, что боту написали новое сообщение.
Для проверки выведем в консоль уникальный идентификатор пользователя, и его сообщение


Telegram API отправить сообщение
Для того, что бы отправлять сообщение от имени бота, существует метод sendMessage .
Откроем в новой вкладке браузера ссылку используя свой токен, и в параметрах укажем:
- chat_id : уникальный id пользователя, что бы бот понял кому именно ответить (в моем случае это 792035400).
- text : Текст самого сообщения

Повторим все на Python.
После каждого запуска программы мы увидим что наш бот отправляет сообщение Привет, хорошо, а ты как? .
Создаем простого телеграм бота
С методами getUpdates, и sendMessage API Telegram мы разобрались, используя свои знания напишем программу которая научит нашего бота отвечать на сообщение.

Теперь наш бот может поприветствовать, и ответить, как у него дела). Скоро я выпушу вторую часть, где покажу как отправлять файлы и выводить настраиваемую клавиатуру (вторая часть).
Телеграм бот на PHP отправляющий сообщения с сайта

Что если сообщения с сайта будут приходить не только на ваш e-mail, но и моментально в мессенджер телеграм. Удобно же! Нужно было реализовать такой функционал, ну как и всегда все оказалось довольно просто.
Так же стояла задача отправлять сообщения не только владельцу сайта, но и дублировать их в группу сотрудников компании.
Было решено создать телеграм бота, который будет принимать данные с помощью API и отправлять их пользователям.
Шаг 1. Создание телеграм бота
Боты в Telegram создаются через другого специального бота @BotFather. Нужно найти его и отправить ему команду /start.
Для создания нового бота отправляем следующую команду /newbot. После чего бот запросит имя вашего нового бота, оно обязательно должно заканчиваться на Bot. В случае успеха в ответ получаем уникальный токен бота, который понадобится для дальнейшей работы. И не забудьте добавить вновь созданного бота в ваши контакты отправив ему команду /start

Шаг 2. Получить токен и chat id бота
Чтобы отправить сообщение пользователю через бота достаточно вызвать определенный URL из PHP скрипта содержащий токен бота и внутренний ID чата chat id.
Токен бота у нас уже есть, а chat id можно получить 2 способами:
- Написать боту @ShowJsonBot любой текст. В ответ он вернет вам некие данные в JSON формате. Находим объект chat и в нем id — это и есть ваш chat id.
- В адресной строке ввести https://api.telegram.org/bot<YourBOTToken>/getUpdates где <YourBOTToken> — это ранее полученный токен вашего бота. Находим объект chat и в нем id — это и есть ваш chat id.

Шаг 3. Разработка PHP скрипта для отправки сообщений в Telegram
Чтобы бот отправил сообщение, нужно сделать запрос к определенному URL содержащему токен бота, ваш chat id и значение text — текст, который бот выведет пользователю.
Поиск строительных материалов и комплектующих https://aveprice.ru. Ведение статистики, мониторинг, сравнение и история цен на стройматериалы. В одном месте собраны поставщики, заводы-производители, ритейлеры и различные распространители строительных материалов и комплектующих.
Проверить работоспособность можно и напрямую через адресную строку браузера. Пример строки:
<YourBOTToken> — это токен вашего бота, <YourCHATID> — ваш chat id и <YourMESSAGE> — это текст сообщения.
Запрос к URL будем делать с помощью cURL :
Как видите все довольно просто. В переменной $message можно передавать любой текст, который будет отправляться ботом пользователю.
Прокси для телеграм бота
В связи с блокировкой телеграм возможно сообщения не будут отправляться, так как скрипт не сможет запросить нужный URL. Для этого можно воспользоваться прокси сервером.
Нужен ремонт телефонов краснодар? Качественный, проверенный и надежный сервис оказывает услуги по ремонту телефонов любой сложности за короткий срок.
Прокси сервера можно найти на сайтах-списках прокси или купить. Чтобы соединиться через прокси-сервер в параметрах вызова cURL добавляем несколько строк
Где 127.0.03.1:8080 — это адрес и порт прокси-сервера и CURLPROXY_SOCKS5 — это тип соединения, в данном случае SOCKS5
Добавить бота в группу телеграм
Чтобы бот мог отправлять сообщения в группу, необходимо его туда добавить. Сделать это можно в настройках группы в разделе Добавить участника. В поиске необходимо ввести имя вашего бота и нажать OK.
Теперь в настройках скрипта нужно изменить chat id пользователя, на chat id нужной группы. Для этого предварительно нужно написать любое сообщение в чат, а затем в адресной строке ввести https://api.telegram.org/bot<YourBOTToken>/getUpdates где <YourBOTToken> — это ранее полученный токен вашего бота. После находим объект chat и в нем id — это и будет chat id группы.
Заключение
Как видите отправлять сообщения в телеграм не так уж и сложно. А пример PHP скрипта приведенный здесь, можно модернизировать под любые нужны.
А если немного изучить документацию, по аналогии можно создавать аналогичных ботов для приема заявок с сайта в Viber или например ВКонтакте.