Заказать бота

Как создать бота ВКонтакте с нуля: пошаговая инструкция на Python

Как сделать бота в ВК самому: создаём сообщество, получаем токен, пишем код на Python и запускаем. Пошаговая инструкция с рабочим кодом — от нуля до первого ответа за 30 минут.

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

Как сделать бота в ВК самому, не нанимая разработчика? В этой статье ты создашь бота ВКонтакте с нуля: получишь токен сообщества, настроишь Long Poll API, напишешь код на Python и запустишь первого рабочего бота за 30 минут.

Никакой лишней теории — только конкретные шаги и рабочий код.

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

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

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

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

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

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

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

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

Форма создания сообщества ВКонтакте

Боты работают только в сообществах, не на личных страницах.

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

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

  1. Заходи в Управление (кнопка под обложкой сообщества)
  2. Переходи в ДополнительноРабота с API

Раздел Работа с API в управлении сообществом

  1. Нажимай «Создать ключ»
  2. Отмечай разрешения:
    • ✅ Разрешить приложению доступ к управлению сообществом
    • ✅ Разрешить приложению доступ к сообщениям сообщества

Окно создания ключа доступа с выбором разрешений

  1. Нажимай «Создать» и копируй токен — он выглядит примерно так: vk1.a.XXXXX...

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

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

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

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

Включаем Long Poll

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

  1. Управление → Дополнительно → Работа с API
  2. Переходи на вкладку «Long Poll API» (рядом с «Ключи доступа» и «Callback API»)
  3. Внутри открой подвкладку «Настройки»
  4. Переключи Long Poll API в положение «Включено»

Вкладка Long Poll API в разделе Работа с API

  1. Переходи на подвкладку «Типы событий» — она рядом с «Настройки»
  2. Включи «Сообщение новое» (message_new) — без этого бот будет запущен, но молчать в ответ на сообщения

Включение типов событий Long Poll API — сообщение новое

Если после включения бот всё равно падает с 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"]

Мини-FAQ

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

Да. Для старта Windows подходит отлично. Для 24/7 в проде обычно удобнее Linux/VPS.

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

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

Какой API используется у бота ВК: отдельный Bot API или обычный VK API?

Для ботов сообщества используется обычный VK API (в первую очередь методы messages.*) плюс Long Poll API для входящих событий. Отдельного «другого» API для старта не нужно.

Как запустить бота ВК на Python без постоянных падений?

Минимум для стабильности: хранить токен в .env, оборачивать обработчики в try/except, включить логирование и настроить автозапуск процесса на сервере.

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

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

Можно ли обойтись без сервера?

Для теста — да, можно запускать локально. Для постоянной работы нужен сервер или хостинг-процесс с автозапуском.

Что дальше

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

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

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

Если нужен быстрый старт без долгой разработки — выбери решение в каталоге готовых ботов.

Реклама

Комментарии

Загрузка...