Documentation
¶
Overview ¶
Package respond provides focused send and answer helpers for handler code.
Index ¶
- Variables
- type AnswerCallbackOption
- type ChatTarget
- type Responder
- func (r *Responder) AnswerCallback(ctx context.Context, query *client.CallbackQuery, opts ...AnswerCallbackOption) error
- func (r *Responder) AnswerCallbackAlert(ctx context.Context, query *client.CallbackQuery, text string, ...) error
- func (r *Responder) AnswerCallbackText(ctx context.Context, query *client.CallbackQuery, text string, ...) error
- func (r *Responder) ReplyText(ctx context.Context, source *client.Message, text string, ...) (*client.Message, error)
- func (r *Responder) SendText(ctx context.Context, target ChatTarget, text string, opts ...SendTextOption) (*client.Message, error)
- func (r *Responder) SendTextToMessage(ctx context.Context, source *client.Message, text string, ...) (*client.Message, error)
- type SendTextOption
Constants ¶
This section is empty.
Variables ¶
var ErrNilCallbackQuery = errors.New("nil callback query")
ErrNilCallbackQuery is returned when a callback answer has no callback query.
var ErrNilClient = errors.New("nil telegram client")
ErrNilClient is returned when a responder has no Telegram API client.
var ErrNilMessage = errors.New("nil message")
ErrNilMessage is returned when a message-based target cannot be built.
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 ¶
func New(api client.ClientWithResponsesInterface) *Responder
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.
type SendTextOption ¶
type SendTextOption func(*client.SendMessageJSONRequestBody)
SendTextOption configures a SendMessage request built by Responder.
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.