Включён HTML parse mode у всех исходящих сообщений бота (send + edit-путь
refreshCard), download id выводится моноширинным <code> — в клиентах Telegram
по нему работает tap-to-copy (скопировать id для /download/{id} или диагностики).
Префикс # / download_id= остаётся вне <code>, чтобы копировался чистый id.
Parse mode делает разметку значимой для всех текстов, поэтому добавлен
escape-хелпер и экранированы все внешние/недоверенные фрагменты: display name,
распознанное название, источник/контекст, целевой путь, причины, provider,
error_code/error_msg (инвариант «выход LLM недоверенный»). esc применяется
последним шагом, после усечения, чтобы обрез не разрубил HTML-сущность.
Capability notifications: два ADDED-требования (формат id + экранирование).
Беклог: задача закрыта, зонтичный telegram-revyu-uvedomleniy обновлён.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
27 lines
2.0 KiB
Markdown
27 lines
2.0 KiB
Markdown
# Ревью уведомлений в Telegram (аудит текстов и формата)
|
|
|
|
**Приоритет:** низкий
|
|
|
|
Зонтичная задача: пройтись по всем исходящим уведомлениям и запросам подтверждения
|
|
бота, выправить формулировки, состав данных и оформление. Тексты формируются в
|
|
`internal/tgbot/render.go`, отправка — `internal/tgbot/bot.go`; parse mode не задан
|
|
(plain text), моноширинных/жирных акцентов нет.
|
|
|
|
На что смотреть при аудите:
|
|
|
|
- **Полнота карточек:** показываем ли нужное — название, тип (фильм/сериал), год,
|
|
запись матча в метабазе, download id, причину `failed`.
|
|
- **Единый язык:** в текстах бота вперемешку «задача»/«раздача»/«загрузка» —
|
|
свести к доменному `Download` (см. [[ubiquitous-language-slovar]]).
|
|
- **Оформление:** моноширинный download id — уже сделано (HTML parse mode +
|
|
escape всех текстов, capability `notifications`); осталось при желании добавить
|
|
акценты поверх включённого parse mode.
|
|
- **Не дублировать** уже заведённое: матч метабазы в боте
|
|
[[telegram-match-metabazy]], мульти-бот адресация уведомлений
|
|
[[uvedomleniya-multi-bot]], выбор из нескольких находок [[telegram-vybor-nahodok]].
|
|
|
|
Итог аудита — конкретные под-задачи (эта их порождает). Проход дешёвый, при желании
|
|
приоритет можно поднять.
|
|
|
|
Связано: `internal/tgbot`, [docs/specs/review-ux.md](../specs/review-ux.md).
|