fix(tradein): startup topic-check реально валидирует message_thread_id #3513

Merged
lekss361 merged 1 commit from fix/3471-topic-check-really-validates into main 2026-09-13 10:41:17 +00:00

1 commit

Author SHA1 Message Date
bot-backend
a2e8c46db7 fix(tradein): startup topic-check реально валидирует message_thread_id
All checks were successful
CI Trade-In / changes (pull_request) Successful in 10s
CI / changes (pull_request) Successful in 13s
CI Trade-In / browser-tests (pull_request) Has been skipped
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI / backend-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Has been skipped
CI Trade-In / backend-tests (pull_request) Successful in 4m51s
sendChatAction не проверяет message_thread_id — живой прод-замер (#3471)
показал, что она подтверждает даже заведомо несуществующую тему
({"ok":true,"result":true}). verify_chat_and_topic поэтому была
ложно-зелёной ровно в сценарии, ради которого её писали: удалённая или
переименованная тема форума проходила проверку, а реальная отправка
потом падала на каждом сообщении.

Заменил проверку темы на sendMessage+deleteMessage: sendMessage с
несуществующим message_thread_id мгновенно отвечает 400 "message
thread not found" (тоже подтверждено на проде), а с валидным создаёт
сообщение, которое сразу стирается deleteMessage — в истории треда не
остаётся ничего. Docstring send_chat_action поправлен — он утверждал
обратное.

Новый тест воспроизводит замеренное поведение (sendChatAction лжёт,
sendMessage честно отказывает) и явно проверен на падение против
до-фиксной реализации (git checkout HEAD -- client.py + прогон теста
дал assert True is False).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JY6iWDnGDthdvsMWgK1BMG
2026-09-13 13:31:09 +03:00