Гаджет Мания

Гаджет Мания — это портал для ценителей современных технологий…

Как создать бота ВКонтакте с нуля на Python: пошаговый гайд 2026

Как создать бота ВКонтакте с нуля на Python: пошаговый гайд 2026

Содержание статьи

Меня зовут Павел Гордеев, и сегодня создаём бота для ВКонтакте с нуля — на Python, с рабочим кодом и без воды.

Если ты искал как создать бота в ВК или как сделать бота в ВКонтакте — ты попал по адресу. Здесь весь путь: от создания сообщества до первого ответа бота. Время — 30 минут.

Сразу честно: VK сложнее Telegram. В Telegram ты получаешь один токен у BotFather и через пять минут бот работает. В VK первые вопросы появляются раньше чем напишешь первую строку кода — где взять токен, какие разрешения поставить, и главное: в чём вообще разница между Callback API и Long Poll API.

Объясню просто. Боты бывают Ð´Ð²ÑƒÑ Ñ‚Ð¸Ð¿Ð¾Ð²:

Одни реагируют — клиент написал, бот ответил. Для этого используется Long Poll или Callback API сообщества.

Другие пишут сами — рассылки, уведомления, сообщения первыми. Для этого нужен уже другой механизм — User Long Poll с токеном пользователя.

Эта путаница и есть главное отличие от Telegram. Разберём по шагам — от создания сообщества до первого рабочего ответа за 30 минут.

Что ты создашь

К концу статьи у тебя будет бот, который:

  • Отвечает на приветствие («привет», «здравствуй»)
  • Отвечает на вопрос «что ты умеешь?»
  • Обрабатывает любое непонятное сообщение
  • Работает 24/7 на твоём сервере

Что понадобится

  • Python 3.9 или новее — скачать на python.org
  • VS Code или PyCharm — для удобной работы с кодом
  • Базовые знания Python — переменные, функции, циклы. Знакомство с async/await — плюс, но не обязательно
  • Сообщество ВКонтакте — создадим на следующем шаге
  • 30 минут времени

Шаг 1: Создаём сообщество ВКонтакте

Если у тебя уже есть сообщество — пропусти этот шаг.

  • Заходи на vk.com → нажимай кнопку «Создать сообщество»
  • Пиши название (до 48 символов)
  • Выбирай тематику из списка
  • Переключатель «Бизнес-инструменты» — оставь выключенным, для бота он не нужен
  • Нажимай «Создать сообщество»

Боты работают только в ÑÐ¾Ð¾Ð±Ñ‰ÐµÑÑ‚Ð²Ð°Ñ , не на Ð»Ð¸Ñ‡Ð½Ñ‹Ñ ÑÑ‚Ñ€Ð°Ð½Ð¸Ñ†Ð°Ñ .

Шаг 2: Получаем токен доступа

Токен — это ключ, с помощью которого бот будет управлять сообществом.

  • Заходи в Управление (кнопка под обложкой сообщества)
  • Переходи в Дополнительно → Работа с API
  • Нажимай «Создать ключ»
  • Отмечай разрешения:
    • ✠Разрешить приложению доступ к управлению сообществом
    • ✠Разрешить приложению доступ к сообщениям сообщества
  • Нажимай «Создать» и копируй токен — он выглядит примерно так: vk1.a.XXXXX…

Важно: Никому не показывай этот токен. Храни его в переменных окружения, не в коде.

Шаг 3: Настраиваем бота в сообществе

Это самый важный шаг — без него бот не будет получать сообщения.

  • В Управлении сообщества переходи в Настройки для бота
  • Найди раздел «Возможности ботов» и включи его
  • Нажми «Добавить кнопку Начать» — она появится у новых пользователей в диалоге

Включаем Long Poll

Long Poll — механизм, через который бот получает события в реальном времени. Без него бот упадёт с ошибкой сразу после запуска. Включается там же — в разделе «Работа с API», но на отдельной вкладке:

  • Управление → Дополнительно → Работа с API
  • Переходи на вкладку «Long Poll API» (рядом с «Ключи доступа» и «Callback API»)
  • Внутри открой подвкладку «Настройки»
  • Переключи Long Poll API в положение «Включено»
  • Переходи на подвкладку «Типы событий» — она рядом с «Настройки»
  • Включи «Сообщение новое» (message_new) — без этого бот будет запущен, но молчать в ответ на сообщения

Если после включения бот всё равно падает с longpoll for this group is not enabled — попробуй включить программно. Создай файл enable_longpoll.py и запусти один раз:

import asyncio
from vkbottle import API
TOKEN = «Ð²ÑÑ‚авь_свой_токен»
GROUP_ID = 123456 # число из адреса vk.com/club123456
async def main():
api = API(TOKEN)
await api.request(«groups.setLongPollSettings», {
«group_id»: GROUP_ID,
«enabled»: 1,
«api_version»: «5.199»,
«message_new»: 1,
«message_reply»: 1,
})
print(«Long Poll включён!»)
asyncio.run(main())

После успешного запуска файл можно удалить.

Шаг 4: Создаём проект и устанавливаем библиотеку

Открой терминал (в VS Code — `Ctrl+“, в PyCharm — вкладка Terminal) и создай папку проекта:

mkdir vkbot
cd vkbot

Создай виртуальное окружение — это изолированная среда для зависимостей проекта:

python -m venv .venv

Активируй его:

# Windows (PowerShell):
.venv\Scripts\activate
# Linux / macOS:
source .venv/bin/activate

После активации в начале строки появится (.venv) — это значит, что окружение активно.
Теперь устанавливай vkbottle — лучшую Python-библиотеку для VK-ботов. Современная, асинхронная, хорошо документированная:

pip install vkbottle

Проверь установку:

pip show vkbottle

Должен увидеть информацию о пакете: версию, автора, путь установки.

Шаг 5: Пишем первого бота

Создай файл bot.py в папке проекта:

import asyncio
from vkbottle.bot import Bot, Message
# Замени на свой токен сообщества
TOKEN = «YOUR_TOKEN_HERE»
bot = Bot(token=TOKEN)
@bot.on.message(text=[«Ð¿Ñ€Ð¸Ð²ÐµÑ‚», «Ð·Ð´Ñ€Ð°Ð²ÑÑ‚вуй», «Ñ…ай», «hi», «hello»])
async def greet_handler(message: Message):
await message.answer(«ÐŸÑ€Ð¸Ð²ÐµÑ‚! Я бот этого сообщества 🤖»)
@bot.on.message(text=[«Ñ‡Ñ‚о ты умеешь», «Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒ», «/help»])
async def help_handler(message: Message):
await message.answer(
«Ð¯ умею:\n»
«â€¢ Отвечать на приветствия\n»
«â€¢ Рассказывать о себе\n»
«\nНапиши «привет» чтобы начать!»
)
@bot.on.message()
async def fallback_handler(message: Message):
await message.answer(«ÐÐµ понял тебя 🤔 Напиши «помощь» чтобы узнать что я умею.»)
if __name__ == «__main__»:
bot.run_forever()

Шаг 6: Запускаем бота

python bot.py

Если всё настроено правильно — бот начнёт работать. Открой сообщения своего сообщества ВКонтакте, нажми «Начать» и напиши «привет» — бот ответит!
Если видишь ошибку longpoll for this group is not enabled — вернись на Шаг 3 и убедись, что «Возможности ботов» включены и настройки сохранены.

Как Ñ Ñ€Ð°Ð½Ð¸Ñ‚ÑŒ токен безопасно

Никогда не пиши токен прямо в код. Используй файл .env:

pip install python-dotenv

Создай файл .env в папке проекта:

VK_TOKEN=вставь_сюда_свой_токен

И добавь .env в .gitignore чтобы случайно не залить токен на GitHub:

.env
.venv

В коде читай токен так:

from dotenv import load_dotenv
import os
load_dotenv()
TOKEN = os.environ[«VK_TOKEN»]

Для продакшна — отдельная статья с продвинутыми способами Ñ Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ: Как Ñ Ñ€Ð°Ð½Ð¸Ñ‚ÑŒ токен VK API: .env, systemd, защита от утечек.

FAQ

Как создать бота в ВК с нуля — с чего начать?

Начни с создания сообщества ВКонтакте и получения токена доступа (Шаги 1–2 этой статьи). Потом установи Python и библиотеку vkbottle командой pip install vkbottle. Весь путь от нуля до первого ответа бота — около 30 минут.

Как сделать бота в ВК самому, без программиста?

Если программировать не Ñ Ð¾Ñ‡ÐµÑ‚ÑÑ — есть конструкторы: Senler, BotHelp, Salebot. Они не требуют кода, но ограничены по возможностям. Сравнение — в статье ТОП-7 конструкторов ботов для ВК. Если нужны интеграции, сложные сценарии и полный контроль — Python или разработка под ключ.

Можно ли создать бота в ВКонтакте бесплатно?

Да. VK API и библиотека vkbottle — бесплатны. Запуск на своём компьютере — тоже. Платно только по желанию: VPS-сервер для работы 24/7 Ð¾Ð±Ñ Ð¾Ð´Ð¸Ñ‚ÑÑ от 150–200 руб/мес на минимальном тарифе.

Чат-бот на Python для ВК — нужно ли знать async/await?

Для простого бота — нет. vkbottle скрывает асинхронность внутри: достаточно базового Python. async def и await в обработчиках можно просто скопировать по шаблону из этой статьи — бот будет работать без глубокого понимания деталей.

Как создать своего бота в ВК и не потерять токен?

Никогда не пиши токен прямо в код. Храни его в файле .env и читай через python-dotenv. Добавь .env в .gitignore — тогда токен не попадёт на GitHub случайно. Подробнее — в разделе «Как хранить токен безопасно» этой статьи.

Бот в ВК — как сделать, чтобы он работал всегда?

Запусти на VPS-сервере с автозапуском через systemd. Минимальный сервер для бота стоит 150–200 руб/мес. Подробный гайд: Деплой VK-бота на сервер с systemd и nginx.

Как создать вк бота с кнопками?

Клавиатуры в vkbottle добавляются через объект Keyboard. Создаёшь клавиатуру, добавляешь кнопки с payload и передаёшь в message.answer(). Полный разбор методов и ограничений — в статье VK Bot API: messages.send, клавиатуры, лимиты.

Можно ли запускать бота на Windows?

Да. Для старта Windows Ð¿Ð¾Ð´Ñ Ð¾Ð´Ð¸Ñ‚ отлично. Для работы 24/7 в проде удобнее Linux/VPS — Windows-машину нельзя держать включённой постоянно.

Почему бот отвечает мне, но не отвечает другим?

Частая причина — выключенное событие message_new или ограничения в настройках сообщества. Проверь шаг с Long Poll в этой статье — особенно раздел «Типы событий».

Какой API используется у бота ВК?

Для ботов сообщества используется обычный VK API (методы messages.*) плюс Long Poll API для входящих событий. Сравнение Long Poll и Callback API — в отдельной статье Long Poll vs Callback API.

Что лучше выбрать новичку: vk_api или vkbottle?

Для нового проекта — сразу vkbottle: асинхронная, активно развивается, удобнее для сложных сценариев. vk_api старше, больше примеров в интернете, чуть легче для старта. Подробное сравнение — vkbottle или vk_api: что выбрать.

Как запустить бота ВК на Python без Ð¿Ð¾ÑÑ‚Ð¾ÑÐ½Ð½Ñ‹Ñ Ð¿Ð°Ð´ÐµÐ½Ð¸Ð¹?

Минимум для стабильности: токен в .env, обработчики в try/except, включить логирование и настроить автозапуск через systemd на сервере. Статья Деплой VK-бота на сервер закрывает все эти шаги.

Что дальше

Ты создал базового бота — это фундамент. Вот куда двигаться дальше:

  • Бот-автоответчик — ответы по ключевым словам и расписанию
  • Long Poll vs Callback API для бота ВК — как выбрать архитектуру перед прод-запуском
  • VK Bot API: сообщения, клавиатуры, лимиты — практические ограничения и типовые ошибки
  • vkbottle или vk_api: что выбрать — выбор Python-библиотеки под задачу
  • Бот для интернет-магазина ВК — пример коммерческого сценария с заявками
  • ТОП-7 конструкторов ботов для ВК — сравнение 2026 — если хочешь стартовать без кода
  • Бот ВК vs Telegram: сравнение возможностей — если переходишь с Telegram
  • Telegram заблокирован: перенос бота в VK — пошаговый гайд по миграции с кодом

Нужен бот под задачу бизнеса?

Если нужна индивидуальная логика, интеграции и воронка под ваш процесс — оставь заявку на разработку бота под ключ.

Если нужен быстрый старт без долгой разработки — выбери решение в каталоге Ð³Ð¾Ñ‚Ð¾Ð²Ñ‹Ñ Ð±Ð¾Ñ‚Ð¾Ð².

Источник: https://vkbotpro.ru/blog/kak-sozdat-bota-vk-s-nulya/