telegram

package
v0.2.4 Latest Latest
Warning

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

Go to latest
Published: Mar 25, 2026 License: MIT Imports: 26 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(cfg *config.Config, 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) DeleteMessage added in v0.2.4

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

DeleteMessage implements channels.MessageDeleter.

func (*TelegramChannel) EditMessage

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

EditMessage implements channels.MessageEditor.

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

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

Jump to

Keyboard shortcuts

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