Documentation ¶
Index ¶
Constants ¶
View Source
const ( GameStatus = 0 WatchStatus = 1 StreamingStatus = 2 ListeningStatus = 3 AdminPermission int64 = discordgo.PermissionManageServer // AdminPermission of the command )
Variables ¶
View Source
var ( Debug bool ErrBadStatusType = errors.New("bad status type, please use the constant") ErrStatusUrlNotFound = errors.New("status url not found") )
View Source
var ( //go:embed resources/config.toml DefaultBaseConfig string // BaseCfg is the BaseConfig used by the bot BaseCfg BaseConfig ErrImpossibleToConnectDB = errors.New("impossible to connect to the database") ErrImpossibleToConnectRedis = errors.New("impossible to connect to redis") )
View Source
var ( ErrGuildIDDiscordIDNotPresent = errors.New("guild_id or discord_id not informed") ErrNilClient = errors.New("redis.NewClient is nil") )
View Source
var Ctx = context.Background()
Ctx background
View Source
var DB *gorm.DB
DB used
Functions ¶
func SetupConfigs ¶
func SetupConfigs(cfgInfo []ConfigInfo) error
SetupConfigs with the given configs (+ base config which is available at BaseCfg)
Types ¶
type BaseConfig ¶
type BaseConfig struct { Main Main Redis RedisCredentials Database DatabaseCredentials }
BaseConfig is all basic configuration (debug, redis connection and database connection)
type Bot ¶
type Bot struct { Token string // Token of the Bot Status []*Status // Status of the Bot Commands []Cmd // Commands of the Bot Handlers []interface{} // Handlers of the Bot }
Bot is the representation of a discord bot
type Cmd ¶
type Cmd struct { discordgo.ApplicationCommand Handler func(s *discordgo.Session, i *discordgo.InteractionCreate) // Handler called }
Cmd is a discordgo.ApplicationCommand + its handler
Use AdminPermission to set the admin permission
type ConfigInfo ¶
type ConfigInfo struct { Cfg any // pointer to the struct Name string // name of the config Default string // default content of the config }
ConfigInfo has all required information to get a config
type DatabaseCredentials ¶
type RedisCredentials ¶
var Credentials RedisCredentials
Credentials of redis
func (*RedisCredentials) Get ¶
func (rc *RedisCredentials) Get() (*redis.Client, error)
Get the redis.Client with the given RedisCredentials
Click to show internal directories.
Click to hide internal directories.