telegram

package
v0.0.0-...-01159b3 Latest Latest
Warning

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

Go to latest
Published: May 7, 2024 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ToCallbackKeyboard

func ToCallbackKeyboard(buttons ...[]TelegramCallbackButton) [][]tgbotapi.InlineKeyboardButton

Types

type Middleware

type Middleware func(UpdateHandler) UpdateHandler

type TelegramBotAdapter

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

TelegramBotAdapter wrap requests to telegram api

func NewTelegramBotAdapter

func NewTelegramBotAdapter(cfg *configs.TelegramConfig) *TelegramBotAdapter

func (*TelegramBotAdapter) HandleUpdates

func (t *TelegramBotAdapter) HandleUpdates(ctx context.Context, handler UpdateHandler)

func (*TelegramBotAdapter) SendCallback

func (t *TelegramBotAdapter) SendCallback(chatId string, message string) error

func (*TelegramBotAdapter) SendChatAction

func (t *TelegramBotAdapter) SendChatAction(chatId int64, action string) error

func (*TelegramBotAdapter) SendEditChatMessage

func (t *TelegramBotAdapter) SendEditChatMessage(chatId int64, msgId int, message string) error

func (*TelegramBotAdapter) SendForm

func (t *TelegramBotAdapter) SendForm(id int64, text string, buttons [][]tgbotapi.InlineKeyboardButton) error

TODO: refactor

func (*TelegramBotAdapter) SendSimpleChatMessage

func (t *TelegramBotAdapter) SendSimpleChatMessage(chatId int64, message string) error

func (*TelegramBotAdapter) Stop

func (t *TelegramBotAdapter) Stop()

type TelegramCallbackButton

type TelegramCallbackButton struct {
	Text string
	Data string
}

type TelegramHelpFormButtonData

type TelegramHelpFormButtonData struct {
	Action  string
	TopicID int64
	ChatTID int64
	UserTID int64
}

TelegramHelpFormButtonData payload for buttons on support request form

func ParseSupportTicketFormData

func ParseSupportTicketFormData(data string) *TelegramHelpFormButtonData

func (TelegramHelpFormButtonData) ToData

type TelegramListener

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

TelegramListener handle updates

func NewTelegramListener

func NewTelegramListener(
	adapter *TelegramBotAdapter,
) *TelegramListener

func (*TelegramListener) HandleEditedMessage

func (t *TelegramListener) HandleEditedMessage(handler messageHandlerFunc)

HandleEditedMessage set handler for incoming edited messages

func (*TelegramListener) HandleMessage

func (t *TelegramListener) HandleMessage(pattern string, handler messageHandlerFunc)

HandleMessage sets handler for incoming messages

func (*TelegramListener) ListenUpdates

func (t *TelegramListener) ListenUpdates(ctx context.Context)

ListenUpdates handle updates in sep goroutine

func (*TelegramListener) RegisterCallbackHandler

func (t *TelegramListener) RegisterCallbackHandler(key string, handler callbackQueryFunc)

RegisterCallbackHandler Define callback handlers per key, and the key is actually the cq.Data we attach to our buttons Note: It only works if you call HandleCallback along this function.

func (*TelegramListener) Stop

func (t *TelegramListener) Stop()

Stop listen

func (*TelegramListener) Use

func (t *TelegramListener) Use(middleware Middleware)

Use register middleware

type TelegramLogger

type TelegramLogger struct {
}

func (TelegramLogger) Printf

func (t TelegramLogger) Printf(format string, v ...interface{})

func (TelegramLogger) Println

func (t TelegramLogger) Println(v ...interface{})

type TelegramRatingFormButtonData

type TelegramRatingFormButtonData struct {
	Action  string
	TopicID int64
	Value   uint8
}

func ParseUserRatingFormData

func ParseUserRatingFormData(data string) *TelegramRatingFormButtonData

func (TelegramRatingFormButtonData) ToData

type UpdateHandler

type UpdateHandler func(ctx context.Context, update tgbotapi.Update)

Jump to

Keyboard shortcuts

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