Энциклопедия дистанционной
работы и образования
eng

Как работает Телеграм-бот?

Понимание того, как работает Телеграм бот, пригодится при создании собственной программы (для личных целей или заработка). Впрочем, и тем, кто сталкивается с ботами, как пользователь, информация тоже может быть интересна.

Принцип устройства Телеграм бота

Мы уже писали о том, что Телеграм-бот — это программа, которая выполняет определенные функции внутри мессенджера. При этом чат, который отображается в Телеграм, является лишь окном, через которое бот «общается» с пользователями.

Основная часть программы бота (ее «сердце и мозг») находится где-то на серверах разработчиков. Все рабочие процессы протекают именно там. Мессенджер просто принимает сигналы и возвращает ответы на них, позволяя пользователям взаимодействовать с ботом.

Принцип можно сравнить с работой телевизора. Устройство только показывает новости.  При этом сами ведущие находятся где-то далеко в телестудии, как и съемочная группа. Там же происходит процесс съемки (далеко от человека, который смотрит телевизор).

Как работает бот в Телеграме

Таким образом, процесс можно условно разделить на несколько этапов.

  1. Пользователь пишет в Телеграме какую-то команду для бота (сообщение о начале диалога «/start», вопрос или какое-то утверждение, требующее реакции программы, либо же нажимает кнопку в боте).
  2. Мессенджер пересылает команду на сервер владельца бота, где она обрабатывается.
  3. Там же, на сервере, программа формулирует ответ для пользователя (согласно заложенному ее разработчиками алгоритму).
  4. Ответ направляется с сервера владельца бота на сервер Телеграм.
  5. Мессенджер получает ответ и пересылает его в диалог бота с пользователем.

Именно так работает чат бот в Телеграме. Весь процесс занимает чаще всего доли секунды. Поэтому человеку кажется, что ответы программы поступают мгновенно. Создается ощущение, что общение с ботом происходит внутри Телеграм. Но на самом деле это не так.

Пример того, как работает Телеграм бот

Допустим, у вас есть бот-калькулятор. Пользователь спрашивает его «сколько будет  2*2». В самом Телеграме никаких расчетов не производится. Мессенджер отправляет вопрос на сервер владельца бота (он может находиться где угодно).

Программа, располагающаяся на сервере, получает запрос и обрабатывает его (считает, сколько будет 2*2). Закончив вычисления, она отправляет ответ на сервер Телеграм. Можно сказать, она обращается к мессенджеру: «этот пользователь спрашивал, сколько будет 2*2, передай ему, что получится 4».

Телеграм передает ответ пользователю, выступая посредником в общении между ним и ботом. Ответ отправляется в диалог, где человек может его увидеть. По такому принципу работают все чат боты в Телеграме.

Сценарии взаимодействия

Существует 2 сценария взаимодействия (общения) программы бота с Телеграмом. 

— Long Polling

Выражение Long Polling в переводе означает «длинные запросы». Это самый распространенный и простой способ взаимодействия бота с мессенджером. Поэтому им пользуется большинство начинающих разработчиков.

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

Так как программа бота все делает сама, мессенджеру не нужно знать, где она находится. Это освобождает разработчиков от назначения отдельного IP-адреса для сервера (что позволяет экономить на платной услуге).

По такому принципу в Телеграме работают простые боты с небольшим количеством подписчиков. Минусом метода являются некоторые ограничения. Если людей, обращающихся к боту, становится очень много, программу приходится переделывать для работы по другой схеме.

Для ботов, работающих с большим количеством пользователей, подходит только более сложный сценарий взаимодействия с Телеграмом. Сейчас расскажем о нем.

— Webhook

Webhook — технически более сложный для разработчиков вариант. Этот способ взаимодействия бота с мессенджером требует определенной настройки сервера и получения для него уникального IP-адреса.

В этом случае бот сам не стучится в Телеграм и не спрашивает, поступили ли какие-то запросы от пользователей. При появлении запроса мессенджер сам сообщает об этом программе, отправляя данные на ее сервер (по указанному в настройках IP-адресу).

Webhook используется реже из-за своей сложности. Но большинство крупных Телеграм ботов с богатым функционалом работает именно по этому принципу.

Итак, теперь у вас есть общее представление о том, как работает бот в Телеграме. Читайте и другие наши статьи о создании ботов в данном мессенджере и заработке на них.

Дополнительные статьи:

Все способы заработка в Телеграм
В одной статье собрали все реальные способы заработка
Подробнее...
Сколько реально заработать на телеграм-канале?
Подробно разбираем, как и сколько можно заработать на телеграм-канале
Подробнее...
Заработок в Телеграме на отзывах
Вся информация о том, как и сколько можно заработать на отзывах
Подробнее...
Энциклопедия дистанционной работы и образования.
Абсолютно все, что нужно знать,
чтобы учиться и работать удаленно.