telegram

package
v0.2.8 Latest Latest
Warning

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

Go to latest
Published: Apr 30, 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 added in v0.2.4

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

BeginStream implements channels.StreamingCapable.

func (*TelegramChannel) ClearToolFeedbackMessage added in v0.2.8

func (c *TelegramChannel) ClearToolFeedbackMessage(chatID string)

func (*TelegramChannel) DeleteMessage added in v0.2.4

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

DeleteMessage implements channels.MessageDeleter.

func (*TelegramChannel) DismissToolFeedbackMessage added in v0.2.8

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 added in v0.2.8

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

func (*TelegramChannel) PrepareToolFeedbackMessageContent added in v0.2.8

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

func (*TelegramChannel) RecordToolFeedbackMessage added in v0.2.8

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

func (*TelegramChannel) RegisterCommands added in v0.2.1

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 added in v0.2.8

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

func (*TelegramChannel) VoiceCapabilities added in v0.2.5

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