Телеграм-бот на хостинге: polling, вебхук и сервер, термины и чек-лист

Подробности, цифры, термины и чек-лист по теме «Телеграм-бот на хостинге: polling, вебхук и сервер». Страница справочника целиком: Телеграм-бот на хостинге.

Коротко о теме

Телеграм бот на хостинге: long polling или вебхук, лимиты Bot API на файлы в 20 и 50 МБ, перенос бота с компьютера на VPS и выбор сервера.

Подробности по разделам

Polling или вебхук: как телеграм-бот получает сообщения

Параметр secret_token в setWebhook заставляет Telegram добавлять заголовок X-Telegram-Bot-Api-Secret-Token, и бот отвечает только на запросы с правильным значением.

Какой сервер нужен для телеграм-бота

Калькулятор учитывает именно это. Три вопроса о нагрузке, ответ с конфигурацией и ценой Бесплатные варианты тоже есть, но у каждого свой подвох: засыпание, лимиты часов или запрет постоянных процессов. Разбор: бесплатный хостинг для бота.

Ключевые цифры

Термины на странице

Telegram-бот
Telegram-бот работает постоянно, поэтому его размещают на сервере, а не на обычном хостинге.
Nginx
Nginx это веб-сервер и обратный прокси. Его часто ставят перед приложением, чтобы раздавать статику и держать HTTPS.
Python
Python это язык программирования. На сервере на нём часто пишут ботов и скрипты.
Certbot
Certbot это программа, которая получает и продлевает сертификаты Let's Encrypt на сервере.
Let's Encrypt
Let's Encrypt выпускает бесплатные DV-сертификаты на 90 дней с автоматическим продлением.
SSH
SSH это защищённое подключение к серверу через командную строку. Вход по ключу безопаснее, чем по паролю.
Задержка
Задержка это время ответа сервера. Она растёт с расстоянием до дата-центра.

Что проверить

  1. Выберите конфигурацию по памяти и диску под задачу, процессор обычно вторичен.
  2. Проверьте тип виртуализации: KVM даёт свою систему и гарантированные ресурсы.
  3. Уточните, входит ли IPv4 и сколько стоит трафик сверх пакета.
  4. Храните данные контейнеров в томах.
  5. Закрепляйте версии образов, а не latest.
  6. Ограничьте ресурсы контейнеров, чтобы один не съел весь сервер.

Связанные страницы