Documentation
¶
Index ¶
- Constants
- Variables
- func ConvertKeyboardToTelego(localKeyboard *InlineKeyboardMarkup) *telego.InlineKeyboardMarkup
- func InlineKeyboardRows(rows int, btns ...InlineKeyboardButton) [][]InlineKeyboardButton
- type CallbackData
- type Dialog
- type DynamicListButton
- type Entry
- type InlineKeyboardButton
- type InlineKeyboardMarkup
- type Input
- type Keyboard
- type Media
- type MediaParams
- func (smp *MediaParams) AllowAnimations() *MediaParams
- func (smp *MediaParams) AllowAudios() *MediaParams
- func (smp *MediaParams) AllowDocuments() *MediaParams
- func (smp *MediaParams) AllowPhotos() *MediaParams
- func (smp *MediaParams) AllowStickers() *MediaParams
- func (smp *MediaParams) AllowVideoNotes() *MediaParams
- func (smp *MediaParams) AllowVideos() *MediaParams
- func (smp *MediaParams) AllowVoices() *MediaParams
- func (smp *MediaParams) SetMaxMediaCount(count int) *MediaParams
- func (smp *MediaParams) SetMaxMediaSizeKB(sizeKB int) *MediaParams
- type MediaType
- type OnInputResponse
- type Response
- type StepParams
- type Update
Constants ¶
View Source
const (
CloseButtonCallbackData = "close"
)
Variables ¶
View Source
var ( ErrDialogStepNotFound = errors.New("Не удалось получить шаг диалога.") ErrDialogQuestionNotFound = errors.New("Отсутствует вопрос для текущего шага.") ErrMediaIsNotAllowed = errors.New("Отправка медиа-файлов не поддерживается. Выберите вариант на клавиатуре или введите корректное значение.") ErrMediaTypeIsNotAllowed = errors.New("Данный тип медиа-файла не поддерживается.") ErrOnlyMediaIsAllowed = errors.New("В ответе поддерживаются только медиа-файлы.") ErrOnlyText = errors.New("В ответе поддерживается только текст.") ErrOnlyCallbackData = errors.New("В ответе поддерживаются только кнопки.") ErrOnlyDialogButtons = errors.New("В ответе поддерживаются только кнопки диалога.") )
Functions ¶
func ConvertKeyboardToTelego ¶
func ConvertKeyboardToTelego(localKeyboard *InlineKeyboardMarkup) *telego.InlineKeyboardMarkup
func InlineKeyboardRows ¶
func InlineKeyboardRows(rows int, btns ...InlineKeyboardButton) [][]InlineKeyboardButton
Types ¶
type CallbackData ¶
type CallbackData struct {
Raw string `json:"-"`
IsDialogStartAction bool `json:"is_dialog_start_action,omitempty"`
IsDynamicListConfirmAction bool `json:"tf_1,omitempty"`
IsCancel bool `json:"tf_4,omitempty"`
IsBack bool `json:"tf_5,omitempty"`
Page int `json:"page,omitempty"`
Data string `json:"data,omitempty"`
DataArgs map[string]string `json:"data_args,omitempty"`
IsDialog bool `json:"is_dialog,omitempty"`
}
func (CallbackData) JSON ¶
func (c CallbackData) JSON() string
func (*CallbackData) Unmarshal ¶
func (c *CallbackData) Unmarshal(data string) error
type Dialog ¶
type Dialog interface {
AddStep(params *StepParams)
GetInitialCallbackDataArgs() map[string]string
DynamicListPage(
isMultipleSelect bool,
buttonsPerRow int,
itemsPerPage int,
skipButtonStepID int,
pageButtons []DynamicListButton,
totalItems int,
) *Keyboard
DynamicListAll(
isMultipleSelect bool,
buttonsPerRow int,
maxButtonsInView int,
skipButtonStepID int,
buttonsList []DynamicListButton,
) *Keyboard
Router(ctx context.Context, update any) *Response
}
type DynamicListButton ¶
type InlineKeyboardButton ¶
func InlineButtonWithCallbackData ¶
func InlineButtonWithCallbackData(text string, callbackData string) InlineKeyboardButton
func InlineButtonWithURL ¶
func InlineButtonWithURL(text string, url string) InlineKeyboardButton
func SkipButton ¶
func SkipButton(toStepID int) InlineKeyboardButton
type InlineKeyboardMarkup ¶
type InlineKeyboardMarkup struct {
InlineKeyboard [][]InlineKeyboardButton
}
func InlineKeyboardGrid ¶
func InlineKeyboardGrid(rows [][]InlineKeyboardButton) *InlineKeyboardMarkup
type Keyboard ¶
type Keyboard struct {
InlineKeyboardMarkup *InlineKeyboardMarkup
}
func GetCloseButton ¶
func GetCloseButton() *Keyboard
func GetSkipButtonKeyboard ¶
func WithInlineKeyboard ¶
func WithInlineKeyboard(inlineKeyboardMarkup *InlineKeyboardMarkup) *Keyboard
func (*Keyboard) GetInlineKeyboardMarkup ¶
func (k *Keyboard) GetInlineKeyboardMarkup() *InlineKeyboardMarkup
type Media ¶
func ParseTelegoMedia ¶
type MediaParams ¶
type MediaParams struct {
AllowMedia bool
MaxMediaCount int
MaxMediaSizeKb int
AllowedMediaTypes []MediaType
}
func WithMedia ¶
func WithMedia() *MediaParams
func (*MediaParams) AllowAnimations ¶
func (smp *MediaParams) AllowAnimations() *MediaParams
func (*MediaParams) AllowAudios ¶
func (smp *MediaParams) AllowAudios() *MediaParams
func (*MediaParams) AllowDocuments ¶
func (smp *MediaParams) AllowDocuments() *MediaParams
func (*MediaParams) AllowPhotos ¶
func (smp *MediaParams) AllowPhotos() *MediaParams
func (*MediaParams) AllowStickers ¶
func (smp *MediaParams) AllowStickers() *MediaParams
func (*MediaParams) AllowVideoNotes ¶
func (smp *MediaParams) AllowVideoNotes() *MediaParams
func (*MediaParams) AllowVideos ¶
func (smp *MediaParams) AllowVideos() *MediaParams
func (*MediaParams) AllowVoices ¶
func (smp *MediaParams) AllowVoices() *MediaParams
func (*MediaParams) SetMaxMediaCount ¶
func (smp *MediaParams) SetMaxMediaCount(count int) *MediaParams
func (*MediaParams) SetMaxMediaSizeKB ¶
func (smp *MediaParams) SetMaxMediaSizeKB(sizeKB int) *MediaParams
type OnInputResponse ¶
type OnInputResponse struct {
ForceNextStepID int
}
type StepParams ¶
type StepParams struct {
StepID int
MediaParams *MediaParams
OnlyMedia bool
OnlyText bool
OnlyCallbackData bool
OnStart func(ctx context.Context) (string, *Keyboard, error)
OnInput func(ctx context.Context, input *Input) (OnInputResponse, error)
OnComplete func(ctx context.Context) (string, *Keyboard, error)
}
Source Files
¶
Click to show internal directories.
Click to hide internal directories.