http2000
@http2000

Как сервер Телеграм находит моего телеграм-бота, написанного на node.js?

Здравствуйте!
Я начал изучать создание телеграм-ботов на node.js. Я новичок в node.js, возможно не понимаю какого-то базового принципа работы всего этого дела.
Я создаю бота с помощью библиотеки Telegraf. Размещаю его у себя на локалке или сервере и бот начинает работать. При этом я не указываю где-либо ip адрес моего компьютера (или сервера), ничего вообще не указываю. Просто подключаю библиотеку Telegraf, указываю токен и вуаля - бот работает. Но вот одного я никак не могу понять. Объясните, пожалуйста, каким образом Телеграм находит моего бота, работающего на локалке или сервере? Откуда он знает, куда обращаться за ответом на запрос? Пользователь послал какое-то сообщение боту, сообщение ушло на сервер Телеграм, но как работает связка Сервер Телеграм - мой Сервер? Откуда Сервер Телеграм вообще знает про существование моего сервера и работающего на нем обработчика запросов (бота)? IP адрес моего сервера может измениться, но бот все равно работает. Получается, ip нигде не прописан жестко, как будто он вообще нигде не прописан. У меня одна мысль - мой сервер посылает n-ое количество запросов в секунду на сервер телеграм и в случае обнаружения там запроса посылает ответ.
Заранее спасибо за ответы!
  • Вопрос задан
  • 310 просмотров
Решения вопроса 1
Ternick
@Ternick
Всё просто)

У телеги есть апи, у бота токен.
Библиотека по токену обращается к апи, раз в некоторое время и получает json, в котором есть много информации, в зависимости от запроса, в том числе и сообщения, которые приходят боту от людей, так же через апи метод он на них и отвечает.

От вас ничего не требуется, кроме доступа в интернет, при таком построении работы.
Есть более сложная конструкция, бот на вебкхуках, тогда вам нужно будет указать ваш домен или ip, к которому телеграмм будет обращаться в случае получения новых сообщений.

Документация по этому поводу:
https://core.telegram.org/bots/api
Там описаны все возможные методы и структуры для работы с апи.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы