civsession

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Jun 1, 2020 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DefaultCivConfig = CivConfig{
	NumBans:        1,
	NumPicks:       3,
	NumRepicks:     3,
	UseFilthyTiers: false,
}

DefaultCivConfig holds the default values for a CivConfig. This value is used when a new CivSession is created.

Functions

func FormatPicks

func FormatPicks(picks map[*discordgo.User][]*civ.Civ) string

FormatPicks returns a string in a readable format for each player's picks.

Types

type CivBotTestData

type CivBotTestData struct {
	Players                   []*discordgo.User
	CS                        *CivSession
	CSWithPlayers             *CivSession
	CSWithPlayersAndBans      *CivSession
	CSWithPlayersBansAndPicks *CivSession
}

CivBotTestData contains data to use in automated tests.

func NewTestData

func NewTestData() *CivBotTestData

NewTestData returns a fresh instance of CivBotTestData to use in tests.

type CivConfig

type CivConfig struct {
	NumBans        int
	NumPicks       int
	NumRepicks     int
	UseFilthyTiers bool
}

CivConfig holds a config for a CivSession.

type CivSession

type CivSession struct {
	Config           *CivConfig
	Clock            clock.Clock
	Players          []*discordgo.User
	PlayerMap        map[string]*discordgo.User
	Civs             []*civ.Civ
	CivMap           map[constants.CivKey]*civ.Civ
	Bans             map[string][]*civ.Civ
	Picks            map[string][]*civ.Civ
	PickTime         time.Time
	RePickVotes      int
	RePicksRemaining int
}

CivSession holds data for a single civ-bot session.

func NewCivSession

func NewCivSession() *CivSession

NewCivSession returns a new CivSession, note map fields are initialized to empty zero lengtrh maps.

func (*CivSession) CommandsHandler

func (cs *CivSession) CommandsHandler(s *discordgo.Session, m *discordgo.MessageCreate)

CommandsHandler handles all civ-bot commands.

func (*CivSession) FormatBans

func (cs *CivSession) FormatBans() string

FormatBans returns a string for the CivSession's Bans in a readable format.

func (*CivSession) ReactionsHandler

func (cs *CivSession) ReactionsHandler(s *discordgo.Session, r *discordgo.MessageReactionAdd)

ReactionsHandler handles all civ-bot related reactions.

func (*CivSession) Reset

func (cs *CivSession) Reset()

Reset clears the CivSession referenced by the pointer receiver to the func, and maintains the CivConfig.

Jump to

Keyboard shortcuts

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