respond

package
v0.0.0-...-422e9ff Latest Latest
Warning

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

Go to latest
Published: May 12, 2026 License: MIT Imports: 4 Imported by: 0

Documentation

Overview

Package respond provides focused send and answer helpers for handler code.

Index

Constants

This section is empty.

Variables

View Source
var ErrNilCallbackQuery = errors.New("nil callback query")

ErrNilCallbackQuery is returned when a callback answer has no callback query.

View Source
var ErrNilClient = errors.New("nil telegram client")

ErrNilClient is returned when a responder has no Telegram API client.

View Source
var ErrNilMessage = errors.New("nil message")

ErrNilMessage is returned when a message-based target cannot be built.

View Source
var ErrNoMessageTarget = errors.New("message target unavailable")

ErrNoMessageTarget is returned when a callback query has no usable message target.

Functions

This section is empty.

Types

type AnswerCallbackOption

type AnswerCallbackOption func(*client.AnswerCallbackQueryJSONRequestBody)

AnswerCallbackOption configures an AnswerCallbackQuery request built by Responder.

func WithAnswerCallbackPatch

func WithAnswerCallbackPatch(patch func(*client.AnswerCallbackQueryJSONRequestBody)) AnswerCallbackOption

WithAnswerCallbackPatch applies advanced AnswerCallbackQuery options not wrapped here.

func WithCallbackCache

func WithCallbackCache(seconds int) AnswerCallbackOption

WithCallbackCache sets the callback answer cache duration in seconds.

func WithCallbackURL

func WithCallbackURL(url string) AnswerCallbackOption

WithCallbackURL sets the URL opened by the client for a callback answer.

type ChatTarget

type ChatTarget struct {
	ChatID                int64
	MessageThreadID       *int
	DirectMessagesTopicID *int
	BusinessConnectionID  *string
}

ChatTarget identifies where a message should be sent.

func TargetFromMessage

func TargetFromMessage(message *client.Message) (ChatTarget, error)

TargetFromMessage builds a send target from a source Telegram message.

type Responder

type Responder struct {
	// contains filtered or unexported fields
}

Responder sends common Telegram responses through the generated client.

func New

New creates a responder backed by the generated Telegram API client.

func (*Responder) AnswerCallback

func (r *Responder) AnswerCallback(
	ctx context.Context,
	query *client.CallbackQuery,
	opts ...AnswerCallbackOption,
) error

AnswerCallback answers a callback query.

func (*Responder) AnswerCallbackAlert

func (r *Responder) AnswerCallbackAlert(
	ctx context.Context,
	query *client.CallbackQuery,
	text string,
	opts ...AnswerCallbackOption,
) error

AnswerCallbackAlert answers a callback query with an alert dialog.

func (*Responder) AnswerCallbackText

func (r *Responder) AnswerCallbackText(
	ctx context.Context,
	query *client.CallbackQuery,
	text string,
	opts ...AnswerCallbackOption,
) error

AnswerCallbackText answers a callback query with a notification.

func (*Responder) ReplyText

func (r *Responder) ReplyText(
	ctx context.Context,
	source *client.Message,
	text string,
	opts ...SendTextOption,
) (*client.Message, error)

ReplyText sends a text reply to source.

func (*Responder) SendText

func (r *Responder) SendText(
	ctx context.Context,
	target ChatTarget,
	text string,
	opts ...SendTextOption,
) (*client.Message, error)

SendText sends a text message to the target.

func (*Responder) SendTextToMessage

func (r *Responder) SendTextToMessage(
	ctx context.Context,
	source *client.Message,
	text string,
	opts ...SendTextOption,
) (*client.Message, error)

SendTextToMessage sends a text message to the same target as source.

type SendTextOption

type SendTextOption func(*client.SendMessageJSONRequestBody)

SendTextOption configures a SendMessage request built by Responder.

func WithHTML

func WithHTML() SendTextOption

WithHTML sets HTML parse mode for sent text.

func WithMarkdownV2

func WithMarkdownV2() SendTextOption

WithMarkdownV2 sets MarkdownV2 parse mode for sent text.

func WithParseMode

func WithParseMode(mode string) SendTextOption

WithParseMode sets Telegram parse mode for sent text.

func WithProtectedContent

func WithProtectedContent() SendTextOption

WithProtectedContent prevents forwarding and saving the sent message.

func WithSendMessagePatch

func WithSendMessagePatch(patch func(*client.SendMessageJSONRequestBody)) SendTextOption

WithSendMessagePatch applies advanced SendMessage options not wrapped here.

func WithSilent

func WithSilent() SendTextOption

WithSilent sends the message without notification.

Jump to

Keyboard shortcuts

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