Telegram заблокирован: как перенести чат-бота бизнеса в ВКонтакте
Telegram официально заблокирован в России с апреля 2026. Разбираем пошагово, как перенести автоответчик, бота записи и воронку продаж с Telegram Bot API на VK API — с примерами кода на Python.
Содержание статьи
4 апреля 2026 года Павел Дуров подтвердил: Telegram заблокирован в России. Роскомнадзор применяет ТСПУ — оборудование глубокой фильтрации трафика на сетях всех крупных операторов. 65 миллионов россиян продолжают заходить через VPN, но для бизнеса это уже не вариант: клиент не обязан настраивать VPN, чтобы написать тебе.
Если у тебя был бот в Telegram — для записи, автоответов или уведомлений — его нужно переносить. В этой статье разберём, как это сделать в ВКонтакте на Python.
Почему именно VK
VK входит в «белый список» Минцифры — он гарантированно доступен без VPN. Аудитория платформы в 2026 году выросла: часть бизнеса уже перешла сюда после ограничений на другие сервисы. Сообщество ВКонтакте — это готовый канал коммуникации с клиентами, к которому можно подключить бота за 15 минут.
Что меняется при переходе с Telegram на VK
Концепции похожи, но терминология и структура API отличаются.
| Telegram | VK | Что изменилось |
|---|---|---|
| Бот через @BotFather | Бот через токен сообщества | Бот привязан к сообществу, не к отдельному аккаунту |
chat_id | peer_id | Идентификатор диалога |
| Polling / Webhook | Long Poll API / Callback API | Long Poll — аналог polling, Callback — аналог webhook |
bot.send_message() | api.messages.send() | Другой синтаксис, логика та же |
| Inline-клавиатура | Inline-клавиатура (callback-кнопки) | Похожий синтаксис, есть отличия в структуре JSON |
| Reply-клавиатура | Keyboard (обычная) | Аналог есть, называется иначе |
| Нет | Сообщество со стеной, фото, товарами | VK даёт дополнительный контекст о бизнесе |
Главное отличие: в Telegram бот — отдельная сущность. В VK бот — это сообщение от имени сообщества. Это означает, что у тебя уже должна быть группа или паблик.
Шаг 1: Готовим сообщество
Если сообщество уже есть — переходи к шагу 2.
- Заходи на vk.com → «Создать сообщество»
- Выбирай тип «Бизнес» или «Сообщество по интересам»
- Укажи название и тематику
Бот работает только в сообществах, не на личных страницах.
Шаг 2: Получаем токен
В Telegram ты получал токен у @BotFather. В VK токен выдаёт само сообщество:
- Открывай Управление (кнопка под обложкой)
- Переходи в Настройки → Работа с API
- Нажимай «Создать ключ»
- Включай разрешения:
- ✅ Доступ к сообщениям сообщества
- ✅ Управление сообществом (если нужны уведомления)
- Копируй токен — он начинается с
vk1.a.
Далее включи сообщения сообщества: Управление → Сообщения → переключатель «Включены».
Шаг 3: Устанавливаем зависимости
pip install vkbottle python-dotenv
Создай файл .env рядом с кодом:
VK_TOKEN=vk1.a.ТВОЙ_ТОКЕН
Шаг 4: Базовый автоответчик
Это аналог самого частого Telegram-бота — ответы на ключевые слова.
Было в Telegram (aiogram):
@dp.message(F.text.lower() == "цена")
async def handle_price(message: Message):
await message.answer("Наши цены: ...")
Стало в VK (vkbottle):
import asyncio
import os
from dotenv import load_dotenv
from vkbottle.bot import Bot, Message
load_dotenv()
bot = Bot(token=os.getenv("VK_TOKEN"))
@bot.on.message(text="цена")
async def handle_price(message: Message):
await message.answer("Наши цены: ...")
asyncio.run(bot.run_polling())
Структура почти идентична. Основные отличия:
BotвместоDispatcher@bot.on.messageвместо@dp.message- Запуск через
bot.run_polling()вместоdp.start_polling()
Шаг 5: Клавиатура с кнопками
В Telegram ты использовал InlineKeyboardMarkup. В VK это тоже называется inline-клавиатура, но строится через встроенный класс.
Telegram:
keyboard = InlineKeyboardMarkup(inline_keyboard=[
[InlineKeyboardButton(text="Цена", callback_data="price")],
[InlineKeyboardButton(text="Контакты", callback_data="contacts")],
])
await message.answer("Выбери:", reply_markup=keyboard)
VK:
from vkbottle import Keyboard, KeyboardButtonColor, Callback
keyboard = (
Keyboard(inline=True)
.add(Callback("Цена", {"cmd": "price"}), color=KeyboardButtonColor.PRIMARY)
.row()
.add(Callback("Контакты", {"cmd": "contacts"}), color=KeyboardButtonColor.SECONDARY)
)
@bot.on.message(text="старт")
async def start_handler(message: Message):
await message.answer("Выбери:", keyboard=keyboard.get_json())
Обработка нажатия:
from vkbottle.bot import RawEvent
from vkbottle.tools import ABCEventTypeMiddleware
@bot.on.raw_event("message_event", dataclass=RawEvent)
async def handle_callback(event: RawEvent):
payload = event.object.payload
peer_id = event.object.peer_id
user_id = event.object.user_id
if payload.get("cmd") == "price":
await bot.api.messages.send(
peer_id=peer_id,
message="Наши цены: ...",
random_id=0
)
elif payload.get("cmd") == "contacts":
await bot.api.messages.send(
peer_id=peer_id,
message="Контакты: ...",
random_id=0
)
Важно: в VK callback-событие называется
message_event, а неcallback_query. Не забудь добавитьrandom_id=0— VK требует его для защиты от дублирования сообщений.
Шаг 6: Уведомления клиентам
Если в Telegram у тебя был бот, который отправлял уведомления (о заказе, записи, статусе), логика переносится напрямую. Единственное отличие — тебе нужен user_id пользователя ВКонтакте, а не Telegram chat_id.
async def send_notification(user_id: int, text: str):
await bot.api.messages.send(
user_id=user_id,
message=text,
random_id=0
)
user_id пользователь передаёт при первом обращении к боту — сохрани его в базе данных.
Что переносится легко, а что сложнее
| Сценарий | Сложность переноса | Комментарий |
|---|---|---|
| Автоответы по ключевым словам | Простая | Меняется только синтаксис |
| Клавиатура с кнопками | Простая | Структура похожа |
| Уведомления пользователям | Простая | Нужен VK user_id вместо chat_id |
| Запись на услуги (FSM) | Средняя | FSM в vkbottle работает иначе, чем в aiogram |
| Интеграция с CRM/базой | Зависит от CRM | Логика та же, меняется источник данных |
| Платёжный модуль | Требует доработки | VK Pay — отдельная интеграция |
Следующие шаги
Базовый перенос займёт от одного дня до недели в зависимости от сложности сценариев. Если у тебя был простой автоответчик — хватит нескольких часов. Если FSM с несколькими ветками и интеграцией с CRM — стоит заложить время на тестирование.
Когда бот заработает, не забудь:
- Добавить ссылку на бота в описание сообщества
- Включить приветственное сообщение в настройках сообщества (оно приходит автоматически, без кода)
- Подключить Яндекс Метрику для отслеживания трафика
Что читать дальше
- Бот ВК vs Telegram: полное сравнение возможностей — таблица различий по каждому аспекту API, что теряешь и что получаешь
- Как создать бота ВКонтакте с нуля — если ещё не настроил токен и сообщество
- vkbottle или vk_api: что выбрать — какую Python-библиотеку взять под задачу
- Long Poll vs Callback API для бота ВК — выбор архитектуры перед прод-запуском
- Бот-автоответчик для ВК — самый частый сценарий при переходе с Telegram
Если нужна помощь с переносом — опишите сценарий и платформу, откуда мигрируете, на странице «Заказать бота». Разберём конкретно под вашу задачу.
Реклама
Комментарии
Загрузка...