Send a Telegram message
telegram_send_messageFor channel comments use the discussion group chat_id and reply_to_message_id returned with the post. Never use this tool to publish channel posts; use telegram_create_post. Send confirmed text. Private Business replies send as the account; group messages and comments send as the bot; channel inbox replies send as the channel. Confirm the exact recipient, sender and wording. Resolve an unknown chat with telegram_find_chat; a chat found through Session may have no Bot API archive/connection. Bot API requires a known archive chat and private Business reply access. Telegram accepts a business reply only within 24 hours of that person's last message to you (incoming, not your own outgoing message). Missing history does not prove the window expired. BUSINESS_PEER_INVALID may also mean chat access or permissions. Choose transport=bot_api or session explicitly; default bot_api. Session can send to accessible private chats and groups as the account, without the Business 24-hour window. For missing Session: open https://t.me/lemma_telepath_bot, send /session, tap Connect Telegram, and sign in there; never request codes here. Session still respects Telegram restrictions and cannot automatically pay for messages. Use one stable request_id per exact confirmed action. Retrying that ID checks its receipt without sending again. Never use a new ID or switch transport after uncertain delivery. A definitive not_sent result permits a new confirmed attempt after fixing its cause. Only status=sent confirms Telegram acceptance, not human reading. archived=false means delivered but archive persistence failed: do not resend. Read error_code, next_step and retry_after_seconds; avoid polling or retry loops. Auto-reply may be paused immediately before dispatch; report auto_reply_paused even if the send fails. For channel inboxes reply_to_message_id must identify the customer's archived message; do not use message_thread_id. For group quotes/topics use IDs from that destination; never silently drop a requested quote or change topic.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | Exactly the text to send. | |
| chat_id | Yes | Recipient, from telegram_find_chat. | |
| confirmed | No | True only after user authorization of exact recipient, sender and text. Required with request_id and for Session; older Bot API clients still require user confirmation through the conversation. | |
| transport | No | Explicit sender route; never switch after an uncertain send. | bot_api |
| request_id | No | Provide a stable ID for this exact action; required for Session. Reuse to recover a receipt; never replace after uncertain delivery. Optional only for compatibility with older Bot API clients. | |
| message_thread_id | No | Known forum topic in the destination group. For channel comments use reply_to_message_id from the post discussion metadata. | |
| reply_to_message_id | No | Existing message in the same destination; required for channel inbox replies. |