Page cover

Demote Plugin

Demote users in-game using Panora’s official API + Basic Admin Essentials.

What this plugin does

  • Demotes a player to their previous Roblox group rank

  • Logs demotions through Panora API

  • Supports demoting:

    • a single user (by username)

    • an entire team via %TeamName


1) Open Roblox Studio

  1. Open Roblox Studio

  2. Open the place where Basic Admin Essentials is installed.


2) Insert the plugin ModuleScript

  1. In Explorer, locate:

    • BasicAdminEssentialsPlugins

  2. Create a ModuleScript under Plugins

  3. Name it something like: demote

  4. Delete everything inside the ModuleScript and paste the updated code below:

Basic Admin Essentials > Plugins > demote (ModuleScript)


3) Configure the plugin

At the top of the script, set these values:

Required

  • API_KEY → your Panora API key

  • GROUP_ID → your Roblox group ID

  • COOLDOWN_TIME → cooldown in seconds per target (ex: 20)

  • WEBHOOK_URL → send logs to a Discord/webhook endpoint

  • MIN_USERNAME_LENGTH → blocks tiny inputs like “a”

  • EveryoneAntiAbuse → blocks others / all


4) Get your API Key + whitelist your game

  1. Go to app.panora.cc

  2. Copy your Panora API Key

  3. Paste it into API_KEY

  4. In Panora Dashboard → Panora API, whitelist your game’s Universal Game ID


5) Ensure Roblox settings are correct

To allow API requests:

  • Game Settings → Security

    • ✅ Enable Allow HTTP Requests

Also make sure:

  • Your GROUP_ID matches the group connected to your Panora workspace

  • Your group’s roles/ranks are set correctly


6) How to use the command (in-game)

Demote one player

Use your Basic Admin prefix (commonly :)

Examples:

  • :demote username (if your ModuleScript is named demote)

Important: the command name is the ModuleScript’s name.

Demote an entire team

Use %TeamName

Example:

  • :demote %interns

If no players are on that team:

  • “No players found in the specified team.”


Output / Results

You’ll get a per-user summary like:

  • PlayerName - Success

  • PlayerName - Failed (reason)

  • PlayerName - Cooldown active (Xs left)

  • PlayerName - Already at lowest rank

  • PlayerName - Skipped (Invalid target)


Troubleshooting

“API error” / Demotions failing

  • Confirm Allow HTTP Requests is enabled

  • Confirm API key is correct

  • Confirm your game is whitelisted in Panora (Universal Game ID)

  • Confirm the server/user has permission to edit group ranks

“Already at lowest rank”

That player is already at the lowest role in the group role list (or the plugin couldn’t load roles).

“Invalid target”

Basic Admin’s resolver returned something unexpected. This updated plugin won’t crash—it safely skips and shows this message.


Configuration reference

Variable
Description
Required

API_KEY

Panora API key from app.panora.cc

GROUP_ID

Roblox group ID linked to workspace

COOLDOWN_TIME

Seconds between demotions per user

Optional

WEBHOOK_URL

Webhook for demotion logs

Optional

MIN_USERNAME_LENGTH

Minimum username length allowed

Optional

EveryoneAntiAbuse

Blocks everyone / all mass demotes

Optional

Last updated

Was this helpful?