Kenik 60199fb47b Ребрендинг БАЗА: новое меню + воронка подбора, интенсив, оплата, карточка менеджеру
Меню Кибершколы БАЗА (4 кнопки): Подобрать тренировку / Летний интенсив CS2 /
Посмотреть цены / Задать вопрос.

Воронка «Подобрать тренировку» (FSM BAZA_*): для кого → возраст → игра → уровень →
формат → групповые / индивидуальные / нужен совет. На каждом шаге — «Назад» и «В
главное меню», ветки: младше 12 и «другая игра» уводят к менеджеру.

Ветка «Летний интенсив CS2»: инфо → возраст → уровень → оплата. Запуск по кнопке и
по кодовым словам (лето/интенсив), основные триггеры и приветствие — из config.

Шаг оплаты: инлайн-кнопка «Перейти к оплате» (ссылки-плейсхолдеры из config.LINKS +
UTM), «Проблема с оплатой» и «Задать вопрос менеджеру» уводят к оператору.

Карточка менеджеру собирается из профиля воронки (пустые поля пропускаются) + метки;
дублируется на почту. Данные не переспрашиваются, после передачи менеджеру бот не
вмешивается (OPERATOR_CHAT). Тесты воронки — pytest (30 passed).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-18 18:20:59 +03:00

Чат-бот ИКП (ВКонтакте) + веб-форма заявок

Бот сообщества ИКП — Игра. Киберспорт. Профессионалы для приёма заявок на тренировки (Counter-Strike 2, Dota 2, World of Tanks), набора игроков и сотрудников, FAQ и связи с оператором. Плюс отдельная веб-форма заявки на бесплатный урок.

Возможности

  • Заявка на тренировку — пошаговая форма (имя → телефон → направление → удобное время), бот «помнит» клиента.
  • Карьера в ИКП — набор игроков в состав и сотрудников (карусель с карточками).
  • FAQ — цены, услуги, контакты, о компании, кнопки-ссылки на соцсети.
  • Оператор — передача диалога живому человеку (учитываются часы работы, поддержка нескольких операторов).
  • Уведомления — о заявках/откликах операторам в VK и на почту (SMTP).
  • Админ-панель (в боте, по кнопке у админа): статистика, управление услугами, рассылка по подписчикам, быстрые ответы по ключевым словам, кандидаты и их статусы.
  • Защита — анти-флуд, временный бан, серверная валидация веб-формы, honeypot, rate-limit, CORS.

Установка

pip install -r requirements.txt

Зависимости: vk_api, requests, openpyxl, Pillow.

Настройка .env

Скопируйте .env.example в .env и заполните. Файл .env в git не попадает (см. .gitignore).

Переменная Назначение
VK_TOKEN Токен сообщества ВК (права на сообщения)
VK_GROUP_ID ID сообщества (цифры)
OPERATOR_PEER_ID ID оператора по умолчанию для уведомлений
OPERATOR_PEER_IDS Несколько операторов через запятую (опц.)
ADMIN_IDS ID администраторов через запятую
WORK_HOUR_START / WORK_HOUR_END Часы работы (по умолч. 9 и 21)
ALLOWED_ORIGIN Домен сайта для CORS веб-формы
PROMO_ENABLED Промокоды (по умолч. false)
SMTP_HOST / SMTP_PORT / SMTP_USER / SMTP_PASSWORD SMTP для писем (для Яндекс/Gmail — пароль приложения)
MAIL_FROM / MAIL_TO Отправитель и получатель уведомлений о заявках
HR_MAIL_TO Куда слать отклики на вакансии (по умолч. = MAIL_TO)

Без SMTP письма просто не отправляются (тихо пропускаются) — на работу бота это не влияет.

Запуск бота

Просто: двойной клик по start_bot.bat — он держит бота живым и перезапускает при сбое.

Вручную:

python bot.py

Автозапуск при входе в Windows: положите ярлык на start_bot.bat в папку shell:startup (Win+Rshell:startup).

Без валидного VK_TOKEN бот стартует в режиме эмуляции (консоль) — удобно для локальных тестов.

Веб-форма

python form/server.py

Откройте http://localhost:8000/index.html . Заявки пишутся в SQLite (источник правды) и дублируются в Excel.

Админ-панель (в боте)

У администратора в главном меню есть кнопка «Админка ⚙️». Разделы: Статистика, Кандидаты, Управление услугами, Быстрые ответы, Рассылка. Доступ — строго по ADMIN_IDS.

Текстовые команды (альтернатива кнопкам):

  • стата — статистика
  • ред [N] [поле] [значение], доб [Имя] | [Цена] | [Описание], удал [N] — услуги
  • фак доб [слово] | [ответ], фак удал [N] — быстрые ответы
  • статус [N] [новый статус] — статус кандидата
  • рассылка [текст]рассылка подтвердить — рассылка подписчикам

Структура

bot.py            — логика бота (FSM, клавиатуры, админка, рассылка, защита)
config.py         — конфигурация из .env
database.py       — SQLite (заявки, отклики, услуги, быстрые ответы, статистика)
mailer.py         — отправка email
form/             — веб-форма (server.py, index.html, script.js, style.css)
help_img/         — картинки (логотип, дисциплины, карьера)
start_bot.bat     — запуск с авто-перезапуском

Данные

bot_database.db, .env, *.xlsx, *.log и бэкапы help_img/_orig/ в репозиторий не попадают.

S
Description
Бот для ВКонтакте для продаж
Readme 3.3 MiB
Languages
Python 98.9%
Batchfile 0.8%
Dockerfile 0.3%