Documentation
¶
Index ¶
- type TelegramChannel
- func (c *TelegramChannel) BeginStream(ctx context.Context, chatID string) (channels.Streamer, error)
- func (c *TelegramChannel) DeleteMessage(ctx context.Context, chatID string, messageID string) error
- func (c *TelegramChannel) EditMessage(ctx context.Context, chatID string, messageID string, content string) error
- func (c *TelegramChannel) RegisterCommands(ctx context.Context, defs []commands.Definition) error
- func (c *TelegramChannel) Send(ctx context.Context, msg bus.OutboundMessage) ([]string, error)
- func (c *TelegramChannel) SendMedia(ctx context.Context, msg bus.OutboundMediaMessage) ([]string, error)
- func (c *TelegramChannel) SendPlaceholder(ctx context.Context, chatID string) (string, error)
- func (c *TelegramChannel) Start(ctx context.Context) error
- func (c *TelegramChannel) StartTyping(ctx context.Context, chatID string) (func(), error)
- func (c *TelegramChannel) Stop(ctx context.Context) error
- func (c *TelegramChannel) VoiceCapabilities() channels.VoiceCapabilities
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) DeleteMessage ¶ added in v0.2.4
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 (c *TelegramChannel) Send(ctx context.Context, msg bus.OutboundMessage) ([]string, error)
func (*TelegramChannel) SendMedia ¶
func (c *TelegramChannel) SendMedia(ctx context.Context, msg bus.OutboundMediaMessage) ([]string, error)
SendMedia implements the channels.MediaSender interface.
func (*TelegramChannel) SendPlaceholder ¶
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) 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) VoiceCapabilities ¶ added in v0.2.5
func (c *TelegramChannel) VoiceCapabilities() channels.VoiceCapabilities
VoiceCapabilities returns the voice capabilities of the channel.