NetrunНа главную

Бесплатный хостинг для Telegram-бота на Python (aiogram)

· 5 мин чтения

Бот на Python готов: команды отвечают, aiogram запущен, на компьютере всё работает. Но как только вы закрываете ноутбук, бот замолкает — потому что он живёт у вас локально. Чтобы он отвечал круглосуточно, нужен компьютер, который не выключается, и обычно это означает аренду VPS, установку Python на сервер, настройку автозапуска через systemd и слежку за тем, чтобы процесс не упал.

Для бота на aiogram или pyTelegramBotAPI всё это можно не делать. Разберём, как подготовить бота и выложить его на бесплатный хостинг, где он будет работать без вашего компьютера и без ручной настройки сервера.

  1. Соберите зависимости в requirements.txt

    Создайте в корне проекта файл requirements.txt и перечислите в нём библиотеки — сам aiogram (или pyTelegramBotAPI) и всё, что использует бот. Папку с установленными библиотеками (venv) в архив класть не нужно: платформа соберёт окружение по этому списку сама.

  2. Вынесите токен бота из кода

    Токен, который выдал BotFather, не должен лежать прямо в коде и тем более попадать в публичный репозиторий — иначе бота смогут увести. Читайте токен из переменной окружения. При настройке проекта Netrun спросит это значение и подставит его как секрет снаружи кода.

  3. Используйте long polling, а не вебхук

    Для простого бота проще всего оставить режим long polling — когда бот сам спрашивает у Telegram новые сообщения. Так не нужно поднимать веб-сервер, настраивать вебхук и открывать порт. aiogram и pyTelegramBotAPI работают в этом режиме из коробки, и для хостинга это самый беспроблемный вариант.

  4. Проверьте команду запуска

    Убедитесь, что бот стартует одной командой — например, python bot.py — и не требует ручных действий после старта. Если точка входа называется иначе, платформа предложит указать команду запуска при настройке.

  5. Загрузите проект в Netrun

    Загрузите код ZIP-архивом или импортом из GitHub-репозитория — приватный тоже подойдёт. Netrun сам определит, что это Python, и распознает проект как бота. Выбирать сервер, версию Python или способ запуска вручную не нужно.

  6. Запустите и проверьте бота

    После сборки бот стартует и начинает отвечать в Telegram. Логи видны в кабинете в реальном времени, поэтому если бот не отвечает, причина будет понятна. На бесплатном тарифе телеграм-бот работает постоянно: каждое входящее сообщение поддерживает его активным, поэтому засыпания, как у обычных сайтов, у бота нет.

Боту на Python не нужен ни ваш постоянно включённый компьютер, ни арендованный VPS с systemd. Загрузите код в Netrun, вынесите токен в секрет — и бот будет отвечать круглосуточно. На бесплатном тарифе один такой бот работает без оплаты.

Частые вопросы

Где бесплатно разместить Telegram-бота на Python

На бесплатном тарифе Netrun можно держать одного бота на Python без оплаты. Бот работает круглосуточно, потому что каждое входящее сообщение поддерживает его активным — засыпания, как у сайтов, у бота нет.

Подойдёт ли это для aiogram и pyTelegramBotAPI

Да. Netrun определяет, что это Python-проект, и запускает бота независимо от библиотеки. Главное — собрать зависимости в requirements.txt, вынести токен в переменную окружения и оставить режим long polling.

Нужен ли вебхук и веб-сервер

Нет, для простого бота достаточно режима long polling — бот сам забирает сообщения у Telegram. Поднимать веб-сервер, настраивать вебхук и открывать порт не требуется.

Будет ли бот работать, когда мой компьютер выключен

Да. После публикации бот живёт на серверах Netrun, а не на вашем компьютере, поэтому отвечает независимо от того, включён ли ноутбук.

Безопасно ли хранить токен бота

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