Добавлены 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>