Documentation ¶
Index ¶
- func CreateBootstrapFlow(l core.Logger, chatStorage legacy.IChatStorage, ...) legacy.ITextHandler
- func CreateChatStorageDecorator(cache core.IChatStorage, db core.IChatStorage) core.IChatStorage
- func CreateCommandService() core.ICommandService
- func CreateInstagramFlow(l core.Logger, api api.YoutubeApi, sendMedia legacy.ISendMediaStrategy) legacy.ITextHandler
- func CreateOutlineVpnFacade(apiUrl string, dbFile string, l core.Logger, userStorage legacy.IUserStorage) legacy.IVpnAPI
- func CreateUserStorageDecorator(primary core.IUserStorage, secondary core.IUserStorage) core.IUserStorage
- func CreateVpnFlow(l core.Logger, loc legacy.ILocalizer, api legacy.IVpnAPI) legacy.ITextHandler
- func Find(a []Stat, id int64) int
- type BootstrapFlow
- type ByText
- type ChatStorageDecorator
- type CommandService
- type GameFlow
- func (flow *GameFlow) Add(message *legacy.Message, bot legacy.IBot) error
- func (flow *GameFlow) All(message *legacy.Message, bot legacy.IBot) error
- func (flow *GameFlow) Me(message *legacy.Message, bot legacy.IBot) error
- func (flow *GameFlow) Play(message *legacy.Message, bot legacy.IBot) error
- func (flow *GameFlow) Rules(message *legacy.Message, bot legacy.IBot) error
- func (flow *GameFlow) Stats(message *legacy.Message, bot legacy.IBot) error
- type IDoNotCare
- type ITweetHandler
- type ImageFlow
- type InstagramFlow
- type LinkFlow
- type OutlineVpnFacade
- type OutlineVpnFlow
- type OutlineVpnState
- type PublisherFlow
- type RebootServerFlow
- func (flow *RebootServerFlow) ButtonPressed(button *legacy.Button, message *legacy.Message, user *legacy.User, ...) error
- func (flow *RebootServerFlow) GetButtonIds() []string
- func (flow *RebootServerFlow) HandleText(message *legacy.Message, bot legacy.IBot) error
- func (flow *RebootServerFlow) Reboot(message *legacy.Message, bot legacy.IBot) error
- type RebootServerOptions
- type RemoveSourceDecorator
- type StartFlow
- type Stat
- type TikTokFlow
- type TwitterFlow
- type TwitterParser
- type TwitterTimeout
- type UserStorageDecorator
- type VideoFlow
- type YoutubeFlow
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 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
Types ¶
type BootstrapFlow ¶
type BootstrapFlow struct {
// contains filtered or unexported fields
}
func (*BootstrapFlow) HandleText ¶
HandleText is a core.ITextHandler protocol implementation
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
type IDoNotCare ¶
type IDoNotCare struct{}
func CreateIDoNotCare ¶
func CreateIDoNotCare() *IDoNotCare
func (IDoNotCare) HandleText ¶
HandleText is a core.ITextHandler protocol implementation
type ITweetHandler ¶
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
type InstagramFlow ¶
type InstagramFlow struct {
// contains filtered or unexported fields
}
func (*InstagramFlow) HandleText ¶
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
type OutlineVpnFacade ¶
type OutlineVpnFacade struct {
// contains filtered or unexported fields
}
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 ¶
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 ¶
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 ¶
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 ¶
HandleText is a core.ITextHandler protocol implementation
type RebootServerOptions ¶
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 ¶
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
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 ¶
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
type TwitterParser ¶
type TwitterParser struct {
// contains filtered or unexported fields
}
func CreateTwitterParser ¶
func CreateTwitterParser(l core.Logger, tweetHandler ITweetHandler) *TwitterParser
func (*TwitterParser) HandleText ¶
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
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
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 ¶
HandleText is a core.ITextHandler protocol implementation
Source Files ¶
- bootstrap_flow.go
- chat_storage_decorator.go
- command_service.go
- faggot_game.go
- faggot_stat.go
- i_do_not_care.go
- image_flow.go
- instagram_flow.go
- link_flow.go
- ouline_vpn_facade.go
- outline_vpn_flow.go
- publisher_flow.go
- reboot_server_flow.go
- remove_source_decorator.go
- start_flow.go
- tiktok_flow.go
- twitter_flow.go
- twitter_parser.go
- twitter_timeout.go
- user_storage_decorator.go
- video_flow.go
- youtube_flow.go