- Возвращающийся клиент: «Да/Отмена» — нижняя клавиатура, а «Сменить имя/
телефон/Заполнить заново» — отдельные инлайн-кнопки под сообщением (ровно 3,
как просил).
- start_bot.bat: перед запуском убивает старые экземпляры бота — устраняет
«рандомные» цвета от нескольких параллельных longpoll-инстансов.
- Маска телефона в приветствии возвращающегося клиента.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Админка — всегда зелёная (POSITIVE).
- Меню изменения данных: «Назад к проверке» — красная.
- Возвращающийся клиент: «Да/Сменить имя/телефон/Заполнить заново/Отмена» —
инлайн-кнопки под сообщением.
- Уведомление оператору: добавлено реальное имя из VK с флагом «не совпадает
с введённым» — помогает отсеивать рандомные/фейковые данные (профиль VK уже был).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Синий (PRIMARY) — только действия/подтверждение/добавление (Заполнить, Да,
Согласен, Отправить, ➕ Добавить). Белый (SECONDARY) — выбор и навигация
(Карьера, Частые вопросы, разделы админки, слоты времени, «назад»). Красный
(NEGATIVE) — отмена/удаление/выход/оператор. Убрана пестрота главного меню и
разнобой при выходе из формы.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Зелёного цвета (POSITIVE) в оригинальных клавиатурах не было — он появился
при добавлении карьеры и админ-разделов. Заменён на PRIMARY (синий) во всех
7 местах, чтобы вернуть исходную палитру (PRIMARY/SECONDARY/NEGATIVE).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
bot.py разгружен: чистые функции вынесены без изменения поведения:
- validators.py — регэкспы, normalize_phone, format_phone_display, is_valid_name
- keyboards.py — все get_*_keyboard
Поведение проверено регрессионным прогоном (полный флоу заявки, админка, меню).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>