Versions in this module Expand all Collapse all v1 v1.24.19 Mar 7, 2021 Changes in this version + func ClearRolemenuCache(gID int64) + func ClearRolemenuCacheGS(gs *dstate.GuildState) + func GetRolemenuCached(ctx context.Context, gs *dstate.GuildState, messageID int64) (*models.RoleMenu, error) + func HandleDeleteRoleCommands(w http.ResponseWriter, r *http.Request) (web.TemplateData, error) + type MenuCacheKey int64 + type RecentMenusTracker struct + EvictionAge time.Duration + RecentMenus []*RecentTrackedMenu + Started time.Time + func NewRecentMenusTracker(evictionTreshold time.Duration) *RecentMenusTracker + func (r *RecentMenusTracker) AddMenu(msgID int64) + func (r *RecentMenusTracker) CheckRecentTrackedMenu(msgID int64) (outOfTimeRange bool, checkDB bool) + func (r *RecentMenusTracker) RunLoop() + type RecentTrackedMenu struct + MsgID int64 v1.20.6 Sep 3, 2019 Changes in this version + const GroupModeMultiple + const GroupModeNone + const GroupModeSingle + const RoleMenuStateDone + const RoleMenuStateEditingOptionReplacing + const RoleMenuStateEditingOptionSelecting + const RoleMenuStateSettingUp + var DBSchemas = []string + func AssignRole(ctx context.Context, ms *dstate.MemberState, cmd *models.RoleCommand) (gaveRole bool, err error) + func CanAssignRoleCmdTo(r *models.RoleCommand, memberRoles []int64) error + func CanRole(ctx context.Context, ms *dstate.MemberState, cmd *models.RoleCommand) (can bool, err error) + func CheckIgnoredRoles(ignore []int64, has []int64) error + func CheckRequiredRoles(requireOneOf []int64, has []int64) bool + func CheckToggleRole(ctx context.Context, ms *dstate.MemberState, cmd *models.RoleCommand) (gaveRole bool, err error) + func CmdFuncListCommands(parsed *dcmd.Data) (interface{}, error) + func CmdFuncRole(parsed *dcmd.Data) (interface{}, error) + func ContinueRoleMenuSetup(ctx context.Context, rm *models.RoleMenu, emoji *discordgo.Emoji, userID int64) (resp string, err error) + func FindRolemenuFull(ctx context.Context, mID int64, guildID int64) (*models.RoleMenu, error) + func FindToggleRole(ctx context.Context, ms *dstate.MemberState, name string) (gaveRole bool, err error) + func GetAllRoleCommandsSorted(ctx context.Context, guildID int64) (groups []*models.RoleGroup, ...) + func GroupCanRole(ctx context.Context, ms *dstate.MemberState, targetRole *models.RoleCommand) (can bool, err error) + func GroupMaybeScheduleRoleRemoval(ctx context.Context, ms *dstate.MemberState, targetRole *models.RoleCommand) error + func GroupToggleRole(ctx context.Context, ms *dstate.MemberState, targetRole *models.RoleCommand) (gaveRole bool, err error) + func HandleGetGroup(groupID int64, w http.ResponseWriter, r *http.Request) (tmpl web.TemplateData, err error) + func HandleGetIndex(w http.ResponseWriter, r *http.Request) (tmpl web.TemplateData, err error) + func HandleMoveCommand(w http.ResponseWriter, r *http.Request) (web.TemplateData, error) + func HandleNewCommand(w http.ResponseWriter, r *http.Request) (web.TemplateData, error) + func HandleNewGroup(w http.ResponseWriter, r *http.Request) (web.TemplateData, error) + func HandleRemoveCommand(w http.ResponseWriter, r *http.Request) (web.TemplateData, error) + func HandleRemoveGroup(w http.ResponseWriter, r *http.Request) (web.TemplateData, error) + func HandleUpdateCommand(w http.ResponseWriter, r *http.Request) (tmpl web.TemplateData, err error) + func HandleUpdateGroup(w http.ResponseWriter, r *http.Request) (tmpl web.TemplateData, err error) + func HumanizeAssignError(guild *dstate.GuildState, err error) (string, error) + func IsRoleCommandError(err error) bool + func MemberChooseOption(ctx context.Context, rm *models.RoleMenu, gs *dstate.GuildState, ...) (resp string, err error) + func MenuReactedNotDone(ctx context.Context, rm *models.RoleMenu, emoji *discordgo.Emoji, userID int64) (resp string, err error) + func NewGroupError(msg string, group *models.RoleGroup) error + func NewLmitError(msg string, limit int) error + func NewRoleError(msg string, role int64) error + func NewSimpleError(format string, args ...interface{}) error + func NextRoleMenuSetupStep(ctx context.Context, rm *models.RoleMenu, first bool) (resp string, err error) + func OptionsLessFunc(slice []*models.RoleMenuOption) func(int, int) bool + func RegisterPlugin() + func RemoveRole(ctx context.Context, ms *dstate.MemberState, cmd *models.RoleCommand) (removedRole bool, err error) + func RoleCommandsLessFunc(slice []*models.RoleCommand) func(int, int) bool + func StrFlags(rm *models.RoleMenu) string + func StringCommands(cmds []*models.RoleCommand) string + func ToggleRole(ms *dstate.MemberState, role int64) (gaveRole bool, err error) + func UpdateMenu(parsed *dcmd.Data, menu *models.RoleMenu) (interface{}, error) + func UpdateRoleMenuMessage(ctx context.Context, rm *models.RoleMenu) error + type FormCommand struct + Group int64 + ID int64 + IgnoreRoles []int64 + Name string + RequireRoles []int64 + Role int64 + type FormGroup struct + ID int64 + IgnoreRoles []int64 + Mode int + MultipleMax int + MultipleMin int + Name string + RequireRoles []int64 + SingleAutoToggleOff bool + SingleRequireOne bool + TemporaryRoleDuration int + type GroupError struct + Group *models.RoleGroup + Message string + func (r *GroupError) Error() string + type LmitError struct + Limit int + Message string + func (r *LmitError) Error() string + type Plugin struct + func (p *Plugin) AddCommands() + func (p *Plugin) BotInit() + func (p *Plugin) InitWeb() + func (p *Plugin) LoadServerHomeWidget(w http.ResponseWriter, r *http.Request) (web.TemplateData, error) + func (p *Plugin) PluginInfo() *common.PluginInfo + type RoleError struct + Message string + Role int64 + func (r *RoleError) Error() string + func (r *RoleError) PrettyError(roles []*discordgo.Role) string + type ScheduledMemberRoleRemoveData struct + GroupID int64 + GuildID int64 + RoleID int64 + UserID int64 + type SimpleError string + func (s SimpleError) Error() string