telegram

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 16, 2026 License: MIT Imports: 28 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type TelegramChannel

type TelegramChannel struct {
	*channels.BaseChannel
	// contains filtered or unexported fields
}

func NewTelegramChannel

func NewTelegramChannel(
	bc *config.Channel,
	telegramCfg *config.TelegramSettings,
	bus *bus.MessageBus,
) (*TelegramChannel, error)

func (*TelegramChannel) BeginStream

func (c *TelegramChannel) BeginStream(ctx context.Context, chatID string) (channels.Streamer, error)

BeginStream implements channels.StreamingCapable.

func (*TelegramChannel) ClearToolFeedbackMessage

func (c *TelegramChannel) ClearToolFeedbackMessage(chatID string)

func (*TelegramChannel) DeleteMessage

func (c *TelegramChannel) DeleteMessage(ctx context.Context, chatID string, messageID string) error

DeleteMessage implements channels.MessageDeleter.

func (*TelegramChannel) DismissToolFeedbackMessage

func (c *TelegramChannel) DismissToolFeedbackMessage(ctx context.Context, chatID string)

func (*TelegramChannel) EditMessage

func (c *TelegramChannel) EditMessage(ctx context.Context, chatID string, messageID string, content string) error

EditMessage implements channels.MessageEditor.

func (*TelegramChannel) FinalizeToolFeedbackMessage

func (c *TelegramChannel) FinalizeToolFeedbackMessage(ctx context.Context, msg bus.OutboundMessage) ([]string, bool)

func (*TelegramChannel) PrepareToolFeedbackMessageContent

func (c *TelegramChannel) PrepareToolFeedbackMessageContent(content string) string

func (*TelegramChannel) RecordToolFeedbackMessage

func (c *TelegramChannel) RecordToolFeedbackMessage(chatID, messageID, content string)

func (*TelegramChannel) RegisterCommands

func (c *TelegramChannel) RegisterCommands(ctx context.Context, defs []commands.Definition) error

RegisterCommands registers bot commands on Telegram platform.

func (*TelegramChannel) Send

func (*TelegramChannel) SendMedia

func (c *TelegramChannel) SendMedia(ctx context.Context, msg bus.OutboundMediaMessage) ([]string, error)

SendMedia implements the channels.MediaSender interface.

func (*TelegramChannel) SendPlaceholder

func (c *TelegramChannel) SendPlaceholder(ctx context.Context, chatID string) (string, error)

SendPlaceholder implements channels.PlaceholderCapable. It sends a placeholder message (e.g. "Thinking... 💭") that will later be edited to the actual response via EditMessage (channels.MessageEditor).

func (*TelegramChannel) Start

func (c *TelegramChannel) Start(ctx context.Context) error

func (*TelegramChannel) StartTyping

func (c *TelegramChannel) StartTyping(ctx context.Context, chatID string) (func(), error)

StartTyping implements channels.TypingCapable. It sends ChatAction(typing) immediately and then repeats every 4 seconds (Telegram's typing indicator expires after ~5s) in a background goroutine. The returned stop function is idempotent and cancels the goroutine. The goroutine also exits automatically after maxTypingDuration if cancel is never called (e.g. when the LLM fails or times out without publishing).

func (*TelegramChannel) Stop

func (c *TelegramChannel) Stop(ctx context.Context) error

func (*TelegramChannel) ToolFeedbackMessageChatID

func (c *TelegramChannel) ToolFeedbackMessageChatID(chatID string, outboundCtx *bus.InboundContext) string

func (*TelegramChannel) VoiceCapabilities

func (c *TelegramChannel) VoiceCapabilities() channels.VoiceCapabilities

VoiceCapabilities returns the voice capabilities of the channel.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL