autorole

package
v1.32.2 Latest Latest
Warning

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

Go to latest
Published: Apr 26, 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 KeyGeneral

func KeyGeneral(guildID int64) string

func KeyProcessing

func KeyProcessing(guildID int64) string

func RedisKeyFullScanAssignedRoles added in v1.32.0

func RedisKeyFullScanAssignedRoles(gID int64) string

func RedisKeyFullScanAutoroleMembers added in v1.32.0

func RedisKeyFullScanAutoroleMembers(gID int64) string

func RedisKeyFullScanStatus added in v1.32.0

func RedisKeyFullScanStatus(gID int64) string

func RedisKeyGuildChunkProecssing added in v1.6.0

func RedisKeyGuildChunkProecssing(gID int64) string

func RegisterPlugin

func RegisterPlugin()

func WorkingOnFullScanLegacy added in v1.32.0

func WorkingOnFullScanLegacy(guildID int64) bool

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
}

func GetGeneralConfig

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

func GuildCacheGetGeneralConfig added in v1.8.0

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 added in v1.4.1

func (p *Plugin) AddCommands()

func (*Plugin) BotInit added in v1.4.1

func (p *Plugin) BotInit()

func (*Plugin) InitInternalAPIRoutes added in v1.31.10

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

func (*Plugin) InitWeb

func (p *Plugin) InitWeb()

func (*Plugin) LoadServerHomeWidget added in v1.17.0

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

func (*Plugin) PluginInfo added in v1.17.0

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

func (*Plugin) StopBot added in v1.4.7

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