Skip to main content

Class: TelegramChannelAdapter

Defined in: packages/agentos/src/io/channels/adapters/TelegramChannelAdapter.ts:67

Channel adapter for Telegram using the Telegraf SDK.

Uses dynamic import so telegraf is only required at runtime when the adapter is actually initialized. Falls back to grammy if telegraf is not available.

Capabilities: text, rich_text, images, video, audio, voice_notes, stickers, reactions, buttons, inline_keyboard, group_chat, channels, editing, deletion.

Extends​

Constructors​

Constructor​

new TelegramChannelAdapter(retryConfig?): TelegramChannelAdapter

Defined in: packages/agentos/src/io/channels/adapters/BaseChannelAdapter.ts:111

Parameters​

retryConfig?​

Partial<RetryConfig>

Returns​

TelegramChannelAdapter

Inherited from​

BaseChannelAdapter.constructor

Properties​

auth​

protected auth: ChannelAuthConfig & object | undefined

Defined in: packages/agentos/src/io/channels/adapters/BaseChannelAdapter.ts:97

Stored auth config so reconnect() can re-use it.

Inherited from​

BaseChannelAdapter.auth


capabilities​

readonly capabilities: readonly ChannelCapability[]

Defined in: packages/agentos/src/io/channels/adapters/TelegramChannelAdapter.ts:70

Declared capabilities of this adapter.

Overrides​

BaseChannelAdapter.capabilities


connectedSince​

protected connectedSince: string | undefined

Defined in: packages/agentos/src/io/channels/adapters/BaseChannelAdapter.ts:92

Inherited from​

BaseChannelAdapter.connectedSince


displayName​

readonly displayName: "Telegram" = 'Telegram'

Defined in: packages/agentos/src/io/channels/adapters/TelegramChannelAdapter.ts:69

Human-readable display name (e.g., "WhatsApp Business").

Overrides​

BaseChannelAdapter.displayName


errorMessage​

protected errorMessage: string | undefined

Defined in: packages/agentos/src/io/channels/adapters/BaseChannelAdapter.ts:93

Inherited from​

BaseChannelAdapter.errorMessage


platform​

readonly platform: ChannelPlatform = 'telegram'

Defined in: packages/agentos/src/io/channels/adapters/TelegramChannelAdapter.ts:68

Platform this adapter serves.

Overrides​

BaseChannelAdapter.platform


platformInfo​

protected platformInfo: Record<string, unknown> = {}

Defined in: packages/agentos/src/io/channels/adapters/BaseChannelAdapter.ts:94

Inherited from​

BaseChannelAdapter.platformInfo


retryConfig​

protected readonly retryConfig: RetryConfig

Defined in: packages/agentos/src/io/channels/adapters/BaseChannelAdapter.ts:101

Inherited from​

BaseChannelAdapter.retryConfig


status​

protected status: ChannelConnectionStatus = 'disconnected'

Defined in: packages/agentos/src/io/channels/adapters/BaseChannelAdapter.ts:91

Inherited from​

BaseChannelAdapter.status

Methods​

addReaction()​

addReaction(conversationId, messageId, emoji): Promise<void>

Defined in: packages/agentos/src/io/channels/adapters/TelegramChannelAdapter.ts:336

Parameters​

conversationId​

string

messageId​

string

emoji​

string

Returns​

Promise<void>


deleteMessage()​

deleteMessage(conversationId, messageId): Promise<void>

Defined in: packages/agentos/src/io/channels/adapters/TelegramChannelAdapter.ts:326

Parameters​

conversationId​

string

messageId​

string

Returns​

Promise<void>


doConnect()​

protected doConnect(auth): Promise<void>

Defined in: packages/agentos/src/io/channels/adapters/TelegramChannelAdapter.ts:104

Establish the platform connection using the supplied credentials. Called by initialize after state has been set to connecting. Must throw on failure — the base class handles retry and state changes.

Parameters​

auth​

ChannelAuthConfig & object

Returns​

Promise<void>

Overrides​

BaseChannelAdapter.doConnect


doSendMessage()​

protected doSendMessage(conversationId, content): Promise<ChannelSendResult>

Defined in: packages/agentos/src/io/channels/adapters/TelegramChannelAdapter.ts:203

Deliver a message to the external platform. Called by sendMessage only when the adapter is connected.

Parameters​

conversationId​

string

content​

MessageContent

Returns​

Promise<ChannelSendResult>

Overrides​

BaseChannelAdapter.doSendMessage


doShutdown()​

protected doShutdown(): Promise<void>

Defined in: packages/agentos/src/io/channels/adapters/TelegramChannelAdapter.ts:288

Release platform resources (close WebSocket, stop polling, etc.). Called by shutdown before the state transitions to disconnected.

Returns​

Promise<void>

Overrides​

BaseChannelAdapter.doShutdown


editMessage()​

editMessage(conversationId, messageId, content): Promise<void>

Defined in: packages/agentos/src/io/channels/adapters/TelegramChannelAdapter.ts:306

Parameters​

conversationId​

string

messageId​

string

content​

MessageContent

Returns​

Promise<void>


emit()​

protected emit(event): void

Defined in: packages/agentos/src/io/channels/adapters/BaseChannelAdapter.ts:265

Emit an event to all matching subscribers. Subclasses call this when the platform SDK receives an inbound event.

Parameters​

event​

ChannelEvent

Returns​

void

Inherited from​

BaseChannelAdapter.emit


emitConnectionChange()​

protected emitConnectionChange(): void

Defined in: packages/agentos/src/io/channels/adapters/BaseChannelAdapter.ts:296

Convenience helper: emit a connection_change event with the current status. Called automatically by setStatus.

Returns​

void

Inherited from​

BaseChannelAdapter.emitConnectionChange


getConnectionInfo()​

getConnectionInfo(): ChannelConnectionInfo

Defined in: packages/agentos/src/io/channels/adapters/BaseChannelAdapter.ts:205

Get the current connection status and metadata.

Returns​

ChannelConnectionInfo

Inherited from​

BaseChannelAdapter.getConnectionInfo


hasCapability()​

protected hasCapability(cap): boolean

Defined in: packages/agentos/src/io/channels/adapters/BaseChannelAdapter.ts:312

Check whether this adapter declares a specific capability.

Parameters​

cap​

ChannelCapability

Returns​

boolean

Inherited from​

BaseChannelAdapter.hasCapability


initialize()​

initialize(auth): Promise<void>

Defined in: packages/agentos/src/io/channels/adapters/BaseChannelAdapter.ts:151

Initialize the adapter with auth credentials. If already connected this will shut down the existing connection first (idempotent).

Parameters​

auth​

ChannelAuthConfig

Returns​

Promise<void>

Inherited from​

BaseChannelAdapter.initialize


on()​

on(handler, eventTypes?): () => void

Defined in: packages/agentos/src/io/channels/adapters/BaseChannelAdapter.ts:248

Register an event handler. Returns an unsubscribe function.

Parameters​

handler​

ChannelEventHandler

eventTypes?​

ChannelEventType[]

Returns​

(): void

Returns​

void

Inherited from​

BaseChannelAdapter.on


reconnect()​

reconnect(): Promise<void>

Defined in: packages/agentos/src/io/channels/adapters/BaseChannelAdapter.ts:186

Manually trigger a reconnection attempt using stored credentials. Useful for UI-driven "reconnect" buttons.

Returns​

Promise<void>

Inherited from​

BaseChannelAdapter.reconnect


sendMessage()​

sendMessage(conversationId, content): Promise<ChannelSendResult>

Defined in: packages/agentos/src/io/channels/adapters/BaseChannelAdapter.ts:218

Send a message to a conversation on the external platform.

Parameters​

conversationId​

string

Platform-native conversation/chat ID.

content​

MessageContent

Message content to send.

Returns​

Promise<ChannelSendResult>

The platform-assigned message ID.

Inherited from​

BaseChannelAdapter.sendMessage


sendTypingIndicator()​

sendTypingIndicator(conversationId, _isTyping): Promise<void>

Defined in: packages/agentos/src/io/channels/adapters/TelegramChannelAdapter.ts:353

Default stub — platforms that support typing indicators should override.

Parameters​

conversationId​

string

_isTyping​

boolean

Returns​

Promise<void>

Overrides​

BaseChannelAdapter.sendTypingIndicator


setStatus()​

protected setStatus(newStatus, error?): void

Defined in: packages/agentos/src/io/channels/adapters/BaseChannelAdapter.ts:319

Transition to a new connection status and emit an event.

Parameters​

newStatus​

ChannelConnectionStatus

error?​

string

Returns​

void

Inherited from​

BaseChannelAdapter.setStatus


shutdown()​

shutdown(): Promise<void>

Defined in: packages/agentos/src/io/channels/adapters/BaseChannelAdapter.ts:166

Gracefully shut down the adapter and release all resources.

Returns​

Promise<void>

Inherited from​

BaseChannelAdapter.shutdown