Commit Graph
12 Commits
Author SHA1 Message Date
admin 87e421ae73 feat: stream operation status as a live draft with activity phrases
Статус долгой операции больше не оставляет в чате отдельное сообщение:
в приватном чате он стримится живым драфтом (sendMessageDraft), пока
идет классификация, генерация, чтение скриншотов или распознавание речи.

- activity_phrases.py: пулы фраз по типу операции (generation, training,
  images, voice, ideas), случайный интервал 3-8 сек (ACTIVITY_MIN_SECONDS /
  ACTIVITY_MAX_SECONDS), фраза не повторяет предыдущую
- OperationStatus: драфт со стабильным draft_id, фоновая ротация фраз,
  finish() отправляет финальный статус реальным сообщением, retarget()
  меняет пул на лету (generate_ideas), предохранитель ACTIVITY_MAX_ROTATIONS
- в группах и топиках драфты недоступны: прежний answer + edit_text,
  ротация фраз отключена; при ошибке драфта автоматический откат
- Dockerfile копирует activity_phrases.py и support.py, иначе контейнер
  падает на импорте

Проверено: 172 теста OK,其中包括 14 новых в tests/test_activity_phrases.py.
Тесты нашли и закрыли баг: ротация запускалась и в группах, где каждый тик
был бы реальным редактированием сообщения.

VERSION: 0.1.0+48 -> 0.1.0+49
2026-10-11 14:51:07 +02:00
admin a43ededa1b feat: gate post generation on training flag 2026-10-09 20:11:41 +02:00
admin e847a4b390 feat: add generate-post button 2026-10-09 19:42:35 +02:00
admin 6f8741cf3c feat: generate posts from images and reject video 2026-10-09 18:18:37 +02:00
admin ea0f7ee27c fix: keep training completion status concise 2026-10-09 16:52:32 +02:00
admin 3e33a9deb5 feat: show editable operation status 2026-10-09 16:46:11 +02:00
admin 3bcec7a9a5 feat: add cumulative account profile training 2026-10-08 23:04:32 +02:00
admin 1dffdcf32d feat: confirm training reset and polish bot messages 2026-10-08 21:21:58 +02:00
admin aaea5b6f58 fix: send subscription Stars invoice directly 2026-10-08 18:28:26 +02:00
admin 6dd685a6a5 feat: refine mode navigation and subscription renewal UX 2026-10-08 16:34:24 +02:00
admin 36a17f7639 feat: add mode-based bot navigation 2026-10-08 15:56:32 +02:00
admin 971bf115da feat: reply-клавиатура + фикс пропавший _send_idea
- keyboards.py: MAIN_MENU (✍️ Написать пост / 💡 Идея / 🎨 Мой стиль / 📖 Помощь / 💳 Подписка / 👤 Баланс)
  и LOCKED_MENU — при блокировке первой кнопкой идёт «💳 Оплатить подписку»
- кнопки не обходят роутинг: resolve_button_text превращает их в slash-команду
  (/help, /balance, /subscribe, /style) или готовый запрос («Напиши пост», «предложи идею…»)
- новая команда /style показывает сохранённый Tone of Voice и подсказывает, как его настроить
- set_my_commands публикует slash-команды при старте, ошибка не роняет бот
- fix: _send_idea вызывалась на bot.py, но была потеряна в коммите про подписку —
  /idea падал с NameError; функция восстановлена
- 17 новых тестов клавиатуры; 92 теста OK; VERSION 0.1.0+26
2026-10-07 11:30:39 +02:00