VK-бот для сообщества пишется быстро: библиотека вроде vkbottle или vk_api, токен сообщества, обработчик сообщений. А потом начинается знакомая история — бот отвечает ровно до тех пор, пока открыт ваш терминал. Закройте ноутбук, дайте ему уснуть или потеряйте интернет — и подписчики уходят писать в пустоту. Обычный ответ на это: арендовать сервер, поставить Python, настроить автозапуск и следить, чтобы процесс поднимался после перезагрузки. Ничего из этого не обязательно. Dockbox сам определяет язык проекта, ставит зависимости, запускает бота на своих серверах и поднимает его, если тот упал. Разберём по шагам — и посмотрим, как это устроено на платформе.
Что вообще нужно для запуска VK-бота
У бота всего две части: код и токен. Код — это логика, которую вы пишете сами или просите у ChatGPT: обработка входящих, ответы, кнопки, сценарии. Токен — ключ, от имени которого бот читает сообщения сообщества и отвечает на них. Больше для старта ничего не требуется: ни арендованного сервера, ни установленного локально Python, ни отдельно настроенного autostart.
Итоговый список того, что загружаем: папка с кодом, файл requirements.txt с библиотеками и значение токена, введённое отдельно — в секретах проекта, а не в коде.
Callback API или Long Poll: что выбрать
Это первое решение, и от него зависит, что именно вам потребуется. Вариантов два, и они принципиально разные.
Long Poll. Бот сам постоянно спрашивает VK: «есть новое?». Публичный адрес ему не нужен — достаточно исходящих запросов, поэтому стартовать проще всего: положили код, дали токен, запустили. Плата за простоту — процесс должен работать непрерывно, ведь если он остановился, сообщения просто не забираются.
Callback API. Здесь наоборот: VK сам присылает POST-запрос на ваш адрес, когда в сообществе что-то происходит. Экономичнее и быстрее, но требует публичной точки с HTTPS, а приложение обязано слушать порт из переменной окружения, а не жёстко прописанный в коде. Ещё в настройках сообщества придётся указать адрес и ответить на проверку — VK отправляет запрос с кодом подтверждения, который сервер должен вернуть.
На Dockbox работают оба. Long Poll — это просто процесс, Callback API — обычное веб-приложение, которое получает HTTPS-адрес сразу после публикации.
Получите токен сообщества
Зайдите в настройки сообщества в раздел работы с API и создайте ключ доступа с правами на сообщения (при необходимости — на фото и управление). Именно этот ключ бот использует, чтобы получать сообщения и отвечать от имени сообщества. Токен равен вашему сообществу: кто им владеет, тот может публиковать и читать переписку. Держите его при себе и не пересылайте в чатах.
Вынесите токен в секреты, а не в код
Плохой вариант — так часто делает ChatGPT по умолчанию:
TOKEN = "vk1.a.XXXX"
Хороший вариант — токен читается из переменной окружения:
import os
TOKEN = os.environ["VK_TOKEN"]
Причина простая: код вы почти наверняка будете заливать в Git, кому-то показывать или отдавать. Токен в коде = токен утёк. Поэтому на Dockbox значение вводится отдельно, в разделе секретов проекта: переменные шифруются, имена видны, а значения не показываются никому.
Соберите зависимости в requirements.txt
Рядом с кодом положите файл со списком библиотек, которые бот реально импортирует:
vkbottle==4.6.2
requests==2.32.3
По этому файлу платформа понимает, что перед ней Python-проект, и во время сборки ставит всё нужное. Просите ChatGPT «собери requirements.txt по импортам» и сверяйте, что каждый import покрыт. Виртуальное окружение в архив не кладите — оно здесь не нужно.
Загрузите проект и запустите бота
Загрузите папку ZIP-архивом или подключите репозиторий с GitHub, в том числе приватный — Dockbox заберёт код сам. Дальше платформа определяет язык, собирает проект и запускает бота. Логи видны в панели в реальном времени: сразу понятно, подключился ли бот и не падает ли он на старте. После этого компьютер можно выключить.
Если бот на Callback API: адрес и порт
Для Callback API к проекту добавляются две вещи. Во-первых, приложение должно слушать порт из окружения, а не константу:
import os
port = int(os.environ.get("PORT", 8000))
Во-вторых, нужен публичный HTTPS-адрес. Dockbox выдаёт его сразу после публикации — этот адрес вы вписываете в настройках сообщества. Туда же идут код подтверждения и секретный ключ, которые VK требует при настройке Callback API. И то, и другое храните в секретах, а не в коде.
Что помнить про тарифы
Бот, который сам ждёт сообщения, работает до тех пор, пока запущен его контейнер — платформа следит за процессом и перезапускает его при сбое, поэтому вмешательство не нужно, а ваш код и токен остаются на месте. Тарифы отличаются ресурсами и числом проектов: Starter (990 ₽/мес, первый месяц бесплатно) — 1 vCPU, 2 ГБ RAM и один проект; Pro (2 490 ₽/мес) — 5 проектов и preview-окружения. Ни у ботов, ни у сайтов нет лимита по времени работы: контейнер запущен постоянно, поэтому бот отвечает, а сайт открывается в любой момент.
Частые вопросы
Что нужно, кроме кода бота?
Только токен сообщества с правами на сообщения и файл requirements.txt со списком библиотек. Ни сервера, ни установки Python, ни настройки автозапуска, ни обслуживания системы.
Бот будет работать, когда компьютер выключен?
Да. Бот запущен на серверах Dockbox и от вашего компьютера не зависит. Если он упадёт, платформа перезапустит его, а причину можно найти в логах панели.
Можно ли держать бота на Starter постоянно?
Да. И сайты, и боты на Dockbox работают без ограничения по времени: контейнер запущен постоянно, а при сбое платформа перезапускает процесс. Код и настройки сохраняются. Ресурсы и число проектов зависят от тарифа — актуальные цены всегда на странице тарифов.
Подойдёт ли это для бота на Callback API?
Да. Callback API-бот — это обычное веб-приложение, которое принимает запросы от VK, поэтому ему нужен публичный адрес с защищённым соединением. Dockbox выдаёт такой адрес сразу после публикации, и его вы вводите в настройках сообщества. Приложение при этом должно слушать порт из переменной окружения, а не зашитый в код.
Безопасно ли хранить токен сообщества на платформе?
Токен хранится зашифрованным и не показывается в открытом виде после сохранения. В архиве с кодом и в репозитории его быть не должно — именно поэтому мы просим вводить его отдельно, в секретах проекта.
Круглосуточно отвечающий бот сообщества не требует ни включённого ноутбука, ни арендованного сервера с автозапуском. Загрузите код, укажите токен сообщества — и бот останется онлайн, даже когда ваш компьютер выключен. Попробуйте Dockbox.