Хостинг Telegram и Discord ботов, которые работают 24/7
Перенесите бота с ноутбука на небольшой KVM сервер в Германии. Он продолжит отвечать, даже когда ваш компьютер выключен, а оплатить сервер можно криптовалютой.
Большинство библиотек для ботов по умолчанию используют long polling: бот постоянно спрашивает у Telegram или Discord новые обновления. Для этого не нужны домен, сертификат и открытые порты, так что всё работает на свежем VPS сразу. Discord боты всегда подключаются так, через gateway соединение, которое библиотека держит открытым за вас.
Для Telegram есть альтернатива: вебхуки. Telegram отправляет каждое обновление на ваш сервер по HTTPS. Это избавляет от постоянного соединения и лучше масштабируется для нагруженных ботов. Понадобится домен, направленный на сервер, и reverse proxy вроде nginx или Caddy с бесплатным сертификатом. Платёжные системы для колбэков обычно всё равно требуют вебхуки.
Как держать бота запущенным
Запуск бота из SSH сессии подходит для тестов, но он остановится, как только вы отключитесь. Для реальной работы запускайте его как сервис. systemd есть в каждой Linux системе, которую мы предлагаем, и он автоматически перезапускает бота. pm2 популярен для ботов на Node.js, а Docker держит зависимости в порядке, если на одном сервере работает несколько ботов.
В нашем пошаговом руководстве показано, как развернуть Telegram бота через systemd: создать пользователя, скопировать код, прописать токен в файле окружения, написать unit файл и включить его. Для Discord ботов подход тот же. Логи потом доступны через journalctl, если что-то пошло не так.
systemd: встроен в систему, прост, перезапускает бота при сбое и при загрузке.
pm2: удобен для Node.js, есть логи и список процессов.
Docker: отдельный контейнер на каждого бота, чистые обновления.
Какой тариф выбрать для бота
Типичный бот на Python или Node.js занимает заметно меньше нескольких сотен мегабайт RAM. VPS-1 с 1 vCPU и 1 GB RAM легко тянет несколько таких ботов, а его 1 TB трафика намного больше, чем нужно для текстовых сообщений. Это самый дешёвый способ держать бота онлайн круглосуточно.
Берите VPS-2 с 2 GB, если добавляете базу данных вроде PostgreSQL, запускаете ботов в Docker или работаете с медиа: картинками и голосовыми сообщениями. VPS-3 с 2 vCPU и 4 GB подойдёт для проектов побольше: бот с веб админкой, фоновые воркеры или запросы к AI моделям, которым нужно больше памяти.
Практические советы
Не храните токены ботов в коде и в Git. Держите их в файле окружения, который может читать только пользователь бота. В файрволе откройте только SSH и, если используете вебхуки, HTTPS. Если бот отправляет почту, используйте HTTPS API вроде Resend, Postmark или Amazon SES, потому что исходящие почтовые порты по умолчанию закрыты.
Сервер находится в дата-центре в Фалькенштайне (Германия) с каналом до 1 Gbps, поэтому запросы к API Telegram и Discord проходят быстро. Оплата почасовая с предоплаченного баланса. Следите за ним: если баланс закончится, сервер будет приостановлен на 24 часа, а затем удалён. Письмо о низком балансе предупредит вас заранее.
Пошаговые инструкции
Написаны нашей командой и проверены на серверах DataPasa. Инструкции написаны на английском языке.
На небольшом VPS. Наш тариф VPS-1 с 1 vCPU и 1 GB RAM стоит $1.81 в месяц с почасовой оплатой и может запускать несколько небольших ботов под systemd.
Для long polling не нужен, он работает на свежем сервере сразу. Домен и HTTPS сертификат понадобятся, только если вы переведёте бота на вебхуки.
Да. Discord и Telegram боты могут работать на одном сервере рядом, каждый как отдельный сервис systemd, процесс pm2 или контейнер Docker со своими логами.
Запустите его как сервис через systemd, pm2 или Docker. В нашем руководстве есть unit файл systemd, который запускает бота при загрузке и перезапускает после сбоя.
Сначала придёт письмо о низком балансе. Если баланс дойдёт до нуля, сервер будет приостановлен с сохранением данных на 24 часа, а затем удалён. Пополните вовремя, и бот продолжит работать.
На любом языке, который работает в Linux: Python, Node.js, Go, Java, PHP, Rust и других. У вас полный root доступ, и вы ставите нужные версии сами.
Да. Пополняйте баланс от $5 в USDT в сети TRON, TON или других сетях, BTC, ETH, XMR и многих других монетах, либо картой через Stripe.