Documentation / Automod

Automod

Word lists, filters, text censors and the automatic moderation system.

!auto

AdminPrefix + Slash

Configure the variables that dictate what is flagged by the auto moderation system. This is purely for configuring the detection settings. Punishments and other settings are done by the 'autoset' command.
Notes:
Duplicatetime and duptime are not the same, the first handles spam, the interval to check for duplicate violations, the latter handles how long the bot waits before a message is not considered a 'duplicate'.

Usage

!auto current
!auto spamtime/mentiontime/duplicatetime number
!auto spamlimit/mentionlimit/duplicatelimit number
!auto emoji/newline/mention number
!auto duptolerance number
!auto duptime number
!auto attachments number

Examples

!auto current
!auto spamtime 5
!auto spamlimit 5
!auto emoji 3
!auto duptolerance 0
!auto duptime 60
!auto attachments 3
Slash command /auto
OptionTypeDescription
subcmd requiredTextThe sub command to execute
Choices: spamtime mentiontime duplicatetime spamlimit mentionlimit duplicatelimit emoji newline mention duptolerance duptime attachments current
valueNumberThe value to add the option to

“Tinkering with the bonk machine I see. If you twist that lever I'll ban everyone, go on, do it.”

!autoset

AdminPrefix

Configure the punishments and settings of extra automoderation systems. This is purely for configuring the punishments and other settings. Configuration of detection variables is done by the 'auto' command.

Usage

!autoset current
!autoset nostickers/namecensor/modstaff [on/off/true/false]
!autoset autowarn public/dm/off
!autoset cooldown/mutetime number
!autoset punishment warn/mute/kick/ban/off number [number...]
!autoset blankavatar mute#/kick/ban
!autoset imagecensor a/t/e
!autoset imagecensor delete [on/off/true/false]
!autoset logfilters
!autoset pollperm all/staff/none

Examples

!autoset current
!autoset namecensor false
!autoset autowarn dm
!autoset cooldown 5
!autoset punishment mute 3 4
!autoset blankavatar mute6
!autoset imagecensor t
!autoset imagecensor delete false
!autoset logfilters
!autoset pollperm staff

“In goes text, out comes the ban hammer. It's a very streamlined system, why change it?”

!filter

AdminPrefix + Slash

Configure ignored channels for the filters and turn on the url and invite filters. Valid ignores are 'url', 'invite', 'text', 'activity', 'forward', and 'auto'. You may also 'invert' ignores, meaning to ignore every channel in the server except the designated one.

Usage

!filter ignore [invert] channel url/invite/text/auto/activity/forward
!filter recog channel url/invite/text/auto/activity/forward
!filter view [ignores]
!filter url/invite

Examples

!filter ignore #Channel text
!filter recog #Channel auto
!filter view
!filter invite
Slash command /filter

/filter view View the current settings

OptionTypeDescription
ignoresTrue / FalseView the ignore settings

/filter ignore Configure filter ignores for a channel

OptionTypeDescription
channel requiredChannelThe channel to configure
invertTrue / FalseWhether to set an ignore for all channels except for the one provided
typeTextThe filter to enable or disable
Choices: url invite activity forward

/filter recog Remove a filter ignore for a channel

OptionTypeDescription
channel requiredChannelThe channel to configure
typeTextThe filter to enable or disable
Choices: url invite activity forward

/filter set Enable or disable a filter

OptionTypeDescription
typeTextThe filter to enable or disable
Choices: url invite activity forward
onTrue / FalseExplicitly set this filter on, or false for off

“Small enough to keep out the nasties yet still big enough to let your fat mouth speak”

!bypass

AdminPrefix + Slash

Add a bypass for all or specific filters/automod actions. If add, rem, or toggle is not specified then toggle will be assumed. When toggling a bypass for all actions, it will remove all bypasses if a bypass already exists.
Valid bypass codes are:

Usage

!bypass list
!bypass [add/rem/toggle] code/all role
!bypass [add/rem/toggle] code/all channel

Examples

!bypass list
!bypass add all Role
!bypass rem all #Channel
Slash command /bypass

/bypass list List all bypasses

/bypass edit Edit current bypasses or add new ones

OptionTypeDescription
target requiredUser or roleThe role or channel to set this bypass to
typeTextType of edit to make, default 'toggle'
Choices: add remove toggle
bypasscodeTextThe type of bypass code to add, default 'all'
Choices: all

“If you set a bypass for everyone then I'll have nothing to do! Fantastic idea!”

!ct

AdminPrefix + Slash

Configure the text censor for a channel. There are three types of text censor levels.
Image: Only allow messages that have an image, nothing else.
URL: Allow messages that have urls or image
Text: Allow messages that have text accompanying an image or url

Usage

!ct text/url/image/off channel

Examples

!ct image #channel
Slash command /ct
OptionTypeDescription
type requiredTextType of censor, or current to view current
Choices: current text image url off
channelChannelThe channel to edit the text censor for

“Office of censorship, how may I help you Lord Ironfist?”

!whitelist

AdminPrefix + Slash

Whitelist a url, list all whitelisted urls, or remove a whitelisted url. The url does not have to be specific and you can use domains.

Usage

!whitelist list
!whitelist add/rem link

Examples

!whitelist list
!whitelist add google.com
Slash command /whitelist
OptionTypeDescription
subcmd requiredTextThe sub command to execute
Choices: add rem list
linkTextThe link to whitelist or unwhitelist

“More politically correct than blacklist! Actually it's just easier, but I get bonus points.”

!wordlist

AdminPrefix + Slash

Create, view, list, and delete wordlists. Merging, enabling, locking and applying lists to roles/channels is done with the managelist command.
Create: Create a list with a specific name. This is how you reference this list in the future. Note, the name 'local' is automatically assigned to your local list. Attach a formfile to add words immediately.
Delete: Delete a list you have created.
Formfile: Will output a file you can use with 'create' or 'update' to instantly add words to a list.
Add: Add a list from another server to your wordlists. The list will need to be 'enabled' before it can be used.
Rem: Remove an added list from your wordlists.
View: View any list you have created, or external lists that are not 'private'. For a more reading friendly version add 'readable'. Use 'all' as the name to get every list you can view in one zip.
List: List all wordlists you have created or added from other servers, local is not included.
Clear: Clear a wordlist without deleting it.
Update: Fully replace all words in a wordlist with an uploaded file.
AddFlag: Add a flag to all words in a wordlist.
RemFlag: Remove a flag from all words in a wordlist.

Usage

!wordlist list
!wordlist view name [serverid] [readable]
!wordlist create name [attach a file]
!wordlist delete name
!wordlist formfile
!wordlist add/rem name serverid
!wordlist clear name
!wordlist update name attach a file
!wordlist addflag/remflag name flag

Examples

!wordlist list
!wordlist view list 1234567890 readable
!wordlist create list
!wordlist delete list
!wordlist add list 1234567890
!wordlist clear list
!wordlist update list
!wordlist addflag list mute
Slash command /wordlist

/wordlist list List all wordlists created or added to this server

/wordlist view View a wordlist, use 'all' as the name to get every viewable list

OptionTypeDescription
name requiredTextThe name of the wordlist
serveridTextThe server that owns the list, defaults to this server
readableTrue / FalseOutput a more reading friendly file

/wordlist create Create a new wordlist

OptionTypeDescription
name requiredTextThe name of the wordlist
attachmentFileA formfile of words to add to the new list

/wordlist delete Delete a wordlist you created

OptionTypeDescription
name requiredTextThe name of the wordlist

/wordlist formfile Get the file used to create or update a list

/wordlist add Add a wordlist from another server

OptionTypeDescription
name requiredTextThe name of the wordlist
serverid requiredTextThe server that owns the list

/wordlist rem Remove an added wordlist from another server

OptionTypeDescription
name requiredTextThe name of the wordlist
serverid requiredTextThe server that owns the list

/wordlist clear Remove all words from a wordlist without deleting it

OptionTypeDescription
name requiredTextThe name of the wordlist

/wordlist update Replace all words in a wordlist with an uploaded file

OptionTypeDescription
name requiredTextThe name of the wordlist
attachment requiredFileThe formfile of words

/wordlist addflag Add a flag to every word in a wordlist

OptionTypeDescription
name requiredTextThe name of the wordlist
flag requiredTextThe flag to add or remove, such as mute, ban, or warn

/wordlist remflag Remove a flag from every word in a wordlist

OptionTypeDescription
name requiredTextThe name of the wordlist
flag requiredTextThe flag to add or remove, such as mute, ban, or warn

“He's making a list, checking it twice, everyone is naughty and nobody is nice.”

!managelist

AdminPrefix + Slash

Manage created wordlists by locking, unlocking, privating, enabling, or specifying what they apply to.
Applyto: Apply an added list to a channel or role. Note, the list will ONLY be applied to those roles/channels. If a list has none to be applied to it will be applied to everyone. Add a server id to clarify which list, otherwise your own list with the given name will be used. Running it again for the same role or channel removes it.
Unapplyto: Add a role or channel to the list of 'do not apply' for a wordlist. Note that a do not apply overrides an apply. Running it again for the same role or channel removes it.
Current: Show what every list is applied to. Also available as applyto current.
Lock: Lock one of your own lists. The list will not be able to be added by other servers.
Unlock: Unlock one of your own lists. The list will be able to be added by other servers.
Private: Privatize one of your own lists. The list will not be viewable or able to be merged by other servers.
Public: Publicize one of your own lists. The list will be viewable and able to be merged by other servers.
Enable: Enable a list you have added to your wordlists. The list will be applied to your filter.
Disable: Disable a list you have added to your wordlists. The list will not be removed, but won't be applied to the filter.
Merge: Merge an added list with your local list. The list will be disabled, but not removed.
Unmerge: Unmerge a merged list, the words in common will be removed from your local list. The list will not be enabled.

Usage

!managelist applyto/unapplyto name [serverid] channel/role
!managelist current
!managelist lock/unlock name
!managelist public/private name
!managelist enable/disable name [serverid]
!managelist merge/unmerge name serverid

Examples

!managelist applyto list #Channel
!managelist unapplyto list 1234567890 Role
!managelist current
!managelist lock list
!managelist public list
!managelist enable list 1234567890
!managelist merge list 1234567890
Slash command /managelist

/managelist lock Stop other servers from adding one of your lists

OptionTypeDescription
name requiredTextThe name of the wordlist

/managelist unlock Allow other servers to add one of your lists

OptionTypeDescription
name requiredTextThe name of the wordlist

/managelist private Stop other servers from viewing or merging one of your lists

OptionTypeDescription
name requiredTextThe name of the wordlist

/managelist public Allow other servers to view and merge one of your lists

OptionTypeDescription
name requiredTextThe name of the wordlist

/managelist enable Enable a list so it is applied to your filter

OptionTypeDescription
name requiredTextThe name of the wordlist
serveridTextThe server that owns the list, defaults to this server

/managelist disable Disable a list so it is not applied to your filter

OptionTypeDescription
name requiredTextThe name of the wordlist
serveridTextThe server that owns the list, defaults to this server

/managelist merge Merge an added list into your local list

OptionTypeDescription
name requiredTextThe name of the wordlist
serverid requiredTextThe server that owns the list

/managelist unmerge Remove the words of a merged list from your local list

OptionTypeDescription
name requiredTextThe name of the wordlist
serverid requiredTextThe server that owns the list

/managelist applyto Apply a list ONLY to a role or channel, run again to remove

OptionTypeDescription
name requiredTextThe name of the wordlist
serveridTextThe server that owns the list, defaults to this server
roleRoleThe role to apply the list to
channelChannelThe channel to apply the list to
idTextThe ID of a deleted role or channel to remove

/managelist unapplyto Never apply a list to a role or channel, run again to remove

OptionTypeDescription
name requiredTextThe name of the wordlist
serveridTextThe server that owns the list, defaults to this server
roleRoleThe role to exempt from the list
channelChannelThe channel to exempt from the list
idTextThe ID of a deleted role or channel to remove

/managelist current Show what each of your lists applies to

“He's making a list, checking it thrice, everyone's still naughty, don't ask twice.”

!banword

AdminPrefix + Slash

Ban a word by adding it to a specified wordlist. If no word list is specified then banned words will be added to the local wordlist. You may upload a text file (.txt) with a list of words separated by a new line instead.
The following flags are available to be added to words.
%warn - Will warn the member
%mute # - Will mute the member, the mute time is optional minutes
%timeout # - Will timeout the member, the timeout time is optional minutes
%kick - Will kick the member
%ban # - Will ban the member, the ban time is optional days
%softban - Will softban the member
%begin - Will only match when the word/phrase starts a word, EG 'butt' starts 'butthole'
%end - Will only match when the word/phrase ends a word, EG 'butt' ends 'headbutt'
%whole - Will only match when the word or phrase is by itself EG 'butt' will not match 'butthead' or 'scuttlebutt'
%hoist - Will match the beginning of names only
%case - Will make the match case sensitive, 'BUTT' will not match 'butt'
%regex - Will interpret the word as raw regex. Note, know what you are doing
%name - Will only match the word against the name censor (which must be turned on)
%new - Will only match the word against the name censor for NEW members
%notify - Will send a separate notification to the 'notifications' logging channel
%notifynd - Same as %notify, but will not delete the message

Usage

!banword word or phrase
!banword name list name word or phrase

Examples

!banword Word or phrase
!banword name MyList Word or phrase
Slash command /banword
OptionTypeDescription
nameTextSpecific which list to add this word to
attachmentFileUpload a form file instead to mass ban words
wordTextThe word or phrase to ban (see help embed)

“Please Ban My Prefix, pleasebanmyprefix, PLEASEBANMYPREFIX”

!unbanword

AdminPrefix

Unban a word by removing it from a specified wordlist. If no word list is specified then banned words will be removed from the local wordlist. You may upload a text file (.txt) with a list of words separated by a new line instead.

Usage

!unbanword word or phrase
!unbanword name list name word or phrase
!unbanword id wordid

Examples

!unbanword Word or phrase
!unbanword name MyList Word or phrase
!unbanword id 12345

“First rule of censorship, it never works. Unless you ban my prefix, then it does.”

!testword

ModeratorPrefix + Slash

Test a word or phrase against the current wordlists. Note, this will be the filter as if a regular user had posted it. Does not apply to filters not related to wordlists.

Usage

!testword [channel] [list listname] phrase

Examples

!testword phrase
!testword #channel phrase
!testword list local phrase
!testword #channel list local phrase
Slash command /testword
OptionTypeDescription
content requiredTextThe content to check for violations
channelChannelSpecify which channel this should be tested against
listnameTextA specific list to check against

“What? You don't trust me? I'm hurt...”

!blocktag

AdminPrefix

Will block a mention from being posted in chat, deleting the mention and posting a message in chat. Follow up the banned mention with a list of mentions or IDs to specify the member/roles that can bypass this block.

Usage

!blocktag role/member [Message Here]
!blocktag role/member [role/member for bypass] [Message Here]
!blocktag list

Examples

!blocktag Member
!blocktag Role This user or role has pings blocked in this server, please do not ping them.
!blocktag Role Role Member This user or role has pings blocked in this server, please do not ping them.

“Sure sure, YOU don't want to be bothered, WHAT ABOUT ME.”

!unblocktag

AdminPrefix

Remove a tag block from a member or role.

Usage

!unblocktag member/role
!unblocktag list

Examples

!unblocktag @Member

“I'm going to thoroughly enjoy watching you get spam pinged.”