Готовый HTTPS-адрес для Callback API
ВК присылает события только на HTTPS-адрес - платформа выдаёт его сразу после деплоя, сертификат уже настроен.
Написали бота для сообщества ВК, а держать его негде? Подключите репозиторий - Dada Cloud соберёт и запустит бота, выдаст HTTPS-адрес для Callback API. Упал - поднимется сам. Бесплатный тариф, серверы в России.
ВК присылает события только на HTTPS-адрес - платформа выдаёт его сразу после деплоя, сертификат уже настроен.
Бот на Flask, FastAPI или aiohttp определяется и собирается автоматически - Dockerfile не нужен.
Бот - постоянный процесс, а не спящая функция. Упал с ошибкой - перезапустится сам.
Подписчики, настройки, история - в managed-базе рядом, DATABASE_URL прокидывается сам.
Данные пользователей сообщества хранятся на серверах в РФ - это требование закона о персональных данных.
Первого бота можно держать бесплатно, без привязки карты.
Шесть шагов от кода до сообщества, которое отвечает круглосуточно.
В настройках сообщества ВК создайте ключ доступа с правами на сообщения и включите Long Poll или Callback API - что выбрали в коде.
Укажите имя приложения в проекте и подключите GitHub-репозиторий - либо загрузите zip-архив, если git не используете.
VK_TOKEN и код подтверждения задаются в консоли и приходят в процесс при старте. Секреты в репозиторий не попадают.
Для Callback API бот должен принимать POST на порт из переменной окружения PORT и хост 0.0.0.0. Для Long Poll публичный адрес не нужен - включите режим фонового воркера.
Скопируйте выданный HTTPS-адрес вида имя.dada-tuda.ru в поле адреса Callback API и нажмите «Подтвердить» - бот должен вернуть строку подтверждения.
Напишите сообществу - события пойдут в бота. Логи и перезапуски видны в панели, ошибки ищите там же.
Реальные тарифы платформы и честное сравнение с арендой своего VPS.
| Тариф | Цена | Что входит |
|---|---|---|
| Free | 0 ₽/мес | Один бот с базой и доменом, без привязки карты. Хватает для сообщества с обычной активностью. |
| Startup | 990 ₽/мес | 5 приложений и 2 базы данных - бот, админка и фоновый воркер рассылок в одном проекте. |
| Business | 2 900 ₽/мес | 20 приложений, 10 баз данных, бэкапы 30 дней, приоритетная поддержка. |
| Свой VPS | сравнимо по железу | VPS дешевле по железу. Но сертификат для Callback API, systemd, бэкапы базы и перезапуск после падения - это ваше время. |
Три места, где деплой бота ВК обычно спотыкается.
ВК не отправит события на http-адрес и на самоподписанный сертификат. Выданный платформой адрес уже с валидным сертификатом - его и указывайте.
На запрос с type=confirmation нужно вернуть ровно строку из настроек сообщества, без кавычек и JSON-обёртки. Это самая частая причина, по которой ВК не принимает адрес.
Если бот не ответил ok вовремя, ВК повторит событие - и пользователь получит дубль. Долгую работу выносите в фоновую задачу, а ok возвращайте сразу.
Задеплойте бота - получите HTTPS-адрес вида имя.dada-tuda.ru. Укажите его в настройках сообщества ВК как адрес Callback API, верните строку подтверждения из своего кода - и события пойдут в бота.
Бот должен слушать 0.0.0.0 и порт из переменной окружения PORT, которую передаёт платформа. Иначе ВК не достучится до бота.
Да. Бот на Flask, FastAPI или aiohttp платформа определит и соберёт сама, без Dockerfile. Для других стеков достаточно добавить Dockerfile.
В managed PostgreSQL рядом с ботом - DATABASE_URL появится в переменных окружения автоматически. Данные хранятся в России, что соответствует 152-ФЗ.
Да, первого бота можно держать на бесплатном тарифе без привязки карты.
Callback API: ВК сам присылает события на ваш HTTPS-адрес, бот отвечает мгновенно и не тратит ресурсы на опрос. Long Poll тоже работает - тогда боту не нужен публичный адрес, и его стоит запустить в режиме фонового воркера.
В переменных окружения приложения - они задаются в консоли и попадают в процесс при старте. В репозиторий токен класть нельзя: он даёт полный доступ к сообществу.
ВК шлёт запрос с type=confirmation и ждёт в ответ строку подтверждения из настроек сообщества - обычным текстом, без JSON. Проверьте, что бот слушает 0.0.0.0 и порт из PORT, а адрес открывается в браузере по HTTPS.
Да. Заархивируйте папку бота в zip до 100MB и перетащите в консоль - платформа найдёт requirements.txt, соберёт и запустит бота. GitHub-репозиторий заводить не обязательно.
Создайте аккаунт и разверните первое приложение. План Free — 0 ₽.