Documentation
¶
Index ¶
- func AddGuildCoordinator(guildID, userID, addedBy string) error
- func DeleteGuildRecords(guildID string) error
- func DeleteGuildState(guildID string) error
- func DeleteLeaderboardConfig(lbType, guildID string) error
- func GetAllGuildIDs() ([]string, error)
- func GetGuildFlag(s *discordgo.Session, i *discordgo.InteractionCreate)
- func GetGuildSettingFlag(guildID string, key string) bool
- func GetGuildSettingString(guildID string, key string) string
- func GetGuildSettings(s *discordgo.Session, i *discordgo.InteractionCreate)
- func GetGuildSettingsForGuild(s *discordgo.Session, i *discordgo.InteractionCreate, guildID string)
- func HandleAdminSlashAdminSetServerBannerCommand(s *discordgo.Session, i *discordgo.InteractionCreate)
- func HandleCoordinators(s *discordgo.Session, i *discordgo.InteractionCreate)
- func HandleGuildFlagAutoComplete(s *discordgo.Session, i *discordgo.InteractionCreate)
- func HandleSetGuildSettingAutoComplete(s *discordgo.Session, i *discordgo.InteractionCreate)
- func HandleSetServerBanner(s *discordgo.Session, i *discordgo.InteractionCreate)
- func IsGuildCoordinator(guildID, userID string) bool
- func RemoveGuildCoordinator(guildID, userID string) error
- func SetGuildFlag(s *discordgo.Session, i *discordgo.InteractionCreate)
- func SetGuildSetting(s *discordgo.Session, i *discordgo.InteractionCreate)
- func SetGuildSettingFlag(guildID string, key string, value bool)
- func SetGuildSettingForGuild(s *discordgo.Session, i *discordgo.InteractionCreate, ...)
- func SetGuildSettingString(guildID string, key string, value string)
- func SlashAdminSetServerBannerCommand(cmd string) *discordgo.ApplicationCommand
- func SlashCoordinatorsCommand(cmd string) *discordgo.ApplicationCommand
- func SlashGetGuildFlagCommand(cmd string) *discordgo.ApplicationCommand
- func SlashGetGuildSettingsCommand(cmd string) *discordgo.ApplicationCommand
- func SlashSetGuildFlagCommand(cmd string) *discordgo.ApplicationCommand
- func SlashSetGuildSettingCommand(cmd string) *discordgo.ApplicationCommand
- func SlashSetServerBannerCommand(cmd string) *discordgo.ApplicationCommand
- func UpdateLeaderboardConfigMessageIDs(messageIDsJSON, lbType, guildID string) error
- func UpsertGuildState(guild *GuildState) error
- func UpsertLeaderboardConfig(lbType, guildID, channelID, messageIDsJSON string) error
- type DBTX
- type DeleteGuildCoordinatorParams
- type DeleteLeaderboardConfigParams
- type GetGuildCoordinatorParams
- type GetLeaderboardConfigParams
- type GuildCoordinator
- type GuildRecord
- type GuildState
- type InsertGuildCoordinatorParams
- type InsertGuildStateParams
- type LeaderboardConfig
- type Queries
- func (q *Queries) DeleteGuildCoordinator(ctx context.Context, arg DeleteGuildCoordinatorParams) error
- func (q *Queries) DeleteGuildRecords(ctx context.Context, id string) error
- func (q *Queries) DeleteGuildState(ctx context.Context, id string) error
- func (q *Queries) DeleteLeaderboardConfig(ctx context.Context, arg DeleteLeaderboardConfigParams) error
- func (q *Queries) GetAllGuildState(ctx context.Context) ([]GuildRecord, error)
- func (q *Queries) GetAllLeaderboardConfigs(ctx context.Context) ([]LeaderboardConfig, error)
- func (q *Queries) GetAllLeaderboardConfigsForGuild(ctx context.Context, guildID string) ([]LeaderboardConfig, error)
- func (q *Queries) GetGuildCoordinator(ctx context.Context, arg GetGuildCoordinatorParams) (GuildCoordinator, error)
- func (q *Queries) GetGuildCoordinators(ctx context.Context, guildID string) ([]GuildCoordinator, error)
- func (q *Queries) GetGuildState(ctx context.Context, id string) (GuildRecord, error)
- func (q *Queries) GetLeaderboardConfig(ctx context.Context, arg GetLeaderboardConfigParams) (LeaderboardConfig, error)
- func (q *Queries) InsertGuildCoordinator(ctx context.Context, arg InsertGuildCoordinatorParams) error
- func (q *Queries) InsertGuildState(ctx context.Context, arg InsertGuildStateParams) (GuildRecord, error)
- func (q *Queries) UpdateGuildState(ctx context.Context, arg UpdateGuildStateParams) (int64, error)
- func (q *Queries) UpdateLeaderboardConfigMessageIDs(ctx context.Context, arg UpdateLeaderboardConfigMessageIDsParams) error
- func (q *Queries) UpsertLeaderboardConfig(ctx context.Context, arg UpsertLeaderboardConfigParams) error
- func (q *Queries) WithTx(tx *sql.Tx) *Queries
- type UpdateGuildStateParams
- type UpdateLeaderboardConfigMessageIDsParams
- type UpsertLeaderboardConfigParams
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AddGuildCoordinator ¶
AddGuildCoordinator registers a user as a coordinator for the guild.
func DeleteGuildRecords ¶
DeleteGuildRecords deletes guild records for a guild ID.
func DeleteGuildState ¶
DeleteGuildState deletes persisted state for a guild.
func DeleteLeaderboardConfig ¶
DeleteLeaderboardConfig removes a leaderboard config row.
func GetAllGuildIDs ¶
GetAllGuildIDs returns all persisted guild IDs sorted ascending.
func GetGuildFlag ¶
func GetGuildFlag(s *discordgo.Session, i *discordgo.InteractionCreate)
GetGuildFlag handles the admin slash command for getting a guild boolean flag.
func GetGuildSettingFlag ¶
GetGuildSettingFlag gets a boolean guild setting.
func GetGuildSettingString ¶
GetGuildSettingString gets a string guild setting.
func GetGuildSettings ¶
func GetGuildSettings(s *discordgo.Session, i *discordgo.InteractionCreate)
GetGuildSettings handles the admin slash command for retrieving all guild settings.
func GetGuildSettingsForGuild ¶
func GetGuildSettingsForGuild(s *discordgo.Session, i *discordgo.InteractionCreate, guildID string)
GetGuildSettingsForGuild retrieves all persisted guild settings for a specific guild ID.
func HandleAdminSlashAdminSetServerBannerCommand ¶
func HandleAdminSlashAdminSetServerBannerCommand(s *discordgo.Session, i *discordgo.InteractionCreate)
HandleAdminSlashAdminSetServerBannerCommand handles the /admin-set-server-banner command. The banner is stored with guildID in the user_id column and "DEFAULT" in the guild_id column.
func HandleCoordinators ¶
func HandleCoordinators(s *discordgo.Session, i *discordgo.InteractionCreate)
HandleCoordinators dispatches the /admin-coordinators subcommands.
func HandleGuildFlagAutoComplete ¶
func HandleGuildFlagAutoComplete(s *discordgo.Session, i *discordgo.InteractionCreate)
HandleGuildFlagAutoComplete handles autocomplete for the flag key option on set/get flag commands.
func HandleSetGuildSettingAutoComplete ¶
func HandleSetGuildSettingAutoComplete(s *discordgo.Session, i *discordgo.InteractionCreate)
HandleSetGuildSettingAutoComplete handles autocomplete for the admin-set-guild-setting command.
func HandleSetServerBanner ¶
func HandleSetServerBanner(s *discordgo.Session, i *discordgo.InteractionCreate)
HandleSetServerBanner handles the /set-server-banner command.
func IsGuildCoordinator ¶
IsGuildCoordinator returns true if the user is a registered coordinator for the guild or the global bot admin.
func RemoveGuildCoordinator ¶
RemoveGuildCoordinator removes a user from the guild's coordinator list.
func SetGuildFlag ¶
func SetGuildFlag(s *discordgo.Session, i *discordgo.InteractionCreate)
SetGuildFlag handles the admin slash command for setting a guild boolean flag.
func SetGuildSetting ¶
func SetGuildSetting(s *discordgo.Session, i *discordgo.InteractionCreate)
SetGuildSetting handles the admin slash command for setting or clearing guild settings.
func SetGuildSettingFlag ¶
SetGuildSettingFlag sets a boolean guild setting and persists it.
func SetGuildSettingForGuild ¶
func SetGuildSettingForGuild(s *discordgo.Session, i *discordgo.InteractionCreate, guildID, setting, value string)
SetGuildSettingForGuild sets or clears a guild setting for a specific guild ID.
func SetGuildSettingString ¶
SetGuildSettingString sets a string guild setting and persists it.
func SlashAdminSetServerBannerCommand ¶
func SlashAdminSetServerBannerCommand(cmd string) *discordgo.ApplicationCommand
SlashAdminSetServerBannerCommand creates an admin slash command to set a default guild banner.
func SlashCoordinatorsCommand ¶
func SlashCoordinatorsCommand(cmd string) *discordgo.ApplicationCommand
SlashCoordinatorsCommand builds the /admin-coordinators slash command definition. DefaultMemberPermissions is set to 0 so only Discord server admins can use it.
func SlashGetGuildFlagCommand ¶
func SlashGetGuildFlagCommand(cmd string) *discordgo.ApplicationCommand
SlashGetGuildFlagCommand creates an admin slash command to get a guild boolean flag.
func SlashGetGuildSettingsCommand ¶
func SlashGetGuildSettingsCommand(cmd string) *discordgo.ApplicationCommand
SlashGetGuildSettingsCommand creates an admin slash command to get all settings for a guild.
func SlashSetGuildFlagCommand ¶
func SlashSetGuildFlagCommand(cmd string) *discordgo.ApplicationCommand
SlashSetGuildFlagCommand creates an admin slash command to set a guild boolean flag.
func SlashSetGuildSettingCommand ¶
func SlashSetGuildSettingCommand(cmd string) *discordgo.ApplicationCommand
SlashSetGuildSettingCommand creates an admin slash command to set/clear a guild string setting.
func SlashSetServerBannerCommand ¶
func SlashSetServerBannerCommand(cmd string) *discordgo.ApplicationCommand
SlashSetServerBannerCommand creates an admin-only command to set a guild default banner.
func UpdateLeaderboardConfigMessageIDs ¶
UpdateLeaderboardConfigMessageIDs persists message IDs after a post run.
func UpsertGuildState ¶
func UpsertGuildState(guild *GuildState) error
UpsertGuildState inserts or updates guild settings by GuildID.
func UpsertLeaderboardConfig ¶
UpsertLeaderboardConfig inserts or updates a guild leaderboard config row.
Types ¶
type GuildCoordinator ¶
func GetCoordinatorList ¶
func GetCoordinatorList(guildID string) ([]GuildCoordinator, error)
GetCoordinatorList returns all coordinators for a guild ordered by when they were added.
type GuildRecord ¶
type GuildRecord struct {
ID string
Value sql.NullString
}
type GuildState ¶
type GuildState struct {
GuildID string
MiscSettingsFlag map[string]bool
MiscSettingsString map[string]string
LastUpdated time.Time
}
GuildState stores guild-scoped bot settings.
func GetAllGuildState ¶
func GetAllGuildState() ([]GuildState, error)
GetAllGuildState returns all persisted guild settings.
func GetGuildState ¶
func GetGuildState(guildID string) (*GuildState, error)
GetGuildState returns persisted settings for a guild.
type InsertGuildStateParams ¶
type InsertGuildStateParams struct {
ID string
Value sql.NullString
}
type LeaderboardConfig ¶
type LeaderboardConfig struct {
LbType string
GuildID string
ChannelID string
MessageIds sql.NullString
}
func GetAllLeaderboardConfigs ¶
func GetAllLeaderboardConfigs() ([]LeaderboardConfig, error)
GetAllLeaderboardConfigs returns every configured (lb_type, guild_id) pair.
func GetAllLeaderboardConfigsForGuild ¶
func GetAllLeaderboardConfigsForGuild(guildID string) ([]LeaderboardConfig, error)
GetAllLeaderboardConfigsForGuild returns all leaderboard configs for a guild.
func GetLeaderboardConfig ¶
func GetLeaderboardConfig(lbType, guildID string) (LeaderboardConfig, error)
GetLeaderboardConfig retrieves a single leaderboard config row.
type Queries ¶
type Queries struct {
// contains filtered or unexported fields
}
func (*Queries) DeleteGuildCoordinator ¶
func (q *Queries) DeleteGuildCoordinator(ctx context.Context, arg DeleteGuildCoordinatorParams) error
func (*Queries) DeleteGuildRecords ¶
func (*Queries) DeleteGuildState ¶
func (*Queries) DeleteLeaderboardConfig ¶
func (q *Queries) DeleteLeaderboardConfig(ctx context.Context, arg DeleteLeaderboardConfigParams) error
func (*Queries) GetAllGuildState ¶
func (q *Queries) GetAllGuildState(ctx context.Context) ([]GuildRecord, error)
func (*Queries) GetAllLeaderboardConfigs ¶
func (q *Queries) GetAllLeaderboardConfigs(ctx context.Context) ([]LeaderboardConfig, error)
Returns every configured (lb_type, guild_id) pair - used by the weekly post task.
func (*Queries) GetAllLeaderboardConfigsForGuild ¶
func (*Queries) GetGuildCoordinator ¶
func (q *Queries) GetGuildCoordinator(ctx context.Context, arg GetGuildCoordinatorParams) (GuildCoordinator, error)
func (*Queries) GetGuildCoordinators ¶
func (*Queries) GetGuildState ¶
--- Guild Record ------------------------------------------------------------
func (*Queries) GetLeaderboardConfig ¶
func (q *Queries) GetLeaderboardConfig(ctx context.Context, arg GetLeaderboardConfigParams) (LeaderboardConfig, error)
func (*Queries) InsertGuildCoordinator ¶
func (q *Queries) InsertGuildCoordinator(ctx context.Context, arg InsertGuildCoordinatorParams) error
--- Guild Coordinator -------------------------------------------------------
func (*Queries) InsertGuildState ¶
func (q *Queries) InsertGuildState(ctx context.Context, arg InsertGuildStateParams) (GuildRecord, error)
func (*Queries) UpdateGuildState ¶
func (*Queries) UpdateLeaderboardConfigMessageIDs ¶
func (q *Queries) UpdateLeaderboardConfigMessageIDs(ctx context.Context, arg UpdateLeaderboardConfigMessageIDsParams) error
Persist the message ID(s) written during the last post run.
func (*Queries) UpsertLeaderboardConfig ¶
func (q *Queries) UpsertLeaderboardConfig(ctx context.Context, arg UpsertLeaderboardConfigParams) error
--- Leaderboard Config ------------------------------------------------------ Insert or update a guild leaderboard channel configuration.
type UpdateGuildStateParams ¶
type UpdateGuildStateParams struct {
Value sql.NullString
ID string
}
type UpdateLeaderboardConfigMessageIDsParams ¶
type UpdateLeaderboardConfigMessageIDsParams struct {
MessageIds sql.NullString
LbType string
GuildID string
}
type UpsertLeaderboardConfigParams ¶
type UpsertLeaderboardConfigParams struct {
LbType string
GuildID string
ChannelID string
MessageIds sql.NullString
}