bot

package
v0.0.0-...-68a21f0 Latest Latest
Warning

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

Go to latest
Published: Dec 11, 2023 License: AGPL-3.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrInvalidChat            = fmt.Errorf("invalid chat")
	ErrWithoutStorages        = fmt.Errorf("not run without storages [use: engine.UseDefaultStorages()]")
	ErrInvalidBigCallbackData = fmt.Errorf("invalid big callback data")
)

Functions

This section is empty.

Types

type Context

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

func (*Context) Abort

func (ctx *Context) Abort()

func (*Context) AbortWith

func (ctx *Context) AbortWith(args ...interface{})

func (*Context) AbortWithAnswer

func (ctx *Context) AbortWithAnswer(text string)

func (*Context) AbortWithCallback

func (ctx *Context) AbortWithCallback(showAlert bool, text string)

func (*Context) AbortWithMessage

func (ctx *Context) AbortWithMessage(message string)

func (*Context) AddError

func (ctx *Context) AddError(err error)

func (*Context) Answer

func (ctx *Context) Answer(text string) error

func (*Context) AnswerWithKeyboard

func (ctx *Context) AnswerWithKeyboard(text string, keyboard interface{}) error

func (*Context) BigCallbackData

func (ctx *Context) BigCallbackData(template string, data interface{}) string

func (*Context) Callback

func (ctx *Context) Callback(showAlert bool, text string) error

func (*Context) CallbackDone

func (ctx *Context) CallbackDone()

func (*Context) Chat

func (ctx *Context) Chat() *tgbotapi.Chat

func (*Context) ClearOtherUserState

func (ctx *Context) ClearOtherUserState(tgID int64) error

func (*Context) ClearState

func (ctx *Context) ClearState() error

func (*Context) CopyMessage

func (ctx *Context) CopyMessage(chatID, fromChatID int64, messageID int) (tgbotapi.Message, error)

func (*Context) CurrentNameHandler

func (ctx *Context) CurrentNameHandler() string

func (*Context) Deadline

func (ctx *Context) Deadline() (deadline time.Time, ok bool)

func (*Context) DeleteCallbackData

func (ctx *Context) DeleteCallbackData() error

func (*Context) DeleteMessage

func (ctx *Context) DeleteMessage(chatID int64, messageID int) error

func (*Context) Done

func (ctx *Context) Done() <-chan struct{}

func (*Context) Edit

func (ctx *Context) Edit(text string) error

func (*Context) EditKeyboard

func (ctx *Context) EditKeyboard(keyboard tgbotapi.InlineKeyboardMarkup) error

func (*Context) EditWithKeyboard

func (ctx *Context) EditWithKeyboard(text string, keyboard tgbotapi.InlineKeyboardMarkup) error

func (*Context) Err

func (ctx *Context) Err() error

func (*Context) Error

func (ctx *Context) Error() error

func (*Context) From

func (ctx *Context) From() *tgbotapi.User

func (*Context) Get

func (ctx *Context) Get(key string) (interface{}, bool)

func (*Context) GetBot

func (ctx *Context) GetBot() (tgbotapi.User, error)

func (*Context) GetCallback

func (ctx *Context) GetCallback() *tgbotapi.CallbackQuery

func (*Context) GetCallbackData

func (ctx *Context) GetCallbackData() (interface{}, error)

func (*Context) GetCallbackID

func (ctx *Context) GetCallbackID() string

func (*Context) GetCallbackTemplate

func (ctx *Context) GetCallbackTemplate() string

func (*Context) GetChat

func (ctx *Context) GetChat(chatID int64) (tgbotapi.Chat, error)

func (*Context) GetMessage

func (ctx *Context) GetMessage() *tgbotapi.Message

func (*Context) GetUpdateID

func (ctx *Context) GetUpdateID() int

func (*Context) IsAborted

func (ctx *Context) IsAborted() bool

func (*Context) Message

func (ctx *Context) Message(text string) error

func (*Context) MessageByConfig

func (ctx *Context) MessageByConfig(cfg tgbotapi.Chattable) (tgbotapi.Message, error)

func (*Context) MessageOtherChat

func (ctx *Context) MessageOtherChat(chatID int64, text string) (tgbotapi.Message, error)

func (*Context) MessageWithKeyboard

func (ctx *Context) MessageWithKeyboard(text string, keyboard interface{}) error

func (*Context) MessageWithKeyboardOtherChat

func (ctx *Context) MessageWithKeyboardOtherChat(chatID int64, text string, keyboard interface{}) (tgbotapi.Message, error)

func (*Context) Method

func (ctx *Context) Method() string

func (*Context) MustClearOtherUserState

func (ctx *Context) MustClearOtherUserState(tgID int64)

func (*Context) MustClearState

func (ctx *Context) MustClearState()

func (*Context) MustDeleteCallbackData

func (ctx *Context) MustDeleteCallbackData()

func (*Context) MustGet

func (ctx *Context) MustGet(key string) interface{}

func (*Context) MustReplyKeyboard

func (ctx *Context) MustReplyKeyboard(state string, rows ...[]tgbotapi.KeyboardButton) tgbotapi.ReplyKeyboardMarkup

func (*Context) MustSetOtherUserState

func (ctx *Context) MustSetOtherUserState(tgID int64, state string)

func (*Context) MustSetState

func (ctx *Context) MustSetState(state string)

func (*Context) NameMainHandler

func (ctx *Context) NameMainHandler() string

func (*Context) Next

func (ctx *Context) Next()

func (*Context) Query

func (ctx *Context) Query() string

func (*Context) Set

func (ctx *Context) Set(key string, val interface{})

func (*Context) SetOtherUserState

func (ctx *Context) SetOtherUserState(tgID int64, state string) error

func (*Context) SetState

func (ctx *Context) SetState(state string) error

func (*Context) State

func (ctx *Context) State() string

func (*Context) String

func (ctx *Context) String() string

func (*Context) Value

func (ctx *Context) Value(_ any) any

type Engine

type Engine struct {
	Router
	// contains filtered or unexported fields
}

func New

func New(logger *zap.Logger) (*Engine, error)

func (*Engine) NoRoute

func (engine *Engine) NoRoute(handlers ...HandlerFunc)

func (*Engine) Recovery

func (engine *Engine) Recovery(handler RecoveryFunc)

func (*Engine) Run

func (engine *Engine) Run()

func (*Engine) SetCallbackStorage

func (engine *Engine) SetCallbackStorage(storage Storage)

func (*Engine) SetCommands

func (engine *Engine) SetCommands(commands ...tgbotapi.BotCommand) error

func (*Engine) SetStateStorage

func (engine *Engine) SetStateStorage(storage Storage)

func (*Engine) StopReceivingUpdates

func (engine *Engine) StopReceivingUpdates()

func (*Engine) Use

func (engine *Engine) Use(middlewares ...HandlerFunc) Router

func (*Engine) UseDefaultStorages

func (engine *Engine) UseDefaultStorages()

type HandlerFunc

type HandlerFunc func(ctx *Context)

type HandlerGroup

type HandlerGroup func(group Router)

type HandlersChain

type HandlersChain []HandlerFunc

type Logger

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

func NewBotLogger

func NewBotLogger(logger *zap.Logger) *Logger

func (*Logger) Printf

func (l *Logger) Printf(format string, v ...interface{})

func (*Logger) Println

func (l *Logger) Println(v ...interface{})

type RecoveryFunc

type RecoveryFunc func(ctx *Context, err interface{})

type Router

type Router interface {
	Use(...HandlerFunc) Router

	Command(string, ...HandlerFunc) Router
	Message(string, ...HandlerFunc) Router
	Callback(string, ...HandlerFunc) Router

	CommandRegex(*regexp.Regexp, ...HandlerFunc) Router
	MessageRegex(*regexp.Regexp, ...HandlerFunc) Router
	CallbackRegex(*regexp.Regexp, ...HandlerFunc) Router

	CommandAny(handlers ...HandlerFunc) Router
	MessageAny(handlers ...HandlerFunc) Router
	CallbackAny(handlers ...HandlerFunc) Router

	MessageState(string, ...HandlerFunc) Router

	Group(string, HandlerGroup) Router
	GroupState(string, HandlerGroup) Router

	Handle(string, *regexp.Regexp, ...HandlerFunc) Router
}

type RouterGroup

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

func (*RouterGroup) Callback

func (group *RouterGroup) Callback(template string, handlers ...HandlerFunc) Router

func (*RouterGroup) CallbackAny

func (group *RouterGroup) CallbackAny(handlers ...HandlerFunc) Router

func (*RouterGroup) CallbackRegex

func (group *RouterGroup) CallbackRegex(regex *regexp.Regexp, handlers ...HandlerFunc) Router

func (*RouterGroup) Command

func (group *RouterGroup) Command(template string, handlers ...HandlerFunc) Router

func (*RouterGroup) CommandAny

func (group *RouterGroup) CommandAny(handlers ...HandlerFunc) Router

func (*RouterGroup) CommandRegex

func (group *RouterGroup) CommandRegex(regex *regexp.Regexp, handlers ...HandlerFunc) Router

func (*RouterGroup) Group

func (group *RouterGroup) Group(startPath string, handlerGroup HandlerGroup) Router

func (*RouterGroup) GroupState

func (group *RouterGroup) GroupState(state string, handlerGroup HandlerGroup) Router

func (*RouterGroup) Handle

func (group *RouterGroup) Handle(method string, regex *regexp.Regexp, handlers ...HandlerFunc) Router

func (*RouterGroup) Message

func (group *RouterGroup) Message(template string, handlers ...HandlerFunc) Router

func (*RouterGroup) MessageAny

func (group *RouterGroup) MessageAny(handlers ...HandlerFunc) Router

func (*RouterGroup) MessageRegex

func (group *RouterGroup) MessageRegex(regex *regexp.Regexp, handlers ...HandlerFunc) Router

func (*RouterGroup) MessageState

func (group *RouterGroup) MessageState(state string, handlers ...HandlerFunc) Router

func (*RouterGroup) Use

func (group *RouterGroup) Use(middlewares ...HandlerFunc) Router

type Storage

type Storage interface {
	Add(id string, data interface{}) error
	Get(id string) (interface{}, error)
	Delete(id string) error
}

Jump to

Keyboard shortcuts

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