Хостинг Discord-бота: запусти и забудь

Написали бота на discord.py или discord.js, а держать его негде? Подключите репозиторий - Dada Cloud соберёт и запустит бота как фоновый процесс. Домен и вебхуки не нужны: бот сам подключается к Discord по websocket. Упал - поднимется сам. Бесплатный тариф, серверы в России.

Почему Discord-боты держат в Dada Cloud

Режим фонового воркера

Discord-бот не принимает входящие запросы - он сам держит websocket-соединение с гейтвеем. Включите режим «фоновый воркер», и лишний публичный домен вам не выдадут.

Без Docker и настройки сервера

Бот на Python собирается по requirements.txt, на Node.js - по package.json. Писать Dockerfile или настраивать systemd не нужно.

Упал - поднимется сам

Разрыв соединения с гейтвеем, необработанное исключение, обновление зависимостей - процесс перезапускается автоматически.

PostgreSQL для настроек серверов

Префиксы команд, роли, экономика, история модерации - в managed-базе рядом, DATABASE_URL прокидывается сам.

Токен в переменных окружения

Токен бота задаётся в консоли и приходит в процесс при старте. В репозиторий его класть не нужно - Discord отзывает засветившиеся токены автоматически.

Бесплатный тариф для старта

Первого бота можно держать бесплатно, без привязки карты. Оплата рублями, когда бот вырастет.

Как задеплоить Discord-бота

Шесть шагов от кода до бота, который стоит онлайн круглосуточно.

01

Получите токен бота

В Discord Developer Portal создайте приложение, добавьте бота и скопируйте токен. Там же включите нужные привилегированные интенты - без Message Content Intent бот не увидит текст сообщений.

02

Зафиксируйте зависимости

Для Python - requirements.txt с discord.py, для Node.js - package.json с discord.js. По этому файлу платформа поймёт, как собирать проект.

03

Создайте приложение в режиме воркера

При создании включите режим «фоновый воркер, бот без HTTP» - публичный домен боту не нужен и выдаваться не будет.

04

Подключите код

Подключите GitHub-репозиторий - каждый пуш будет собирать новую версию. Без git подойдёт zip-архив до 100MB.

05

Задайте токен в переменных окружения

DISCORD_TOKEN и остальные секреты задаются в консоли. В коде читайте их через переменные окружения, а не из файла в репозитории.

06

Проверьте, что бот онлайн

Через минуту после сборки бот появится в списке участников сервера как онлайн. Логи подключения к гейтвею видны в панели.

Сколько стоит хостинг Discord-бота

Реальные тарифы платформы и честное сравнение с арендой своего VPS.

ТарифЦенаЧто входит
Free0 ₽/месОдин бот с базой, без привязки карты. Хватает боту на несколько серверов.
Startup990 ₽/мес5 приложений, 2 базы данных, бэкапы 7 дней - несколько ботов или бот с веб-панелью.
Business2 900 ₽/мес20 приложений, 10 баз данных, бэкапы 30 дней, приоритетная поддержка.
Свой VPSсравнимо по железуVPS дешевле по железу. Но systemd или pm2, бэкапы базы и перезапуск после падения - это ваше время.

Что важно знать заранее

Три места, где деплой Discord-бота обычно спотыкается.

Привилегированные интенты включаются в портале

Message Content, Server Members и Presence Intent включаются в Developer Portal и объявляются в коде. Если их нет, бот запустится, но не увидит текста сообщений - и это выглядит как «бот не работает».

Боту не нужен домен - и не надо его выдавать

Обычное приложение вместо воркера получит домен, который никто не откроет. Ставьте режим фонового воркера: так бот не тратит ресурсы на веб-часть.

Локальный файл вместо базы потеряется

Диск приложения очищается при новой сборке, поэтому SQLite-файл или json с настройками исчезнет при следующем деплое. Состояние храните в PostgreSQL.

Хостинг Discord-бота - частые вопросы

Нужен ли боту публичный домен?

Нет. Discord-бот сам открывает websocket-соединение к гейтвею и получает события по нему - входящих запросов он не принимает. Поэтому его запускают как фоновый воркер, без домена. Домен нужен только если вы делаете interactions endpoint через HTTP.

discord.py или discord.js - что поддерживается?

Оба. Python-бот собирается по requirements.txt, Node.js-бот - по package.json. Команда запуска берётся из проекта, Dockerfile не нужен.

Работает ли Discord-бот с серверов в России?

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

Где хранить токен бота?

В переменных окружения приложения. Они задаются в консоли и попадают в процесс при старте, в репозиторий и в образ токен не попадает.

Что будет, если бот упадёт?

Процесс перезапустится автоматически, и бот заново подключится к гейтвею. Логи падения видны в панели.

Где хранить настройки серверов и уровни пользователей?

В managed PostgreSQL рядом с ботом - DATABASE_URL появится в переменных окружения сам. Локальный SQLite-файл не переживёт следующую сборку.

Сколько стоит хостинг Discord-бота?

Первого бота можно держать на бесплатном тарифе Free без привязки карты. Дальше - Startup 990 ₽/мес или Business 2 900 ₽/мес, оплата рублёвой картой.

Можно ли запустить несколько ботов в одном проекте?

Да, каждый бот - отдельное приложение. На бесплатном тарифе поместится один, на Startup - до пяти.

Дайте вашему коду адрес

Создайте аккаунт и разверните первое приложение. План Free — 0 ₽.

Создать аккаунт