Documentation ¶
Index ¶
- Constants
- func TimeStamp() string
- func TimeStampFmt(format string) string
- type ChannelData
- type CommandStruct
- type CommandType
- type ConfigStruct
- type GlobalData
- func (gd *GlobalData) ConnectDatabase()
- func (gd *GlobalData) ReadChannelData() error
- func (gd *GlobalData) ReadOrCreateChannelKey(channel string) string
- func (gd *GlobalData) UpdateBearerToken(user string, token string)
- func (gd *GlobalData) UpdateChannelKey(user string, channelKey string)
- func (gd *GlobalData) UpdateChannelName(user string, newName string)
- func (gd *GlobalData) UpdateJoined(user string, invert bool)
- func (gd *GlobalData) UpdateTwitchUserID(user string, userid string)
- func (gd *GlobalData) UpdateVideoCache(user string, videos []SingsVideoStruct)
- type SingsVideoStruct
Constants ¶
View Source
const UTCFormat = "Jan 2 15:04:05 UTC"
Variables ¶
This section is empty.
Functions ¶
func TimeStampFmt ¶
Types ¶
type ChannelData ¶
type ChannelData struct { ControlChannel bool Name string `json:"name"` AdminKey string `json:"value,omitempty"` Commands []CommandStruct `json:"commands,omitempty"` ExtraStrings string `json:"extrastrings,omitempty"` JoinTime time.Time `json:"jointime"` HasLeft bool `json:"hasleft"` VideoCache []SingsVideoStruct `json:"videoCache"` VideoCacheUpdated time.Time `json:"videoCacheUpdated"` Bearer string `json:"bearer"` TwitchUserID string `json:"twitchUserID"` }
ChannelData is what we store in the BitRaft (Redis) database
type CommandStruct ¶
type CommandStruct struct { CommandName CommandType `json:"commandName"` KeyWord string `json:"keyword"` }
CommandStruct keypair for irc command -> actual thing to do
type CommandType ¶
type CommandType string
CommandType Kinda an enum
const ( RandomSinger CommandType = "RandomSinger" RandomPrompt CommandType = "RandomPrompt" RandomSong CommandType = "RandomSong" AgingSinger CommandType = "AgingSinger" AgingSong CommandType = "AgingSong" )
CommandType literals
func (CommandType) IsValid ¶
func (ct CommandType) IsValid() error
IsValid Is CommandType a valid enum?
type ConfigStruct ¶
type ConfigStruct struct { InitialChannels []string `json:"channels"` IrcOAuthPath string `json:"ircoauthpath,omitempty"` StringPath string `json:"authpath,omitempty"` DataPath string `json:"datapath,omitempty"` ExternalURL string `json:"externalurl,omitempty"` AppOAuthPath string `json:"appoauthpath,omitempty"` DatabaseSVC string `json:"databasesvc,omitempty"` }
ConfigStruct is the base for the config file
type GlobalData ¶
type GlobalData struct { ChannelData map[string]ChannelData Config ConfigStruct Database redis.Conn ControlChannel string }
GlobalData Some kind of architect would kill me for this
func (*GlobalData) ConnectDatabase ¶
func (gd *GlobalData) ConnectDatabase()
ConnectDatabase Connects to the database set in the config struct
func (*GlobalData) ReadChannelData ¶
func (gd *GlobalData) ReadChannelData() error
func (*GlobalData) ReadOrCreateChannelKey ¶
func (gd *GlobalData) ReadOrCreateChannelKey(channel string) string
func (*GlobalData) UpdateBearerToken ¶
func (gd *GlobalData) UpdateBearerToken(user string, token string)
func (*GlobalData) UpdateChannelKey ¶
func (gd *GlobalData) UpdateChannelKey(user string, channelKey string)
func (*GlobalData) UpdateChannelName ¶
func (gd *GlobalData) UpdateChannelName(user string, newName string)
func (*GlobalData) UpdateJoined ¶
func (gd *GlobalData) UpdateJoined(user string, invert bool)
func (*GlobalData) UpdateTwitchUserID ¶
func (gd *GlobalData) UpdateTwitchUserID(user string, userid string)
func (*GlobalData) UpdateVideoCache ¶
func (gd *GlobalData) UpdateVideoCache(user string, videos []SingsVideoStruct)
UpdateVideoCache Updates the in-memory data and updates redis
type SingsVideoStruct ¶
type SingsVideoStruct struct { Date time.Time `json:"date"` // Golang date of creation FullTitle string `json:"fullTitle"` // Full Title Duet bool `json:"duet"` // Is it a duet? OtherSinger string `json:"otherSinger"` // Twitch NAME of the other singer, extracted from the title SongTitle string `json:"songTitle"` // extracted from title LastSungSong time.Time `json:"LastSungSong"` // Last time this SONG was sung LastSungSinger time.Time `json:"LastSungSinger"` // Last time a duet was sung with this SINGER, regardless of song, only Duets have this date initialised VideoURL string `json:"VideoURL"` // RIP Twitch Sings }
SingsVideoStruct The data we pull from Twitch
Click to show internal directories.
Click to hide internal directories.