- Отмена в «Заявке»/«Карьере» возвращает меню с кнопкой «Админка» для админов.
- Рассылка: инлайн-кнопки «Отправить»/«Отмена» в предпросмотре.
- Управление админами — инлайн-кнопки «Добавить»/«Удалить» (без текстовых команд),
выбор удаляемого админа кнопкой.
- Быстрые ответы из админки показываются в «Частые вопросы» инлайн-кнопками.
- Вакансии «Карьеры» перенесены в БД (vacancy_options): направления игроков и
должности сотрудников редактируются из админки (раздел «Вакансии»), а в опросе
показываются инлайн-кнопками из БД.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Приём фото-вложений от админа (handle_message получает attachments).
- Раздел «Услуги»: кнопки Добавить / Изменить / Удалить / Сменить картинку.
Картинка скачивается, обрезается под 13:8 (650×400) и сохраняется как
service_<id>.jpg; карусель берёт её приоритетно. Мастера на состояниях ADMIN_*.
- Раздел «Быстрые ответы»: кнопки Добавить / Изменить / Удалить с выбором.
- Контекст мастеров в памяти (_admin_ctx), отмена из любого шага.
Заметка: CRUD «Карьеры» (направления игроков/должности) — отдельным заходом,
т.к. опции там пока захардкожены и требуют перевода на БД.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Супер-админ (config.SUPER_ADMIN_IDS, только через код): добавляет/удаляет
обычных админов из бота (раздел «Администраторы 👑»), таблица admins.
_is_admin теперь учитывает супер-админов, .env и добавленных из бота.
- «Когда удобно созвониться» → выбор конкретного дня (кнопки на ближайшие даты)
и времени (слоты), сохраняется как «День, ЧЧ:ММ».
- Шаг согласия: инлайн-кнопки со ссылками на оферту и политику ПД (PDF), затем
подтверждение. Старое вложение .docx убрано.
- Маска отображения телефона: +7 (999) 123-45-67 в карточке и уведомлениях.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Бот:
- Прогресс-бар (▰▰▱ Шаг N из 3) в шагах заявки
- Быстрые ответы по ключевым словам (таблица custom_faq) — отвечают до зова оператора;
редактирование через админ-панель (раздел «Быстрые ответы»: добавить/список/удалить)
- Отклики в статистике: счётчик игроков/сотрудников по дисциплинам и должностям
- Статусы кандидатов (новый/на собесе/отказ/принят) — раздел «Кандидаты» в админке
- Несколько операторов: уведомления уходят всем из OPERATOR_PEER_IDS
- Часы работы (WORK_HOUR_START/END): вне часов хендофф сообщает «ответим утром»
- Временный бан при повторном флуде (усиление анти-DDoS)
- Старт-пинг администратору «бот запущен» (лёгкий healthcheck)
Док и зависимости:
- README.md (запуск, .env, автозапуск, админ-команды, структура)
- requirements.txt
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- В главном меню у администраторов появляется кнопка «Админка ⚙️»
(видна только в сообщениях админу; не-админа код всё равно не пускает).
- Админ-панель с кнопками: Статистика, Управление услугами, Рассылка,
В главное меню — вместо запоминания текстовых команд.
- Доступ строго по config.ADMIN_IDS на сервере.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Добавлены career_player.jpg и career_worker.jpg (13:8, 650×400),
карточки в разделе «Карьера» теперь с фото. Картинки добавлены
в предзагрузку медиа при старте.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Обрыв longpoll-соединения (RemoteDisconnected) больше не роняет бота —
цикл ловит сетевые ошибки, ждёт и переподключается. Ошибка обработки
одного сообщения тоже не останавливает работу.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Контент и брендинг:
- Реальные данные ИКP (infocyber.pro): услуги CS2/Dota 2/WoT, цены, FAQ, контакты, площадки
- Приветствие и тексты приведены к бренду ИКП
Новые функции:
- Раздельные согласия (152-ФЗ): маркетинговая рассылка — отдельный необязательный шаг
- Шаг «удобное время звонка» в форме заявки
- Раздел «Карьера в ИКП»: набор игроков и сотрудников (таблица applications)
- Админ-команды: статистика (стата) и рассылка по подписчикам с троттлингом и отпиской
- Журнал заявок leads, «бот помнит клиента», международные телефоны, валидация имени
- Email-уведомления о заявках и откликах (mailer.py); HR-адрес через HR_MAIL_TO
Защита:
- Анти-флуд по пользователю и кулдаун уведомлений оператору (анти-DDoS)
- Веб-форма: серверная валидация, honeypot, рейт-лимит, CORS по ALLOWED_ORIGIN, SQLite-first
Визуал:
- Убрана Markdown-разметка (VK её не рендерит)
- Логотип в приветствии, карусели услуг и «Карьеры» (фото 13:8), предзагрузка медиа
- Кнопки-ссылки на соцсети
- Веб-форма: анимации, конфетти на успехе
Промокоды добавлены, но пока ВЫКЛЮЧЕНЫ флагом PROMO_ENABLED (по умолчанию false).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>