ZMN Bot Logo
    Documentation

    ZMN Bot Documentation

    Setup guides and configuration reference for every ZMN module — security, moderation, roles, leveling, and access control.

    Quick Navigation

    Basics
    Modules

    Roles Manager

    Give and remove roles from Discord with one simple command

    Overview

    Roles Manager exists to make one job easy: handing roles out and taking them back. You group the roles you want managed into a panel, say who is allowed to touch that panel, and your team does the rest from Discord with /roles. Nothing is posted to your server — this module is command-driven from end to end.

    Perfect for

    • • Team leads who need to give their own members roles without full Manage Roles permission
    • • Event staff handing a role to everyone who showed up in a voice channel
    • • Any server that wants role changes logged with who did it and why

    Key features

    Panels as a safety boundary

    A panel holds a list of roles. The command can only give or remove roles that are on that list — everything else is refused, by name, so it is obvious what happened.

    Slash and text commands

    /roles works as a slash command with autocomplete for both the panel and the roles. Set a prefix in the dashboard and the same command works as plain text.

    Bulk grants from a voice channel

    Give or remove roles for everyone currently in a voice channel, with a live progress message and a Cancel button. Premium only.

    Escalation-proof by design

    Nobody can hand out a role that sits at or above their own highest role — not even through a panel an admin configured. Bot and booster roles are refused too.

    Setting it up

    1. Enable the module and pick a global log channel.
    2. Add the manager roles that should be able to use every panel.
    3. Create a panel, name it, and drop the roles it may hand out into its role list.
    4. Optionally give the panel its own manager roles and its own log channel.

    Using the command

    Every subcommand starts with the panel name, so the bot knows which role list it is working from.

    discord
    /roles give <panel> <user> <roles...>
    /roles remove <panel> <user> <roles...>
    /roles giveall <panel> <voice channel> <roles...>
    /roles removeall <panel> <voice channel> <roles...>
    /roles cancel

    With a prefix set, the same command works as text. Multi-word panel names can be typed without the spaces:

    discord
    .roles give teamalpha @Someone @Moderator @Helper

    Bulk grants

    giveall and removeall always target a voice channel — there is no whole-server variant, which keeps every run bounded and predictable.

    • Members are taken as a snapshot when the job starts, so anyone joining mid-run is not included.
    • Members who already have the roles are skipped without an API call.
    • A progress message updates every few seconds with a count, an ETA and a Cancel button.
    • Only one bulk job runs per server at a time. Use /roles cancel if the progress message is gone.
    If the bot restarts mid-job, the job stops and the progress message stops updating. Re-run the command to finish the rest — members who already got the roles are skipped.

    Who can do what

    Two levels of manager

    Module manager roles can use every panel. A panel's own manager roles can use only that panel — use this to let one team manage their roles without touching anyone else's.

    Discord's own hierarchy still applies

    A role must sit below the invoker's highest role and below the bot's highest role. Server owners are exempt from the first rule, never the second.

    The bot needs the Manage Roles permission, and its own role must sit above every role you want it to hand out.

    Free vs premium

    Panels1 / 25
    Roles per panel5 / 50
    giveall / removeallPremium
    Nothing is deleted when premium lapses. Every panel and role stays saved — only the first panel, with its first 5 roles, actually runs until premium is active again.
    Looking for promotion ladders, recruitment tracking, warnings and terminations? That is the Recruitment module, which used to be called Roles Manager.