Telegram-бот получает обновления ПРОТИВ setWebhook

#telegram #telegram-bot

#telegram #telegram-бот

Вопрос:

Ответ №1:


Не имеет значения, какие серверные приложения вы хотите использовать. Обычно getUpdates используется для отладки. Для публикации ваших ботов вам необходимо использовать Webhook . Посмотрите на это.

getUpdates — это механизм вытягивания, setWebhook — это push. Есть некоторые преимущества использования Webhook по сравнению с getUpdates:

  1. Позволяет вашему боту часто запрашивать обновления.
  2. Устраняет необходимость в каком-то механизме опроса в вашем коде.

Ответ №2:

Популярная библиотека python-telegram-bot строит большинство примеров на основе опроса getUpdates , а затем осторожно переходит к webhooks:

У вас должна быть веская причина переключиться с опроса на webhook.

https://github.com/python-telegram-bot/python-telegram-bot/wiki/Webhooks

Лично я считаю, что webhook — это более чистый способ получения информации о событиях из Telegram API (запрос POST отправляется из Telegram сразу после события, нет необходимости в цикле ожидания), но для этого требуется больше инфраструктуры:

  • предоставить общедоступную конечную точку API
  • приложение должно быть готово к передаче этого вызова конечной точке

Большинство руководств посвящено тому, как быстро запустить пример бота и сделать это на локальном компьютере, поэтому getUpdates это естественный выбор для этого.