FeaturesPermissions

Permissions in EllieBot

Decide which EllieBot commands work, where they work and who can use them. Turn a whole module or a single command on or off for your server, a channel, a role or one member.

Turn modules and commands on or off

Each permission command starts with who it applies to and ends with what it changes: .sm Gambling disable turns off a module on your whole server, and .cc .betflip disable #general turns off one command in one channel.

Modules use their name, and .modules lists them. Commands use their name with the prefix. Expressions work too, by their trigger.

To change every module at once, use .asm for the server, .acm for a channel, .arm for a role or .aum for a member.

Turning a module off with .sm and back on in a channel with .cm
Gambling is turned off on the server, then back on in one channel.
.sm
Turn a module on or off on the server.
.sc
Turn a command on or off on the server.
.cm
Turn a module on or off in a channel.
.cc
Turn a command on or off in a channel.
.rm
Turn a module on or off for a role.
.rc
Turn a command on or off for a role.
.um
Turn a module on or off for a member.
.uc
Turn a command on or off for a member.

The newest rule wins

EllieBot keeps your rules in a list and checks them from newest to oldest. The first rule that fits decides, and if none fits the command is allowed.

So order matters: run .sm Gambling disable and then .cm Gambling enable #casino, and gambling only works in #casino. Run them the other way round and it's off everywhere.

.lp shows the list with each rule's number, for .mp to move it or .rp to remove it. .resetperms clears them all.

The permission list shown by .lp
The list of rules, newest first, each with its number.
.listperms
Show your rules with their numbers.
.moveperm
Move a rule to another position.
.removeperm
Remove a rule by its number.
.resetperms
Remove all your rules (Administrator).
.verbose
Show or hide the message when a rule blocks a command.

Who can change the rules

Permission commands need the Administrator permission. .permrole also lets everyone with a role you choose use them. There is no such role until you set one.

A command's own Discord permission is separate from these rules. .dpo changes it, so .dpo .prune ManageMessages lets anyone with Manage Messages use .prune.

.permrole
Set the role that can change permissions.
.dpo
Change the Discord permissions a command needs.

Cooldowns

.cmdcd makes members wait between uses of a command or an expression, for up to 3600 seconds. Each member has their own cooldown. Set it to 0 to remove it.

.cmdcooldown
Set a cooldown on a command or an expression.
.allcmdcooldowns
List the cooldowns on this server.

Filter words, links and invites

EllieBot can delete messages with server invites (.sfi), links (.sfl) or words you filter (.sfw). Those three work across the server, and .cfi, .cfl and .cfw do the same for one channel.

Add a word to the filter with .fw. It matches whole words, in capitals or not. Use .linkallow to let links to a site through, for up to 50 sites.

Members with Administrator are never filtered, and neither are links or invites from members with Manage Messages in that channel.

.filterword
Add a word to the filter, or remove it.
.srvrfilterwords
Filter words on the server, or stop.
.srvrfilterlin
Filter links on the server, or stop.
.srvrfilterinv
Filter invites on the server, or stop.
.linkallow
Let links to a site through the filter (Administrator).
.filterlist
Show the invite and link filter settings.

Set it up in 3 steps

Permission commands need the Administrator permission, or the role set with .permrole.

  1. Invite EllieBot, then turn a module off on your server:.sm Gambling disable
  2. Turn it back on in one channel:.cm Gambling enable #casino
  3. Check your rules:.listperms

Questions about permissions

How do I restrict all commands to a single channel?

Use .asm (all server modules) together with .acm (all channel modules): .asm disable turns off all modules on the server, then .acm enable #bot-spammerino turns them on in #bot-spammerino.

How do I allow only one module in a channel?

Turn off all modules in that channel, then turn the one you want back on - for gambling in #gamblers- den: .acm disable #gamblers-den, then .cm Gambling enable #gamblers-den.

How do I make a music DJ role?

Turn off music for everyone with .sm Music disable, let everyone see the current song and the queue with .sc .nowplaying enable and .sc .listqueue enable, then turn all music commands on for the DJ role with .rm Music enable DJ. On the public EllieBot, music needs a Patreon tier.

How do I stop Expressions from triggering?

Turn off the module that runs them: .sm ActualExpressions disable. ActualExpressions controls whether Expressions trigger, and the Expressions module holds the commands that manage them (.exa, .exl and the others).

I broke my permissions. Can I reset them?

Yes - .resetperms resets the permission chain to the default, where every command works everywhere.

← All features