The hierarchy rule
Criminal can only act on members and roles below its own highest role. It checks this itself rather than letting Discord fail quietly:/vanity status flags a role
above the bot, and /levelreward set refuses to save one.
Per-command permissions
Commands declare their own permissions, so Discord greys out what you can’t use. Criminal re-checks server-side with three layers: Discord permissions, hierarchy, and whether the member is exempt.
Read-only commands (
view, list, latest post, /snipe, /level, /ranks) are open to everyone
unless a server’s own channel permissions stop them.
Exemptions that matter
Some modules skip members automatically, regardless of permissions:Without View Audit Log, the bot still logs bans and kicks, but it can’t attribute them to the
moderator who did it. Grant it if you want “who did this” in your log channel.
Some maintenance commands aren’t available to servers. They don’t appear in your command list, and
no setting or role grants access to them.
