Versions in this module Expand all Collapse all v1 v1.24.19 Mar 7, 2021 Changes in this version type BanUserEffectData + MessageDeleteDays int type Plugin + func (p *Plugin) AllFeatureFlags() []string + func (p *Plugin) UpdateFeatureFlags(guildID int64) ([]string, error) + type RemoveRoleEffect struct + func (rf *RemoveRoleEffect) Apply(ctxData *TriggeredRuleData, settings interface{}) error + func (rf *RemoveRoleEffect) DataType() interface{} + func (rf *RemoveRoleEffect) Description() (description string) + func (rf *RemoveRoleEffect) Name() (name string) + func (rf *RemoveRoleEffect) UserSettings() []*SettingDef + func (rr *RemoveRoleEffect) Kind() RulePartType + type RemoveRoleEffectData struct + Duration int + Role int64 v1.20.6 Sep 3, 2019 Changes in this version + const CacheKeyLists + const CacheKeyRulesets + const MaxLists + const MaxListsPremium + const MaxMessageTriggers + const MaxMessageTriggersPremium + const MaxRuleParts + const MaxRulesets + const MaxRulesetsPremium + const MaxTotalRules + const MaxTotalRulesPremium + const MaxViolationTriggers + const MaxViolationTriggersPremium + const SettingTypeBool + const SettingTypeChannel + const SettingTypeInt + const SettingTypeList + const SettingTypeMultiChannel + const SettingTypeMultiChannelCategories + const SettingTypeMultiRole + const SettingTypeRole + const SettingTypeString + var DBSchemas = []string + var ErrListNotFound = errors.New("list not found") + var InverseRulePartMap = make(map[RulePart]int) + var RegexCache *ccache.Cache + var RulePartList = make([]*RulePartPair, 0) + var RulePartMap = map[int]RulePart + func CheckLimits(exec boil.ContextExecutor, rule *models.AutomodRule, tmpl web.TemplateData, ...) (newParts []*models.AutomodRuleDatum, ok bool, err error) + func FetchGuildLists(gs *dstate.GuildState) ([]*models.AutomodList, error) + func FindFetchGuildList(gs *dstate.GuildState, listID int64) (*models.AutomodList, error) + func GuildMaxLists(guildID int64) int + func GuildMaxMessageTriggers(guildID int64) int + func GuildMaxRulesets(guildID int64) int + func GuildMaxTotalRules(guildID int64) int + func GuildMaxViolationTriggers(guildID int64) int + func ParseAllRulePartData(dataModels []*models.AutomodRuleDatum) ([]interface{}, error) + func ParseRulePartData(model *models.AutomodRuleDatum) (interface{}, error) + func PrepareMessageForWordCheck(input string) string + func ReadRuleRowData(guild *discordgo.Guild, tmpl web.TemplateData, rawData []RuleRowData, ...) (result []*models.AutomodRuleDatum, validationOK bool, err error) + func RegisterPlugin() + func WebLoadRuleSettings(r *http.Request, tmpl web.TemplateData, ruleset *models.AutomodRuleset) + type AccountAgeCondition struct + Below bool + func (ac *AccountAgeCondition) DataType() interface{} + func (ac *AccountAgeCondition) Description() string + func (ac *AccountAgeCondition) IsMet(data *TriggeredRuleData, settings interface{}) (bool, error) + func (ac *AccountAgeCondition) Kind() RulePartType + func (ac *AccountAgeCondition) MergeDuplicates(data []interface{}) interface{} + func (ac *AccountAgeCondition) Name() string + func (ac *AccountAgeCondition) UserSettings() []*SettingDef + type AccountAgeConditionData struct + Treshold int + type AddViolationEffect struct + func (vio *AddViolationEffect) Apply(ctxData *TriggeredRuleData, settings interface{}) error + func (vio *AddViolationEffect) DataType() interface{} + func (vio *AddViolationEffect) Description() (description string) + func (vio *AddViolationEffect) Kind() RulePartType + func (vio *AddViolationEffect) Name() (name string) + func (vio *AddViolationEffect) UserSettings() []*SettingDef + type AddViolationEffectData struct + Name string + type AllCapsTrigger struct + func (caps *AllCapsTrigger) CheckMessage(ms *dstate.MemberState, cs *dstate.ChannelState, m *discordgo.Message, ...) (bool, error) + func (caps *AllCapsTrigger) DataType() interface{} + func (caps *AllCapsTrigger) Description() string + func (caps *AllCapsTrigger) Kind() RulePartType + func (caps *AllCapsTrigger) MergeDuplicates(data []interface{}) interface{} + func (caps *AllCapsTrigger) Name() string + func (caps *AllCapsTrigger) UserSettings() []*SettingDef + type AllCapsTriggerData struct + MinLength int + Percentage int + type AnyLinkTrigger struct + func (alc *AnyLinkTrigger) CheckMessage(ms *dstate.MemberState, cs *dstate.ChannelState, m *discordgo.Message, ...) (bool, error) + func (alc *AnyLinkTrigger) DataType() interface{} + func (alc *AnyLinkTrigger) Description() (description string) + func (alc *AnyLinkTrigger) Kind() RulePartType + func (alc *AnyLinkTrigger) MergeDuplicates(data []interface{}) interface{} + func (alc *AnyLinkTrigger) Name() (name string) + func (alc *AnyLinkTrigger) UserSettings() []*SettingDef + type BanUserEffect struct + func (ban *BanUserEffect) Apply(ctxData *TriggeredRuleData, settings interface{}) error + func (ban *BanUserEffect) DataType() interface{} + func (ban *BanUserEffect) Description() (description string) + func (ban *BanUserEffect) Kind() RulePartType + func (ban *BanUserEffect) MergeDuplicates(data []interface{}) interface{} + func (ban *BanUserEffect) Name() (name string) + func (ban *BanUserEffect) UserSettings() []*SettingDef + type BanUserEffectData struct + CustomReason string + Duration int + type BaseRegexTrigger struct + Inverse bool + func (r BaseRegexTrigger) DataType() interface{} + func (r BaseRegexTrigger) Kind() RulePartType + func (r BaseRegexTrigger) UserSettings() []*SettingDef + type BaseRegexTriggerData struct + Regex string + type BotCondition struct + Ignore bool + func (bc *BotCondition) DataType() interface{} + func (bc *BotCondition) Description() string + func (bc *BotCondition) IsMet(data *TriggeredRuleData, settings interface{}) (bool, error) + func (bc *BotCondition) Kind() RulePartType + func (bc *BotCondition) MergeDuplicates(data []interface{}) interface{} + func (bc *BotCondition) Name() string + func (bc *BotCondition) UserSettings() []*SettingDef + type ChannelCategoriesCondition struct + Blacklist bool + func (cd *ChannelCategoriesCondition) DataType() interface{} + func (cd *ChannelCategoriesCondition) Description() string + func (cd *ChannelCategoriesCondition) IsMet(data *TriggeredRuleData, settings interface{}) (bool, error) + func (cd *ChannelCategoriesCondition) Kind() RulePartType + func (cd *ChannelCategoriesCondition) MergeDuplicates(data []interface{}) interface{} + func (cd *ChannelCategoriesCondition) Name() string + func (cd *ChannelCategoriesCondition) UserSettings() []*SettingDef + type ChannelCategoryConditionData struct + Categories []int64 + type ChannelsCondition struct + Blacklist bool + func (cd *ChannelsCondition) DataType() interface{} + func (cd *ChannelsCondition) Description() string + func (cd *ChannelsCondition) IsMet(data *TriggeredRuleData, settings interface{}) (bool, error) + func (cd *ChannelsCondition) Kind() RulePartType + func (cd *ChannelsCondition) MergeDuplicates(data []interface{}) interface{} + func (cd *ChannelsCondition) Name() string + func (cd *ChannelsCondition) UserSettings() []*SettingDef + type ChannelsConditionData struct + Channels []int64 + type Condition interface + IsMet func(data *TriggeredRuleData, parsedSettings interface{}) (bool, error) + type CreateListData struct + Name string + type CreateRuleData struct + Name string + type CreateRulesetData struct + Name string + type CtxKey int + const CtxKeyCurrentRuleset + type DeleteMessageEffect struct + func (del *DeleteMessageEffect) Apply(ctxData *TriggeredRuleData, settings interface{}) error + func (del *DeleteMessageEffect) DataType() interface{} + func (del *DeleteMessageEffect) Description() (description string) + func (del *DeleteMessageEffect) Kind() RulePartType + func (del *DeleteMessageEffect) MergeDuplicates(data []interface{}) interface{} + func (del *DeleteMessageEffect) Name() (name string) + func (del *DeleteMessageEffect) UserSettings() []*SettingDef + type DeleteMessagesEffect struct + func (del *DeleteMessagesEffect) Apply(ctxData *TriggeredRuleData, settings interface{}) error + func (del *DeleteMessagesEffect) DataType() interface{} + func (del *DeleteMessagesEffect) Description() (description string) + func (del *DeleteMessagesEffect) Kind() RulePartType + func (del *DeleteMessagesEffect) MergeDuplicates(data []interface{}) interface{} + func (del *DeleteMessagesEffect) Name() (name string) + func (del *DeleteMessagesEffect) UserSettings() []*SettingDef + type DeleteMessagesEffectData struct + NumMessages int + TimeLimit int + type DomainTrigger struct + Blacklist bool + func (dt *DomainTrigger) CheckMessage(ms *dstate.MemberState, cs *dstate.ChannelState, m *discordgo.Message, ...) (bool, error) + func (dt *DomainTrigger) DataType() interface{} + func (dt *DomainTrigger) Description() (description string) + func (dt *DomainTrigger) Kind() RulePartType + func (dt *DomainTrigger) Name() (name string) + func (dt *DomainTrigger) UserSettings() []*SettingDef + type DomainTriggerData struct + ListID int64 + type Effect interface + Apply func(ctxData *TriggeredRuleData, settings interface{}) error + type EnableChannelSlowmodeEffect struct + func (slow *EnableChannelSlowmodeEffect) Apply(ctxData *TriggeredRuleData, settings interface{}) error + func (slow *EnableChannelSlowmodeEffect) DataType() interface{} + func (slow *EnableChannelSlowmodeEffect) Description() (description string) + func (slow *EnableChannelSlowmodeEffect) Kind() RulePartType + func (slow *EnableChannelSlowmodeEffect) Name() (name string) + func (slow *EnableChannelSlowmodeEffect) UserSettings() []*SettingDef + type EnableChannelSlowmodeEffectData struct + Duration int + Ratelimit int + type ErrUnknownTypeID struct + TypeID int + func (e *ErrUnknownTypeID) Error() string + type GiveRoleEffect struct + func (gf *GiveRoleEffect) Apply(ctxData *TriggeredRuleData, settings interface{}) error + func (gf *GiveRoleEffect) DataType() interface{} + func (gf *GiveRoleEffect) Description() (description string) + func (gf *GiveRoleEffect) Name() (name string) + func (gf *GiveRoleEffect) UserSettings() []*SettingDef + func (gr *GiveRoleEffect) Kind() RulePartType + type GiveRoleEffectData struct + Duration int + Role int64 + type GoogleSafeBrowsingTrigger struct + func (g *GoogleSafeBrowsingTrigger) CheckMessage(ms *dstate.MemberState, cs *dstate.ChannelState, m *discordgo.Message, ...) (bool, error) + func (g *GoogleSafeBrowsingTrigger) DataType() interface{} + func (g *GoogleSafeBrowsingTrigger) Description() string + func (g *GoogleSafeBrowsingTrigger) Kind() RulePartType + func (g *GoogleSafeBrowsingTrigger) MergeDuplicates(data []interface{}) interface{} + func (g *GoogleSafeBrowsingTrigger) Name() string + func (g *GoogleSafeBrowsingTrigger) UserSettings() []*SettingDef + type JoinListener interface + CheckJoin func(ms *dstate.MemberState, data interface{}) (isAffected bool, err error) + type KickUserEffect struct + func (kick *KickUserEffect) Apply(ctxData *TriggeredRuleData, settings interface{}) error + func (kick *KickUserEffect) DataType() interface{} + func (kick *KickUserEffect) Description() (description string) + func (kick *KickUserEffect) Kind() RulePartType + func (kick *KickUserEffect) MergeDuplicates(data []interface{}) interface{} + func (kick *KickUserEffect) Name() (name string) + func (kick *KickUserEffect) UserSettings() []*SettingDef + type KickUserEffectData struct + CustomReason string + type MemberAgeConditionData struct + Treshold int + type MemberAgecondition struct + Below bool + func (mc *MemberAgecondition) DataType() interface{} + func (mc *MemberAgecondition) Description() string + func (mc *MemberAgecondition) IsMet(data *TriggeredRuleData, settings interface{}) (bool, error) + func (mc *MemberAgecondition) Kind() RulePartType + func (mc *MemberAgecondition) MergeDuplicates(data []interface{}) interface{} + func (mc *MemberAgecondition) Name() string + func (mc *MemberAgecondition) UserSettings() []*SettingDef + type MemberJoinTrigger struct + func (mj *MemberJoinTrigger) CheckJoin(ms *dstate.MemberState, data interface{}) (isAffected bool, err error) + func (mj *MemberJoinTrigger) DataType() interface{} + func (mj *MemberJoinTrigger) Description() (description string) + func (mj *MemberJoinTrigger) Kind() RulePartType + func (mj *MemberJoinTrigger) Name() (name string) + func (mj *MemberJoinTrigger) UserSettings() []*SettingDef + type MemberRolesCondition struct + Blacklist bool + func (mrc *MemberRolesCondition) DataType() interface{} + func (mrc *MemberRolesCondition) Description() string + func (mrc *MemberRolesCondition) IsMet(data *TriggeredRuleData, settings interface{}) (bool, error) + func (mrc *MemberRolesCondition) Kind() RulePartType + func (mrc *MemberRolesCondition) MergeDuplicates(data []interface{}) interface{} + func (mrc *MemberRolesCondition) Name() string + func (mrc *MemberRolesCondition) UserSettings() []*SettingDef + type MemberRolesConditionData struct + Roles []int64 + type MentionsTrigger struct + func (mc *MentionsTrigger) CheckMessage(ms *dstate.MemberState, cs *dstate.ChannelState, m *discordgo.Message, ...) (bool, error) + func (mc *MentionsTrigger) DataType() interface{} + func (mc *MentionsTrigger) Description() string + func (mc *MentionsTrigger) Kind() RulePartType + func (mc *MentionsTrigger) MergeDuplicates(data []interface{}) interface{} + func (mc *MentionsTrigger) Name() string + func (mc *MentionsTrigger) UserSettings() []*SettingDef + type MentionsTriggerData struct + Treshold int + type MergeableRulePart interface + MergeDuplicates func(data []interface{}) interface{} + type MessageAttachmentTrigger struct + RequiresAttachment bool + func (mat *MessageAttachmentTrigger) CheckMessage(ms *dstate.MemberState, cs *dstate.ChannelState, m *discordgo.Message, ...) (bool, error) + func (mat *MessageAttachmentTrigger) DataType() interface{} + func (mat *MessageAttachmentTrigger) Description() string + func (mat *MessageAttachmentTrigger) Kind() RulePartType + func (mat *MessageAttachmentTrigger) MergeDuplicates(data []interface{}) interface{} + func (mat *MessageAttachmentTrigger) Name() string + func (mat *MessageAttachmentTrigger) UserSettings() []*SettingDef + type MessageEditedCondition struct + NewMessage bool + func (mc *MessageEditedCondition) DataType() interface{} + func (mc *MessageEditedCondition) Description() string + func (mc *MessageEditedCondition) IsMet(data *TriggeredRuleData, settings interface{}) (bool, error) + func (mc *MessageEditedCondition) Kind() RulePartType + func (mc *MessageEditedCondition) MergeDuplicates(data []interface{}) interface{} + func (mc *MessageEditedCondition) Name() string + func (mc *MessageEditedCondition) UserSettings() []*SettingDef + type MessageRegexTrigger struct + func (r *MessageRegexTrigger) CheckMessage(ms *dstate.MemberState, cs *dstate.ChannelState, m *discordgo.Message, ...) (bool, error) + func (r *MessageRegexTrigger) Description() string + func (r *MessageRegexTrigger) Name() string + type MessageTrigger interface + CheckMessage func(ms *dstate.MemberState, cs *dstate.ChannelState, m *discordgo.Message, ...) (isAffected bool, err error) + type MultiMsgMentionTrigger struct + ChannelBased bool + func (mt *MultiMsgMentionTrigger) CheckMessage(ms *dstate.MemberState, cs *dstate.ChannelState, m *discordgo.Message, ...) (bool, error) + func (mt *MultiMsgMentionTrigger) DataType() interface{} + func (mt *MultiMsgMentionTrigger) Description() string + func (mt *MultiMsgMentionTrigger) Kind() RulePartType + func (mt *MultiMsgMentionTrigger) MergeDuplicates(data []interface{}) interface{} + func (mt *MultiMsgMentionTrigger) Name() string + func (mt *MultiMsgMentionTrigger) UserSettings() []*SettingDef + type MultiMsgMentionTriggerData struct + CountDuplicates bool + Interval int + Treshold int + type MuteUserEffect struct + func (mute *MuteUserEffect) Apply(ctxData *TriggeredRuleData, settings interface{}) error + func (mute *MuteUserEffect) DataType() interface{} + func (mute *MuteUserEffect) Description() (description string) + func (mute *MuteUserEffect) Kind() RulePartType + func (mute *MuteUserEffect) MergeDuplicates(data []interface{}) interface{} + func (mute *MuteUserEffect) Name() (name string) + func (mute *MuteUserEffect) UserSettings() []*SettingDef + type MuteUserEffectData struct + CustomReason string + Duration int + type NicknameListener interface + CheckNickname func(ms *dstate.MemberState, data interface{}) (isAffected bool, err error) + type NicknameRegexTrigger struct + func (r *NicknameRegexTrigger) CheckNickname(ms *dstate.MemberState, data interface{}) (bool, error) + func (r *NicknameRegexTrigger) Description() string + func (r *NicknameRegexTrigger) Name() string + type NicknameWordlistTrigger struct + Blacklist bool + func (nwl *NicknameWordlistTrigger) CheckNickname(ms *dstate.MemberState, data interface{}) (bool, error) + func (nwl *NicknameWordlistTrigger) DataType() interface{} + func (nwl *NicknameWordlistTrigger) Description() (description string) + func (nwl *NicknameWordlistTrigger) Kind() RulePartType + func (nwl *NicknameWordlistTrigger) Name() (name string) + func (nwl *NicknameWordlistTrigger) UserSettings() []*SettingDef + type NicknameWordlistTriggerData struct + ListID int64 + type ParsedPart struct + ParentRS *ParsedRuleset + ParentRule *ParsedRule + ParsedSettings interface{} + Part RulePart + RSConditionModel *models.AutomodRulesetCondition + RuleModel *models.AutomodRuleDatum + type ParsedRule struct + Conditions []*ParsedPart + Effects []*ParsedPart + Model *models.AutomodRule + Triggers []*ParsedPart + func ParseRuleData(rule *models.AutomodRule) (*ParsedRule, error) + type ParsedRuleset struct + ParsedConditions []*ParsedPart + RSModel *models.AutomodRuleset + Rules []*ParsedRule + func ParseRuleset(rs *models.AutomodRuleset) (*ParsedRuleset, error) + type Plugin struct + func (p *Plugin) AddCommands() + func (p *Plugin) BotInit() + func (p *Plugin) CheckConditions(ctxData *TriggeredRuleData, conditions []*ParsedPart) bool + func (p *Plugin) CheckTriggers(rulesets []*ParsedRuleset, ms *dstate.MemberState, msg *discordgo.Message, ...) bool + func (p *Plugin) FetchGuildRulesets(gs *dstate.GuildState) ([]*ParsedRuleset, error) + func (p *Plugin) InitWeb() + func (p *Plugin) LoadServerHomeWidget(w http.ResponseWriter, r *http.Request) (web.TemplateData, error) + func (p *Plugin) PluginInfo() *common.PluginInfo + func (p *Plugin) RulesetRulesTriggered(ctxData *TriggeredRuleData, checkedConditions bool) + func (p *Plugin) RulesetRulesTriggeredCondsPassed(ruleset *ParsedRuleset, triggeredRules []*ParsedRule, ...) + type ResetChannelRatelimitData struct + ChannelID int64 + type ResetViolationsEffect struct + func (rv *ResetViolationsEffect) Apply(ctxData *TriggeredRuleData, settings interface{}) error + func (rv *ResetViolationsEffect) DataType() interface{} + func (rv *ResetViolationsEffect) Description() (description string) + func (rv *ResetViolationsEffect) Kind() RulePartType + func (rv *ResetViolationsEffect) Name() (name string) + func (rv *ResetViolationsEffect) UserSettings() []*SettingDef + type ResetViolationsEffectData struct + Name string + type RulePart interface + DataType func() interface{} + Description func() string + Kind func() RulePartType + Name func() string + UserSettings func() []*SettingDef + type RulePartPair struct + ID int + Part RulePart + type RulePartType int + const RulePartCondition + const RulePartEffect + const RulePartTrigger + type RuleRowData struct + Data map[string][]string + Type int + type ServerInviteTrigger struct + func (inv *ServerInviteTrigger) CheckMessage(ms *dstate.MemberState, cs *dstate.ChannelState, m *discordgo.Message, ...) (bool, error) + func (inv *ServerInviteTrigger) DataType() interface{} + func (inv *ServerInviteTrigger) Description() string + func (inv *ServerInviteTrigger) Kind() RulePartType + func (inv *ServerInviteTrigger) MergeDuplicates(data []interface{}) interface{} + func (inv *ServerInviteTrigger) Name() string + func (inv *ServerInviteTrigger) UserSettings() []*SettingDef + type SetNicknameEffect struct + func (sn *SetNicknameEffect) Apply(ctxData *TriggeredRuleData, settings interface{}) error + func (sn *SetNicknameEffect) DataType() interface{} + func (sn *SetNicknameEffect) Description() (description string) + func (sn *SetNicknameEffect) Kind() RulePartType + func (sn *SetNicknameEffect) MergeDuplicates(data []interface{}) interface{} + func (sn *SetNicknameEffect) Name() (name string) + func (sn *SetNicknameEffect) UserSettings() []*SettingDef + type SetNicknameEffectData struct + NewName string + type SettingDef struct + Default interface{} + Key string + Kind SettingType + Max int + Min int + Name string + type SettingType string + type SlowmodeTrigger struct + Attachments bool + ChannelBased bool + func (s *SlowmodeTrigger) CheckMessage(ms *dstate.MemberState, cs *dstate.ChannelState, m *discordgo.Message, ...) (bool, error) + func (s *SlowmodeTrigger) DataType() interface{} + func (s *SlowmodeTrigger) Description() string + func (s *SlowmodeTrigger) Kind() RulePartType + func (s *SlowmodeTrigger) MergeDuplicates(data []interface{}) interface{} + func (s *SlowmodeTrigger) Name() string + func (s *SlowmodeTrigger) UserSettings() []*SettingDef + type SlowmodeTriggerData struct + Interval int + Treshold int + type SpamTrigger struct + func (spam *SpamTrigger) CheckMessage(ms *dstate.MemberState, cs *dstate.ChannelState, m *discordgo.Message, ...) (bool, error) + func (spam *SpamTrigger) DataType() interface{} + func (spam *SpamTrigger) Description() string + func (spam *SpamTrigger) Kind() RulePartType + func (spam *SpamTrigger) Name() string + func (spam *SpamTrigger) UserSettings() []*SettingDef + type SpamTriggerData struct + TimeLimit int + Treshold int + type TriggeredRuleData struct + ActivatedTriggers []*ParsedPart + CS *dstate.ChannelState + CurrentRule *ParsedRule + GS *dstate.GuildState + MS *dstate.MemberState + Message *discordgo.Message + Plugin *Plugin + PreviousReasons []string + RecursionCounter int + Ruleset *ParsedRuleset + StrippedMessageContent string + TriggeredRules []*ParsedRule + func (t *TriggeredRuleData) Clone() *TriggeredRuleData + func (t *TriggeredRuleData) ConstructReason(includePrevious bool) string + type UpdateListData struct + Content string + type UpdateRuleData struct + Conditions []RuleRowData + Effects []RuleRowData + Name string + Triggers []RuleRowData + type UpdateRulesetData struct + Conditions []RuleRowData + Enabled bool + Name string + type UsernameInviteTrigger struct + func (uv *UsernameInviteTrigger) CheckUsername(ms *dstate.MemberState, data interface{}) (bool, error) + func (uv *UsernameInviteTrigger) DataType() interface{} + func (uv *UsernameInviteTrigger) Description() (description string) + func (uv *UsernameInviteTrigger) Kind() RulePartType + func (uv *UsernameInviteTrigger) Name() (name string) + func (uv *UsernameInviteTrigger) UserSettings() []*SettingDef + type UsernameListener interface + CheckUsername func(ms *dstate.MemberState, data interface{}) (isAffected bool, err error) + type UsernameRegexTrigger struct + func (r *UsernameRegexTrigger) CheckUsername(ms *dstate.MemberState, data interface{}) (bool, error) + func (r *UsernameRegexTrigger) Description() string + func (r *UsernameRegexTrigger) Name() string + type UsernameWordlistTrigger struct + Blacklist bool + func (uwl *UsernameWordlistTrigger) CheckUsername(ms *dstate.MemberState, data interface{}) (bool, error) + func (uwl *UsernameWordlistTrigger) DataType() interface{} + func (uwl *UsernameWordlistTrigger) Description() (description string) + func (uwl *UsernameWordlistTrigger) Kind() RulePartType + func (uwl *UsernameWordlistTrigger) Name() (name string) + func (uwl *UsernameWordlistTrigger) UserSettings() []*SettingDef + type UsernameWorldlistData struct + ListID int64 + type ViolationListener interface + CheckUser func(ctxData *TriggeredRuleData, violations []*models.AutomodViolation, ...) (isAffected bool, err error) + type ViolationsTrigger struct + func (vt *ViolationsTrigger) CheckUser(ctxData *TriggeredRuleData, violations []*models.AutomodViolation, ...) (isAffected bool, err error) + func (vt *ViolationsTrigger) DataType() interface{} + func (vt *ViolationsTrigger) Description() string + func (vt *ViolationsTrigger) Kind() RulePartType + func (vt *ViolationsTrigger) Name() string + func (vt *ViolationsTrigger) UserSettings() []*SettingDef + type ViolationsTriggerData struct + IgnoreIfLesser bool + Interval int + Name string + Treshold int + type WarnUserEffect struct + func (warn *WarnUserEffect) Apply(ctxData *TriggeredRuleData, settings interface{}) error + func (warn *WarnUserEffect) DataType() interface{} + func (warn *WarnUserEffect) Description() (description string) + func (warn *WarnUserEffect) Kind() RulePartType + func (warn *WarnUserEffect) MergeDuplicates(data []interface{}) interface{} + func (warn *WarnUserEffect) Name() (name string) + func (warn *WarnUserEffect) UserSettings() []*SettingDef + type WarnUserEffectData struct + CustomReason string + type WordListTrigger struct + Blacklist bool + func (wl *WordListTrigger) CheckMessage(ms *dstate.MemberState, cs *dstate.ChannelState, m *discordgo.Message, ...) (bool, error) + func (wl *WordListTrigger) DataType() interface{} + func (wl *WordListTrigger) Description() (description string) + func (wl *WordListTrigger) Kind() RulePartType + func (wl *WordListTrigger) Name() (name string) + func (wl *WordListTrigger) UserSettings() []*SettingDef + type WorldListTriggerData struct + ListID int64