Что выбрать
Где хостить Telegram-бота: сравнение хостингов и Netrun
Коротко
Хостить Telegram-бота можно тремя способами: на специализированном хостинге для ботов, на своём VPS или на платформе общего назначения вроде Netrun. Специализированный сервис обычно проще на старте, но упирается в потолок, когда рядом с ботом нужен сайт, админка или база. VPS даёт полную свободу, но вы платите за неё временем на настройку и присмотр. Netrun запускает бота из загруженного кода и по тем же правилам поднимает рядом сайт или базу, а на бесплатном тарифе бот работает три дня, дальше нужен тариф Pro.
Когда бот написан и отвечает у вас на ноутбуке, встаёт следующий вопрос: где хостить Telegram-бота, чтобы он работал сам по себе. Обычно сравнение сводится к трём путям: специализированные хостинги для ботов, обычный VPS и платформы, которые запускают любой код. Выбирают их не по списку характеристик, а по тому, что вы собираетесь делать с проектом дальше.
Обычно за круглосуточную работу бота платят вечером за терминалом: арендовать сервер, поставить туда язык, завести службу, чтобы процесс поднимался после перезагрузки, и потом за всем этим присматривать. В Netrun вы загружаете папку с кодом, платформа сама определяет, на чём написан бот, собирает его и запускает, токен вводится в отдельное поле, а логи видно в кабинете. Дальше — честное сравнение трёх путей и что делать, если бота нужно перенести.
Определите, останется ли проект только ботом#
Если вы точно знаете, что дальше бота ничего не будет, подойдёт почти что угодно, включая самые узкие сервисы. Но чаще к боту со временем добавляется что-то ещё: страница с описанием и оплатой, админка для контента, база с историей заказов. Ответ на этот вопрос и определяет выбор хостинга, остальное — детали.
Посмотрите на специализированные хостинги для ботов#
Специализированные хостинги для ботов, как правило, устроены вокруг одного сценария: вы приносите код бота и токен, сервис его запускает. Пока задача ровно такая, это удобно: меньше выбора, меньше настроек, быстрее старт. Потолок появляется, когда боту нужен сосед — сайт, панель управления или база данных: узкий сервис обычно на это не рассчитан, и проект приходится растаскивать по разным местам. Условия у всех разные, поэтому сверяйтесь с документацией конкретного сервиса, а не с чужими обзорами.
Прикиньте, сколько времени съест свой VPS#
На собственном сервере можно всё: любой язык, любой софт, любые фоновые задачи. Но настройку и присмотр вы берёте на себя: служба, чтобы бот поднимался после перезагрузки, обновления системы, место на диске, перезапуск после падения. Для одного бота это обычно несколько вечеров вначале и понемногу времени каждый месяц дальше. Если сервер интересен вам сам по себе, вложение окупается, если нет — вы просто платите временем.
Проверьте, что будет, когда рядом с ботом появится сайт или база#
Платформа общего назначения отличается от узкого сервиса именно этим: бот, сайт и база живут по одним правилам, в одном кабинете и с одной оплатой. В Netrun сайт загружается так же, как бот, на любом из поддерживаемых языков, а базу можно поднять рядом с приложением своим файлом docker-compose, до пяти связанных сервисов в одном проекте. Управляемой базы данных как отдельной услуги у нас нет: она либо живёт вашим сервисом рядом с кодом, либо берётся внешняя.
Учтите рамки бесплатного тарифа#
Сайт на бесплатном тарифе живёт сколько угодно: он засыпает при простое и сам просыпается, когда кто-то открывает ссылку. С ботом так не выходит: по ссылке его никто не открывает, это он сам стучится в Telegram, поэтому будить его нечем. Из-за этого бот на бесплатном тарифе работает три дня, а потом выключается: код, настройки и токен остаются на месте, за сутки приходит предупреждение, а круглосуточная работа включается тарифом Pro. Отсчёт идёт на аккаунт, а не на каждый проект, а актуальные цены и лимиты видны в кабинете.
Перенесите бота: код, токен, данные, одна копия#
Сам перенос обычно занимает минуты. Загрузите папку с кодом архивом или импортируйте репозиторий с GitHub, в том числе приватный; токен от BotFather не оставляйте в коде, а введите в поле секрета при настройке — он хранится зашифрованным. Файлы, которые бот пишет сам, например базу SQLite или картинки, держите в постоянной папке /data, иначе они пересоздадутся при следующей публикации. И главное: выключите старую копию бота на прежнем месте, потому что две запущенные копии с одним токеном мешают друг другу и бот начинает отвечать через раз.
Лучшего хостинга для бота вообще, в отрыве от задачи, не существует. Специализированный сервис хорош, когда бот — весь проект и таким останется. Свой VPS оправдан, когда вам нужен полный контроль над машиной и вы готовы её обслуживать. Платформа общего назначения вроде Netrun закрывает случай, когда бот — это начало: сегодня он один, завтра рядом сайт с оплатой и база, и заводить под них три разных места не хочется. А если боту нужен доступ по SSH внутрь машины, управляемая база данных или объектное хранилище как отдельные услуги, то это не к нам: такого у нас нет, и честнее взять VPS или облако, где это есть. Попробовать Netrun.
Частые вопросы
Чем специализированный хостинг для ботов отличается от обычной платформы?
Специализированный сервис заточен под один сценарий: запустить код бота с токеном. За счёт этого он проще на старте, там почти нечего настраивать. Платформа общего назначения запускает любой проект, поэтому рядом с ботом можно поднять сайт, админку или базу и не разносить их по разным сервисам.
Можно ли перенести бота с другого хостинга, не переписывая код?
В большинстве случаев да. Обычный бот на long polling переезжает как есть: тот же код, тот же токен. Поправить обычно приходится две вещи — вынести токен и другие ключи из кода в секреты и убедиться, что файлы, которые бот пишет, лежат в постоянном хранилище, а не рядом с кодом.
Почему после переезда бот отвечает через раз?
Почти всегда потому, что старая копия бота осталась запущенной на прежнем месте или на вашем компьютере. Две копии с одним токеном разбирают сообщения по очереди, и половина ответов теряется. Telegram в такой ситуации возвращает ошибку про конфликт getUpdates. Лечится тем, что вы оставляете ровно одну работающую копию.
Что будет с базой бота при переносе?
Файл базы нужно перенести отдельно и положить туда, где он переживёт обновление кода. В Netrun это постоянная папка /data: файлы в ней остаются при новой публикации и перезапуске, а всё, что лежит просто рядом с кодом, создаётся заново. Загрузить готовый файл базы можно во вкладке «Данные» в кабинете.
Нужен ли Telegram-боту домен и HTTPS?
Боту на long polling домен не нужен: он сам обращается к Telegram, входящие соединения ему не требуются. Если бот работает через webhook, публичный адрес с HTTPS выдаётся сразу при публикации, покупать домен и настраивать сертификат не нужно.
Как проверить, что бот действительно работает после переноса?
Напишите боту в Telegram и посмотрите логи в кабинете: там видно и старт приложения, и входящие запросы. Если бот молчит, причина обычно в логах на виду — неверный токен, отсутствующая библиотека или вторая запущенная копия.
Можно ли разместить Telegram-бота?
Да. Загрузите код бота и укажите токен от BotFather (его выдаёт сам Telegram при создании бота) — Netrun запустит бота, VPS и ручная настройка не нужны. На бесплатном тарифе бот работает 3 дня, чтобы вы всё проверили; чтобы он работал круглосуточно, подключите тариф Pro.
Засыпают ли боты и фоновые скрипты?
Нет, засыпают только сайты: сайт просыпается сам, когда его открывают. Бота и фоновый скрипт разбудить нечем — к ним никто не приходит по ссылке, они работают сами по себе. Поэтому на бесплатном тарифе они работают 3 дня, а дальше, чтобы бот работал круглосуточно, нужен тариф Pro.
Что будет с ботом через 3 дня на бесплатном тарифе?
Бот выключится, но код, настройки и секреты останутся на месте — мы ничего не удаляем. За сутки до выключения мы пришлём предупреждение. Подключите тариф Pro, и бот запустится с того же места и будет работать круглосуточно. Новый бот, загруженный после этого, тоже соберётся, но работать не начнёт: бесплатное время считается на аккаунт, а не на каждый проект.
Нужен ли свой сервер или VPS?
Нет. Netrun разворачивает проект на своих серверах. Не нужно арендовать VPS, настраивать systemd и nginx или продлевать сертификаты — всё это работает за вас.