autorole

package
v2.7.0 Latest Latest
Warning

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

Go to latest
Published: Sep 5, 2022 License: MIT Imports: 26 Imported by: 0

README

Autorole

Autorole provides the ability to give users roles on join.

Features:

  • Give a role right on join
  • Give a role after x amount of time
  • Require a certain role to give the role
  • Ignore people with certain roles

Documentation

Index

Constants

View Source
const (
	FullScanStarted int = iota + 1
	FullScanIterating
	FullScanIterationDone
	FullScanAssigningRole
	FullScanCancelled
)

Variables

View Source
var ErrAlreadyProcessingFullGuild = errors.New("Already processing users on this guild")
View Source
var PageHTML string

Functions

func AutorolePendingMembersKey

func AutorolePendingMembersKey(gID int64) string

func KeyGeneral

func KeyGeneral(guildID int64) string

func KeyProcessing

func KeyProcessing(guildID int64) string

func RedisKeyFullScanAssignedRoles

func RedisKeyFullScanAssignedRoles(gID int64) string

func RedisKeyFullScanAutoroleMembers

func RedisKeyFullScanAutoroleMembers(gID int64) string

func RedisKeyFullScanStatus

func RedisKeyFullScanStatus(gID int64) string

func RegisterPlugin

func RegisterPlugin()

Types

type Form

type Form struct {
	GeneralConfig `valid:"traverse"`
}

func (Form) Name

func (f Form) Name() string

func (Form) Save

func (f Form) Save(guildID int64) error

type GeneralConfig

type GeneralConfig struct {
	Role             int64 `json:",string" valid:"role,true"`
	RequiredDuration int   `valid:"0,"`

	RequiredRoles            []int64 `valid:"role,true"`
	IgnoreRoles              []int64 `valid:"role,true"`
	OnlyOnJoin               bool
	AssignRoleAfterScreening bool
}

func GetGeneralConfig

func GetGeneralConfig(guildID int64) (*GeneralConfig, error)

func GuildCacheGetGeneralConfig

func GuildCacheGetGeneralConfig(guildID int64) (*GeneralConfig, error)

func (*GeneralConfig) CanAssignTo

func (conf *GeneralConfig) CanAssignTo(currentRoles []int64, joinedAt time.Time) bool

type Plugin

type Plugin struct{}

func (*Plugin) AddCommands

func (p *Plugin) AddCommands()

func (*Plugin) BotInit

func (p *Plugin) BotInit()

func (*Plugin) InitInternalAPIRoutes

func (p *Plugin) InitInternalAPIRoutes(mux *goji.Mux)

func (*Plugin) InitWeb

func (p *Plugin) InitWeb()

func (*Plugin) LoadServerHomeWidget

func (p *Plugin) LoadServerHomeWidget(w http.ResponseWriter, r *http.Request) (web.TemplateData, error)

func (*Plugin) PluginInfo

func (p *Plugin) PluginInfo() *common.PluginInfo

func (*Plugin) StopBot

func (p *Plugin) StopBot(wg *sync.WaitGroup)

Jump to

Keyboard shortcuts

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