Боты
Бесплатный хостинг для Telegram-бота на Python (aiogram)
Бот на Python готов: команды отвечают, aiogram запущен, на компьютере всё работает. Но как только вы закрываете ноутбук, бот замолкает — потому что он живёт у вас локально. Чтобы он отвечал круглосуточно, нужен компьютер, который не выключается, и обычно это означает аренду VPS, установку Python на сервер, настройку автозапуска через systemd и слежку за тем, чтобы процесс не упал.
Для бота на aiogram или pyTelegramBotAPI всё это можно не делать. Разберём, как подготовить бота и запустить его в Netrun, где он будет работать без вашего компьютера и без ручной настройки сервера.
Соберите зависимости в requirements.txt#
Создайте в корне проекта файл requirements.txt и перечислите в нём библиотеки — сам aiogram (или pyTelegramBotAPI) и всё, что использует бот. Папку с установленными библиотеками (venv) в архив класть не нужно: платформа соберёт окружение по этому списку сама.
Вынесите токен бота из кода#
Токен, который выдал BotFather, не должен лежать прямо в коде и тем более попадать в публичный репозиторий — иначе бота смогут увести. Читайте токен из переменной окружения. При настройке проекта Netrun спросит это значение и подставит его как секрет снаружи кода.
Используйте long polling, а не вебхук#
Для простого бота проще всего оставить режим long polling — когда бот сам спрашивает у Telegram новые сообщения. Так не нужно поднимать веб-сервер, настраивать вебхук и открывать порт. aiogram и pyTelegramBotAPI работают в этом режиме из коробки, и для хостинга это самый беспроблемный вариант.
Проверьте команду запуска#
Убедитесь, что бот стартует одной командой — например, python bot.py — и не требует ручных действий после старта. Если точка входа называется иначе, платформа предложит указать команду запуска при настройке.
Загрузите проект в Netrun#
Загрузите код ZIP-архивом или импортом из GitHub-репозитория — приватный тоже подойдёт. Netrun сам определит, что это Python, и распознает проект как бота. Выбирать сервер, версию Python или способ запуска вручную не нужно.
Запустите и проверьте бота#
После сборки бот стартует и начинает отвечать в Telegram. Логи видны в кабинете в реальном времени, поэтому если бот не отвечает, причина будет понятна. На бесплатном тарифе бот работает 3 дня, а потом выключается. Код, настройки и секреты при этом остаются на месте, а за сутки до выключения придёт предупреждение. Чтобы бот работал круглосуточно, без ограничения в 3 дня, нужен тариф Pro.
Боту на Python не нужен ни ваш постоянно включённый компьютер, ни арендованный VPS с systemd. Загрузите код в Netrun, вынесите токен в секрет — и бот начнёт отвечать. На бесплатном тарифе бота можно запустить и попробовать: он проработает 3 дня, а потом выключится, код и настройки останутся на месте. Чтобы бот отвечал круглосуточно, перейдите на тариф Pro.
Частые вопросы
Где бесплатно разместить Telegram-бота на Python?
Запустить бота на Python и попробовать его можно бесплатно: на бесплатном тарифе Netrun он проработает 3 дня, а потом выключится. Код, настройки и секреты останутся на месте, а за сутки до выключения придёт предупреждение. Чтобы бот отвечал круглосуточно, без ограничения в 3 дня, нужен тариф Pro — актуальные цены показаны на странице тарифов в кабинете. Ограничение по времени есть только у ботов и фоновых скриптов: сайт на бесплатном тарифе живёт сколько угодно, потому что его можно усыпить после простоя и разбудить, когда кто-то откроет ссылку. У бота публичной ссылки нет — он сам стучится в Telegram, а не наоборот, поэтому разбудить его нечем.
Подойдёт ли это для aiogram и pyTelegramBotAPI?
Да. Netrun определяет, что это Python-проект, и запускает бота независимо от библиотеки. Главное — собрать зависимости в requirements.txt, вынести токен в переменную окружения и оставить режим long polling.
Нужен ли вебхук и веб-сервер?
Нет, для простого бота достаточно режима long polling — бот сам забирает сообщения у Telegram. Поднимать веб-сервер, настраивать вебхук и открывать порт не требуется.
Будет ли бот работать, когда мой компьютер выключен?
Да. После публикации бот живёт на серверах Netrun, а не на вашем компьютере, поэтому отвечает независимо от того, включён ли ноутбук.
Безопасно ли хранить токен бота?
Да, если вынести токен в переменную окружения и указать его как секрет при настройке. Тогда токен не лежит в коде и репозитории, а в базе Netrun хранится в зашифрованном виде.