# Как выложить Telegram-бота без VPS

https://netrun.io/blog/telegram-bot-bez-vps

_5 октября 2026 г. · 4 мин чтения_

> Telegram-бота можно запустить без VPS: загрузите код бота на платформу, которая сама его соберет и запустит, и укажите токен от BotFather в секретах. В Netrun это бесплатно: не нужны аренда сервера, карта, systemd и Docker, а при сбое бот перезапускается автоматически. Без приглашений бот работает 3 часа, а круглосуточно — на тарифе Pro, который можно получить бесплатно за приглашения друзей.

- Токен Telegram-бота выдает @BotFather в ответ на команду /newbot.
- Токен бота читают из переменной окружения, а не хранят в коде: в Netrun он задается в секретах и хранится зашифрованным.
- Боту на polling не нужны порт и публичная ссылка: он сам запрашивает у Telegram новые сообщения.
- Netrun сам определяет язык бота: по requirements.txt — Python, по package.json — Node.js.
- Боты в Netrun не засыпают: бесплатно без приглашений бот работает 3 часа, а на тарифе Pro — круглосуточно; Pro дают за приглашения друзей.

Обычно, чтобы держать Telegram-бота онлайн, нужно арендовать VPS, настроить на нем Python или Node.js, написать systemd-юнит, следить, чтобы процесс не падал, и платить за сервер каждый месяц. Для первого бота или пет-проекта это лишняя работа.

Netrun убирает инфраструктуру: вы загружаете код бота и указываете токен — а сервер, запуск и перезапуск берем на себя. Ниже — как это сделать за несколько минут.

## 1. Подготовьте код бота

Соберите проект в одну папку с файлом зависимостей: requirements.txt для Python (например, aiogram или python-telegram-bot) или package.json для Node.js (telegraf, grammY). Токен бота читайте из переменной окружения, а не храните прямо в коде.

## 2. Получите токен у BotFather

Откройте в Telegram бота @BotFather, отправьте команду /newbot и следуйте подсказкам. В ответ придет токен — длинная строка вида 123456:ABC. Это ключ доступа к боту, держите его в секрете.

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

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

## 4. Укажите токен и запустите

Когда Netrun спросит про секреты, вставьте токен от BotFather. Нажмите запуск — проект развернется на наших серверах, и бот выйдет в сеть.

## 5. Проверьте, что бот отвечает

Откройте бота в Telegram и отправьте /start. Если бот ответил — все работает. Логи и статус видны в кабинете; при сбое Netrun перезапустит процесс автоматически.

Готово: бот живет в интернете без вашего сервера. Публикация бесплатна. Без приглашений бот работает 3 часа — время идет, только пока он запущен, а код, настройки и токен остаются на месте. Чтобы бот был на связи круглосуточно и бесплатно, приглашайте друзей: за каждого, кто опубликует проект, — день Pro, за каждого, кто оплатит тариф, — неделя Pro. [Попробовать Netrun](https://netrun.io/).

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

### Почему бот не отвечает после запуска?

Проверьте логи в кабинете: чаще всего не задан или неверно скопирован токен либо не установилась библиотека из requirements.txt или package.json. Если в логах ошибка Conflict: terminated by other getUpdates request, где-то еще запущена вторая копия того же бота — остановите ее.

### Можно ли запустить бота на вебхуке, а не на polling?

Да. Бот на вебхуке — это по сути веб-приложение: он должен слушать 0.0.0.0 и порт из переменной PORT, а адресом вебхука становится ссылка, которую выдал Netrun. Учтите, что на бесплатном тарифе веб-проект засыпает, поэтому боту, который должен отвечать без задержек, подойдет тариф Pro.

### Что будет с ботом, когда бесплатное время закончится?

Бот остановится, а незадолго до этого придет предупреждение. Код, настройки и токен останутся на месте. Пригласите друзей (за каждого, кто опубликует проект, — день Pro, за оплатившего тариф — неделя Pro) или оплатите Pro, и бот снова запустится и будет работать круглосуточно.

### Можно ли выложить бота, которого написала нейросеть?

Да. Загрузите код как есть: Netrun сам определит язык и установит зависимости. Проверьте только, что токен читается из переменной окружения, а не вписан прямо в код.

### Как обновить код уже запущенного бота?

Загрузите новую версию в кабинете — архивом, из GitHub или повторной публикацией из редактора с ИИ. Netrun пересоберет и перезапустит бота с теми же секретами. Автоматической публикации по git push нет.
