Чтобы запустить Telegram-бота 24/7, разместите его на сервере, который всегда включён, а не на своём компьютере: создайте бота в @BotFather, закажите тариф для ботов под Telegram, вставьте токен на странице «Бот» и запустите код. На тарифе для ботов PlayNHost (от US$1.99 в месяц) панель проверяет токен в Telegram, передаёт его вашему коду под именами, которые используют большинство библиотек, и предлагает готового стартового бота на Python или Node.js, если кода у вас ещё нет. Шаги:
- В Telegram откройте @BotFather, отправьте
/newbot, выберите имя и username, оканчивающийся наbot, и скопируйте выданный токен. - На странице Хостинг Telegram-ботов нажмите Создать сервер на нужном тарифе. В окне заказа ответьте на вопрос Для какой платформы ваш бот?, выбрав Telegram, и укажите язык, на котором написан ваш бот.
- Откройте сервер в панели. В карточке Настройка бота на странице Обзор проверьте пункт Что запускается и нажмите Продолжить.
- На шаге Подключение к Telegram вставьте токен и нажмите Подключить. Проверьте показанное имя бота и нажмите Да, продолжить.
- На шаге Ваш код нажмите Создать стартового бота или загрузите свои файлы, либо подключите Git.
- Нажмите Запустить бота и дождитесь сообщения Ваш бот онлайн в Telegram. Отправьте ему /start, чтобы попробовать.
- На странице Бот, в разделе Telegram, нажмите Открыть в Telegram и отправьте боту
/start.
Каждый шаг подробно описан ниже.
1. Создайте бота в @BotFather
- В Telegram найдите @BotFather и откройте чат с ним.
- Отправьте
/newbot. @BotFather спросит имя, которое люди видят в чатах, а затем username. Username должен оканчиваться наbot, напримерtetris_botилиTetrisBot. - @BotFather ответит токеном, строкой вроде
110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw. Скопируйте её. Тот, у кого есть токен, управляет вашим ботом, поэтому не передавайте его никому и не вставляйте в свой код.
Потеряли токен? В @BotFather отправьте /mybots, выберите своего бота, затем API Token.
2. Закажите тариф для Telegram
Любой тариф, начиная со STARTER (0,5 ГБ), запускает Telegram-бота. Нажмите Создать сервер на нужном тарифе. В окне заказа на вопрос Для какой платформы ваш бот? выберите Telegram. Затем укажите язык своего бота: Node.js, Python, Java, C# (.NET), Bun, Deno, Go или Rust. Не знаете, какой тариф нужен? В статье python-telegram-bot и aiogram на PlayNHost есть память, которую мы измерили для каждой библиотеки.

Уже есть тариф для ботов, настроенный для Discord? Новый не нужен. На странице Бот, в разделе Discord, найдите карточку Для чего этот бот?, выберите Telegram и подтвердите кнопкой Переключить. Ничего не удаляется: токен Discord остаётся сохранённым и вернётся, если вы переключитесь обратно. Если вы уже сохранили токен в Окружение как TELEGRAM_BOT_TOKEN, он становится токеном Telegram, и вставлять его заново не нужно.
3. Вставьте токен
Откройте сервер в панели. Карточка Настройка бота на странице Обзор проведёт вас через три шага: Что запускается, Подключение к Telegram и Ваш код.
- Что запускается показывает язык вашего сервера, например Этот бот запускает Python Bot. Нажмите Продолжить или Изменить, что запускается, если выбран не тот.
- Подключение к Telegram: вставьте токен в поле Вставьте токен бота и нажмите Подключить. Панель покажет Проверяем в Telegram..., а затем имя и @username вашего бота с вопросом Это ваш бот?. Нажмите Да, продолжить.
Токен можно вставить и на странице Бот, в разделе Telegram, в поле Токен. Токен, который Telegram отклонил, не сохраняется: вы увидите Telegram не принял этот токен. Скопируйте его из @BotFather заново.
Токен хранится в зашифрованном виде и больше никогда не показывается в панели. Ваш код получает его как переменную окружения под пятью именами, поэтому большинство примеров работает без изменений:
| Имя | Кто использует |
|---|---|
TELEGRAM_BOT_TOKEN | Наши стартовые боты |
BOT_TOKEN | Примеры aiogram, Telegraf и node-telegram-bot-api |
TOKEN | Заглушка в примерах python-telegram-bot и pyTelegramBotAPI |
TELEGRAM_TOKEN | Часто встречается в руководствах |
TELOXIDE_TOKEN | teloxide (Rust), читается через Bot::from_env() |
В Python читайте его через os.environ["TELEGRAM_BOT_TOKEN"], в Node.js через process.env.TELEGRAM_BOT_TOKEN.
4. Добавьте свой код
На шаге Ваш код карточка предлагает то, что подходит вашему серверу:
- Создать стартового бота (для серверов Node.js и Python, где ещё нет кода): небольшой рабочий бот, который отвечает на
/start. На Python он создаётbot.pyиrequirements.txtс python-telegram-bot 22, на Node.js создаётindex.jsиpackage.jsonс grammY. Файл запуска он задаёт сам. Измените бота как хотите и перезапустите. - Загрузить файлы: ваш собственный бот вместе с
requirements.txtилиpackage.json. Не загружайтеvenv,.venv,__pycache__иnode_modules. См. Как загрузить код вашего бота. - Подключить Git: ваш код из Git-репозитория. См. Как развернуть и обновлять бота из GitHub.
Ваш код должен использовать long polling: run_polling() в python-telegram-bot, start_polling() в aiogram, bot.start() в grammY или launch() в Telegraf. Для вебхуков нужен публичный HTTPS-адрес, которого в этих тарифах пока нет. Если вы переносите бота, работавшего на вебхуке, читайте Как перенести Telegram-бота на PlayNHost.
5. Запустите бота
Нажмите Запустить бота в карточке или кнопку Запустить и откройте Console. На Python, Node.js и Bun сервер сначала устанавливает ваши пакеты, поэтому первый запуск дольше: пакеты скачиваются. Потом они устанавливаются заново, только когда вы их меняете (список пакетов, файл пакетов или версию среды выполнения), когда нет node_modules или раз в сутки. В остальных случаях вы видите:
[PlayNHost] Packages are up to date. They install again when you change them, or after a day.
[PlayNHost] Starting your bot
Затем стартовый бот выводит Logged in as @your_bot. Панель читает эту строку: метка на странице Обзор меняется на Онлайн в Telegram. В своём коде выводите похожую строку, когда бот готов.
6. Откройте бота в Telegram
На странице Бот, в разделе Telegram, нажмите Открыть в Telegram. Откроется ссылка t.me вашего бота. Отправьте /start: стартовый бот ответит Hello с вашим именем и Your bot is running on PlayNHost.
В том же разделе показаны @username и id бота, а также карточка В группах с тем, что Telegram разрешает боту в групповых чатах.

Если бот не отвечает
Панель читает консоль и показывает над ней баннер с причиной и кнопкой, которая её устраняет:
- Telegram не принял токен вашего бота: токен отозван в @BotFather или скопирован неверно. Нажмите Заменить токен.
- Ваш бот работает ещё и в другом месте: другая копия использует тот же токен, часто на вашем компьютере или на старом хостинге.
- Для вашего бота задан вебхук: нажмите Удалить вебхук.
В этих случаях некоторые библиотеки продолжают повторять попытки, поэтому бот выглядит работающим, хотя никто не отвечает: баннер помогает это заметить. Подробнее: Как исправить ошибку 409 Conflict у Telegram-бота.
Частые вопросы
Останется ли бот онлайн, если я выключу компьютер?
Да. Он работает на сервере, а не на вашем компьютере и не в браузере. Если бот упадёт, он будет запущен снова примерно через минуту; если он упадёт снова в течение минуты после этого, он останется остановленным, а Console покажет причину.
Можно ли использовать вебхук вместо polling?
Пока нет. Для вебхука нужен публичный HTTPS-адрес, которого в этих тарифах пока нет. Polling адреса не требует: бот сам спрашивает у Telegram новые сообщения. Если для бота задан вебхук, раздел Telegram показывает его с кнопкой Удалить вебхук, которая сохраняет ожидающие сообщения.
Можно ли запускать того же бота на компьютере во время тестов?
С тем же токеном одновременно нельзя. Telegram позволяет одной копии бота запрашивать сообщения, поэтому вторая получит 409 Conflict. Остановите копию на компьютере или создайте второго бота в @BotFather для тестов.
Почему бот не видит сообщения в группе?
Режим приватности Telegram по умолчанию включён: в группах бот видит адресованные ему команды и ответы на его сообщения, но не каждое сообщение, если только он не администратор группы. Карточка В группах показывает Приватность включена или Приватность выключена. Чтобы читать каждое сообщение, отправьте @BotFather команду /setprivacy, выключите режим, затем удалите бота из группы и добавьте его снова.
Какой тариф мне нужен?
STARTER (0,5 ГБ) запускает бота на python-telegram-bot, aiogram, grammY или Telegraf, и ещё остаётся место для вашего кода. Выбирайте 1 ГБ или больше, если бот хранит данные в памяти, работает с файлами или изображениями либо запускает несколько ботов в одном процессе. Тарифы смотрите на странице Хостинг Telegram-ботов.



