- blockquote expandable: replies are collapsed by default in Telegram
- strip <think>...</think> sections (chain-of-thought from reasoning
models like DeepSeek R1 / QwQ) before sending the response
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
ParseMode is a plain Enum, not a str subclass — string "html" fails
equality check against the enum member and raises ValueError.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Markdown (headings, bold, italic, strikethrough, code blocks, links)
is converted to Telegram-compatible HTML tags before sending. Each
reply chunk is wrapped in <blockquote> for visual distinction.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Replace premium-only ⏳/✅/❌ with reactions available to all users:
🤔 while processing, 👍 on success, 👎 on error.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Instead of sending/editing a verbose status message, now reacts to the
command message: ⏳ while processing, ✅ on success, ❌ on error.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Remove "Use .cmd for this role" reply when owner uses wrong prefix;
wrong-prefix commands are now silently ignored for all users
- Fix AIImageUnderstandConfig default api_host to api.minimax.chat
(minimax-coding-plan-mcp routes all calls there, not api.minimax.io)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>