Skip to content

telegram.*

Telegram bridge methods. Requires a configured bot token — see Telegram bridge.

MethodParamsResult
telegram.status{}{ bot: { username, firstName }, polling: boolean, lastError?: string, accessPolicy: "open"|"dm-only"|"allowlist", approvedChats: number, pendingPairings: number }
telegram.list_chats{}{ chats: Array<{ id, kind: "private"|"group", title, lastMessageAt, lastMessagePreview }> }
telegram.read{ chatId: string|number, limit?: number, beforeMessageId?: number }{ messages: Array<{ id, ts, fromId, fromName, text, replyToId? }> }
telegram.send{ chatId: string|number, text: string, silent?: boolean, replyToId?: number }{ messageId }
telegram.settings{}full Telegram settings sub-tree (token elided)
MethodCLI
telegram.statusht telegram status
telegram.list_chatsht telegram chats
telegram.readht telegram read --chat <id> --limit N
telegram.sendht telegram send --chat <id> "<text>"
telegram.settings(settings panel only)
MethodParamsResult
telegram.chats{}{ chats: [{ id, name?, lastMessageAt }] } — most-recently-active first
telegram.history{ chat_id, limit?, before? }{ messages: TelegramWireMessage[] }
telegram.restart{}"OK" — tear down and recreate the long-poll service

telegram.history reads the SQLite log at ~/Library/Application Support/hyperterm-canvas/telegram.db, so it works even when polling is disabled. before is a message timestamp for pagination.

telegram.restart is the fix-it path for a rotated token or a transient API outage — no app restart required.