fix(telegram): separate thread params for typing vs messages

Telegram General topic (id=1) has inconsistent API behavior:
- sendMessage: rejects explicit message_thread_id=1
- sendChatAction: requires message_thread_id=1 for typing to show

Split into two helper functions:
- buildTelegramThreadParams: excludes General topic for messages
- buildTypingThreadParams: includes General topic for typing
This commit is contained in:
Azade
2026-01-15 23:21:10 +00:00
parent 35492f8513
commit 6146acbb69
3 changed files with 25 additions and 6 deletions

View File

@@ -18,6 +18,7 @@ import {
buildTelegramGroupFrom,
buildTelegramGroupPeerId,
buildTelegramThreadParams,
buildTypingThreadParams,
describeReplyTarget,
extractTelegramLocation,
hasBotMention,
@@ -92,7 +93,7 @@ export const buildTelegramMessageContext = async ({
const sendTyping = async () => {
try {
await bot.api.sendChatAction(chatId, "typing", buildTelegramThreadParams(resolvedThreadId));
await bot.api.sendChatAction(chatId, "typing", buildTypingThreadParams(resolvedThreadId));
} catch (err) {
logVerbose(`telegram typing cue failed for chat ${chatId}: ${String(err)}`);
}