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