usecases

package
v2.0.0-...-d012dd2 Latest Latest
Warning

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

Go to latest
Published: Nov 5, 2024 License: MIT Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CreateBootstrapFlow

func CreateBootstrapFlow(l core.Logger, chatStorage legacy.IChatStorage, userStorage legacy.IUserStorage) legacy.ITextHandler

func CreateChatStorageDecorator

func CreateChatStorageDecorator(cache core.IChatStorage, db core.IChatStorage) core.IChatStorage

func CreateCommandService

func CreateCommandService() core.ICommandService

func CreateInstagramFlow

func CreateInstagramFlow(l core.Logger, api api.YoutubeApi, sendMedia legacy.ISendMediaStrategy) legacy.ITextHandler

func CreateOutlineVpnFacade

func CreateOutlineVpnFacade(apiUrl string, dbFile string, l core.Logger, userStorage legacy.IUserStorage) legacy.IVpnAPI

func CreateUserStorageDecorator

func CreateUserStorageDecorator(primary core.IUserStorage, secondary core.IUserStorage) core.IUserStorage

func CreateVpnFlow

func CreateVpnFlow(l core.Logger, loc legacy.ILocalizer, api legacy.IVpnAPI) legacy.ITextHandler

func Find

func Find(a []Stat, id int64) int

Find player by username in current stat

Types

type BootstrapFlow

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

func (*BootstrapFlow) HandleText

func (flow *BootstrapFlow) HandleText(message *legacy.Message, bot legacy.IBot) error

HandleText is a core.ITextHandler protocol implementation

type ByText

type ByText []core.Command

func (ByText) Len

func (t ByText) Len() int

func (ByText) Less

func (t ByText) Less(i, j int) bool

func (ByText) Swap

func (t ByText) Swap(i, j int)

type ChatStorageDecorator

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

func (*ChatStorageDecorator) CreateChat

func (decorator *ChatStorageDecorator) CreateChat(chatID int64, title string, type_ string) error

CreateChat is a core.IChatStorage interface implementation

func (*ChatStorageDecorator) GetChatByID

func (decorator *ChatStorageDecorator) GetChatByID(chatID int64) (*core.Chat, error)

GetChatByID is a core.IChatStorage interface implementation

type CommandService

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

func (*CommandService) DisableCommands

func (service *CommandService) DisableCommands(chatID int64, commands []core.Command, bot core.IBot) error

DisableCommands is a core.ICommandService interface implementation

func (*CommandService) EnableCommands

func (service *CommandService) EnableCommands(chatID int64, commands []core.Command, bot core.IBot) error

EnableCommands is a core.ICommandService interface implementation

type GameFlow

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

GameFlow represents faggot game logic

func CreateGameFlow

func CreateGameFlow(l core.Logger, t legacy.ILocalizer, s legacy.IGameStorage, r legacy.IRand, settings legacy.ISettingsProvider, commandService legacy.ICommandService) *GameFlow

CreateGameFlow is a simple GameFlow factory

func (*GameFlow) Add

func (flow *GameFlow) Add(message *legacy.Message, bot legacy.IBot) error

Add a new player to game

func (*GameFlow) All

func (flow *GameFlow) All(message *legacy.Message, bot legacy.IBot) error

All statistics for all time

func (*GameFlow) Me

func (flow *GameFlow) Me(message *legacy.Message, bot legacy.IBot) error

Me returns your personal statistics

func (*GameFlow) Play

func (flow *GameFlow) Play(message *legacy.Message, bot legacy.IBot) error

Play game

func (*GameFlow) Rules

func (flow *GameFlow) Rules(message *legacy.Message, bot legacy.IBot) error

Rules of the game

func (*GameFlow) Stats

func (flow *GameFlow) Stats(message *legacy.Message, bot legacy.IBot) error

Stats returns current year statistics

type IDoNotCare

type IDoNotCare struct{}

func CreateIDoNotCare

func CreateIDoNotCare() *IDoNotCare

func (IDoNotCare) HandleText

func (IDoNotCare) HandleText(message *core.Message, bot core.IBot) error

HandleText is a core.ITextHandler protocol implementation

type ITweetHandler

type ITweetHandler interface {
	Process(string, *legacy.Message, legacy.IBot) error
}

type ImageFlow

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

ImageFlow represents convert image to hotlink logic

func CreateImageFlow

func CreateImageFlow(l core.Logger, fileUploader legacy.IFileUploader, imageDownloader legacy.IImageDownloader) *ImageFlow

CreateImageFlow is a basic ImageFlow factory

func (*ImageFlow) HandleImage

func (flow *ImageFlow) HandleImage(image *legacy.Image, message *legacy.Message, bot legacy.IBot) error

HandleImage is a core.IImageHandler protocol implementation

type InstagramFlow

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

func (*InstagramFlow) HandleText

func (flow *InstagramFlow) HandleText(message *legacy.Message, bot legacy.IBot) error

HandleText is a core.ITextHandler protocol implementation

type LinkFlow

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

LinkFlow converts hotlink to video/photo attachment

func CreateLinkFlow

func CreateLinkFlow(l core.Logger, httpClient legacy.IHttpClient, mediaFactory legacy.IMediaFactory, sendMediaStrategy legacy.ISendMediaStrategy) *LinkFlow

CreateLinkFlow is a basic LinkFlow factory

func (*LinkFlow) HandleText

func (flow *LinkFlow) HandleText(message *legacy.Message, bot legacy.IBot) error

HandleText is a core.ITextHandler protocol implementation

type OutlineVpnFacade

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

func (*OutlineVpnFacade) CreateKey

func (facade *OutlineVpnFacade) CreateKey(chatID int64, title string) (*legacy.VpnKey, error)

CreateKey is a core.IVpnAPI interface implementation

func (*OutlineVpnFacade) DeleteKey

func (facade *OutlineVpnFacade) DeleteKey(key *legacy.VpnKey) error

DeleteKey is a core.IVpnAPI interface implementation

func (*OutlineVpnFacade) GetKeys

func (facade *OutlineVpnFacade) GetKeys(chatID int64) ([]*legacy.VpnKey, error)

GetKeys is a core.IVpnAPI interface implementation

type OutlineVpnFlow

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

func (*OutlineVpnFlow) ButtonPressed

func (flow *OutlineVpnFlow) ButtonPressed(button *legacy.Button, message *legacy.Message, _ *legacy.User, bot legacy.IBot) error

ButtonPressed is a core.IButtonHandler protocol implementation

func (*OutlineVpnFlow) GetButtonIds

func (flow *OutlineVpnFlow) GetButtonIds() []string

GetButtonIds is a core.IButtonHandler protocol implementation

func (*OutlineVpnFlow) HandleText

func (flow *OutlineVpnFlow) HandleText(message *legacy.Message, bot legacy.IBot) error

HandleText is a core.ITextHandler protocol implementation

type OutlineVpnState

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

type PublisherFlow

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

PublisherFlow represents last sent image keeper logic

func CreatePublisherFlow

func CreatePublisherFlow(chatID legacy.ChatID, username string, l core.Logger) *PublisherFlow

CreatePublisherFlow is a basic PublisherFlow factory

func (*PublisherFlow) HandleImage

func (p *PublisherFlow) HandleImage(image *legacy.Image, message *legacy.Message, bot legacy.IBot) error

HandleImage is a core.IImageHandler protocol implementation

func (*PublisherFlow) HandleRequest

func (p *PublisherFlow) HandleRequest(message *legacy.Message, bot legacy.IBot) error

type RebootServerFlow

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

func NewRebootServerFlow

func NewRebootServerFlow(serverApi legacy.ServerAPI, commandService legacy.ICommandService, logger core.Logger, opts *RebootServerOptions) *RebootServerFlow

func (*RebootServerFlow) ButtonPressed

func (flow *RebootServerFlow) ButtonPressed(button *legacy.Button, message *legacy.Message, user *legacy.User, bot legacy.IBot) error

ButtonPressed is a core.IButtonHandler protocol implementation

func (*RebootServerFlow) GetButtonIds

func (flow *RebootServerFlow) GetButtonIds() []string

GetButtonIds is a core.IButtonHandler protocol implementation

func (*RebootServerFlow) HandleText

func (flow *RebootServerFlow) HandleText(message *legacy.Message, bot legacy.IBot) error

HandleText is a core.ITextHandler protocol implementation

func (*RebootServerFlow) Reboot

func (flow *RebootServerFlow) Reboot(message *legacy.Message, bot legacy.IBot) error

type RebootServerOptions

type RebootServerOptions struct {
	ChatIds []int64
	Command string
}

type RemoveSourceDecorator

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

func CreateRemoveSourceDecorator

func CreateRemoveSourceDecorator(l core.Logger, decoratee legacy.ITextHandler, settingsKey legacy.SettingKey, settingProvider legacy.IBoolSettingProvider) *RemoveSourceDecorator

func (*RemoveSourceDecorator) HandleText

func (decorator *RemoveSourceDecorator) HandleText(message *legacy.Message, bot legacy.IBot) error

HandleText is a core.ITextHandler protocol implementation

type StartFlow

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

func CreateStartFlow

func CreateStartFlow(l core.Logger, loc legacy.ILocalizer, settings legacy.ISettingsProvider, commandService legacy.ICommandService) *StartFlow

func (*StartFlow) Help

func (flow *StartFlow) Help(message *legacy.Message, bot legacy.IBot) error

func (*StartFlow) Start

func (flow *StartFlow) Start(message *legacy.Message, bot legacy.IBot) error

type Stat

type Stat struct {
	Player *core.User
	Score  int
}

Stat represents game statistics

type TikTokFlow

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

func CreateTikTokFlow

func CreateTikTokFlow(httpClient core.IHttpClient, mediaFactory core.IMediaFactory, sendMediaStrategy core.ISendMediaStrategy) *TikTokFlow

func (*TikTokFlow) HandleText

func (flow *TikTokFlow) HandleText(message *core.Message, bot core.IBot) error

HandleText is a core.ITextHandler protocol implementation

type TwitterFlow

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

TwitterFlow represents tweet processing logic

func CreateTwitterFlow

func CreateTwitterFlow(l core.Logger, mediaFactory legacy.IMediaFactory, sendMediaStrategy legacy.ISendMediaStrategy) *TwitterFlow

CreateTwitterFlow is a basic TwitterFlow factory

func (*TwitterFlow) Process

func (flow *TwitterFlow) Process(tweetID string, message *legacy.Message, bot legacy.IBot) error

Process is a ITweetHandler protocol implementation

type TwitterParser

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

func CreateTwitterParser

func CreateTwitterParser(l core.Logger, tweetHandler ITweetHandler) *TwitterParser

func (*TwitterParser) HandleText

func (parser *TwitterParser) HandleText(message *legacy.Message, bot legacy.IBot) error

HandleText is a core.ITextHandler protocol implementation

type TwitterTimeout

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

TwitterTimeout is a decorator for TwitterFlow to handle API timeouts gracefully

func CreateTwitterTimeout

func CreateTwitterTimeout(l core.Logger, tweetHandler ITweetHandler) *TwitterTimeout

CreateTwitterFlow is a basic TwitterFlow factory

func (*TwitterTimeout) Process

func (twitterTimeout *TwitterTimeout) Process(tweetID string, message *legacy.Message, bot legacy.IBot) error

Process is a ITweetHandler protocol implementation

type UserStorageDecorator

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

func (*UserStorageDecorator) CreateUser

func (decorator *UserStorageDecorator) CreateUser(user *core.User) error

CreateUser is a core.IUserStorage interface implementation

func (*UserStorageDecorator) GetUserById

func (decorator *UserStorageDecorator) GetUserById(userID int64) (*core.User, error)

GetUserById is a core.IUserStorage interface implementation

type VideoFlow

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

VideoFlow represents convert file to video logic

func CreateVideoFlow

func CreateVideoFlow(l core.Logger, videoFactory legacy.IVideoFactory, converter legacy.IVideoConverter) *VideoFlow

CreateVideoFlow is a basic VideoFlow factory

func (*VideoFlow) HandleDocument

func (flow *VideoFlow) HandleDocument(document *legacy.Document, message *legacy.Message, bot legacy.IBot) error

HandleDocument is a core.IDocumentHandler protocol implementation

type YoutubeFlow

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

func CreateYoutubeFlow

func CreateYoutubeFlow(l core.Logger, mediaFactory legacy.IMediaFactory, videoFactory legacy.IVideoFactory, sendStrategy legacy.ISendVideoStrategy) *YoutubeFlow

func (*YoutubeFlow) HandleText

func (flow *YoutubeFlow) HandleText(message *legacy.Message, bot legacy.IBot) error

HandleText is a core.ITextHandler protocol implementation

Jump to

Keyboard shortcuts

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