Documentation
¶
Index ¶
- type TelegramChannel
- 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) error
- func (c *TelegramChannel) SendMedia(ctx context.Context, msg bus.OutboundMediaMessage) 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
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) 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) error
func (*TelegramChannel) SendMedia ¶
func (c *TelegramChannel) SendMedia(ctx context.Context, msg bus.OutboundMediaMessage) 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.