autorole

package
v1.27.0 Latest Latest
Warning

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

Go to latest
Published: Oct 6, 2021 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

This section is empty.

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 RedisKeyGuildChunkProecssing

func RedisKeyGuildChunkProecssing(gID int64) string

func RegisterPlugin

func RegisterPlugin()

func WorkingOnFullScan

func WorkingOnFullScan(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

	RequiredRoles []int64 `valid:"role,true"`
	IgnoreRoles   []int64 `valid:"role,true"`
	OnlyOnJoin    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