khari Docs
Security

Permissions & Whitelist

Who can do what: trust levels, bot admins, and the whitelist.

Anyone with the Discord permission a command needs can use it. For example, Ban Members lets you use ,ban. On top of that, khari has its own trust levels.

Trust levels

LevelWhat they can do
Server ownerEverything. Only the owner can add or remove bot admins and use ,panic.
Bot adminsPass every permission check and configure everything, including anti-nuke, the whitelist, admin roles, and fake permissions.
AdminsPeople with Administrator, fake Administrator, or an admin role (,adminrole). They can use every command and setting except Security settings.
StaffYour staff ladder from ,ranks, with promotions, demotions, vouches, and strikes.

Whitelist

The whitelist protects the people you trust most, in four levels. Higher is stronger: 4 is the highest and 1 the lowest. Bot admins and the owner whitelist someone with ,whitelist @user 3 (or ,wl @user 3), and anyone on the whitelist can see this list in Discord with ,whitelist info.

LevelWhat it means
Whitelist 4Passes every permission check, ignores command restrictions and disabled commands, manages fake permissions and mod limits, and can give and edit roles above their own. Anti-nuke never counts them, and they keep their staff roles when anti-nuke undoes a dangerous role. Can hardban and lift hardbans, and take someone's display role off without khari giving it back. Only the server owner can moderate them.
Whitelist 3Anti-nuke never counts them. Can hardban and lift hardbans, and take someone's display role off without khari giving it back. Staff above them can still moderate them.
Whitelist 2Double anti-nuke limits. Only whitelisted staff can moderate them.
Whitelist 1Only whitelisted staff can moderate them. Anti-nuke applies normally.
  • Roles can whitelist people: ,whitelist role @role 2 puts everyone with that role on Whitelist 2, and ,whitelist role @role off stops it. Whoever can hand out that role can hand out the level, so keep it above your staff's roles.
  • A level set on someone always wins, even a lower one, so you can put someone below their role's level. ,whitelist remove @user puts them back on their role's level.
  • ,whitelist list shows everyone on the whitelist, and the roles that whitelist people. ,panic pauses every level, role levels included.
  • Bots can be whitelisted too: ,whitelist @bot needs no level. Anti-nuke then ignores everything that bot does, which stops trusted bots (like a ticket bot that makes lots of channels) from setting it off. Only whitelist bots you trust: if one is ever hacked, anti-nuke won't stop it.
  • Whitelist ahead of time with an ID: ,whitelist 1081697855217086514 3 works for people who aren't in the server yet, and ,whitelist <bot ID> for a bot you haven't added yet. A bot whitelisted this way can be added by anyone without setting off anti-nuke. ,whitelist list marks who isn't in the server.
  • Used to be called god tiers: ,godtier still works, and God 0 is now Whitelist 4, God 3 is Whitelist 1.

Whitelist commands

,whitelist <user> <level 1-4>

Whitelists someone at a level from 1 to 4 (4 is the highest). Bots need no level: anti-nuke ignores them.

Also: ,wl, ,godtier, ,god
,whitelist info

Shows what each whitelist level does. Only for whitelisted members.

Also: ,levels, ,tiers
,whitelist list

Shows everyone who's whitelisted, and the roles that whitelist people.

,whitelist remove <member>

Takes someone off the whitelist. Works with a user ID for people who left the server.

,whitelist role <role> <level>

Everyone with this role is whitelisted at a level (1–4), or use off.

,whitelist set <member> [level]

Whitelists someone at a level from 1 to 4 (4 is the highest). Bots need no level: anti-nuke ignores them.

Bot admins commands

,botadmin <user>

Makes someone a bot admin, or removes them if they already are. Only the server owner can.

,botadmin add <member>

Makes someone a bot admin.

,botadmin list

Shows every bot admin.

,botadmin remove <member>

Removes a bot admin.

Admin roles commands

,adminrole <role>

Makes a role an admin role, or stops it being one. They can use everything but Security.

Also: ,adminroles
,adminrole add <role>

Lets everyone with a role use every command except Security ones.

,adminrole list

Shows every admin role.

,adminrole remove <role>

Stops a role from being an admin role.