Documentation

← Panda Auth

For Developers · Discord Bot

Set Up the Bot

From an empty server to a working whitelist panel in five steps.

Setup

1

Invite the bot

Use the invite link from your dashboard, or run /invite in a server that already has it. The link requests exactly the permissions listed in the overview — do not strip Manage Roles if you plan to use a buyer role.
2

Link your service

Run /login account. A private form asks for your PandaAuth email and password. If your account has 2FA, a second prompt asks for the code from your authenticator app or your email — a recovery code works too. A dropdown then lists every service on your account; pick the one this server sells.

Prefer not to type your password?

/login apikey links the server with a service API key instead. Copy it from Dashboard → your service → API key. It creates no login session at all.
3

Set your roles

/settings roles manager:@Staff buyer:@Customer
Manager — may run every management command, on top of anyone with Manage Server. Buyer — handed out automatically when someone is whitelisted or redeems a key, and taken back on /unwhitelist. Both are optional; skip the buyer role if you do not gate channels by purchase.
4

Post the member panel

/setpanel channel:#get-script
One embed with the buttons your members need. Everything is customisable — title, description, image, and which buttons appear. Buttons keep working after a bot restart, so you post it once.
5

Turn on the audit trail (optional)

/setlogs webhook:https://discord.com/api/webhooks/...
Every command and button press is mirrored to that channel: who did it, to whom, and whether it succeeded. The bot sends a test message first and refuses a webhook Discord rejects. /logs shows the same history in-place without a webhook.

Verify it worked

Run /status. You should see the linked service, its key counts, the number of panels, and your role configuration. If the key counts are replaced by a warning, the stored API key is no longer accepted — re-run /login.

  • /settings hwid cooldown_hours:24 — how long a member must wait between self-service HWID resets. Set self_reset:False to force every reset through staff.
  • /settings general default_key_days:30 — the duration /whitelist uses when you do not pass days.
  • /settings script key_variable:_G.YourKey — the variable name in the snippet members receive.
  • /settings general color:1D4ED8 — the embed accent, as hex without #.

Re-render after changing settings

Existing panels keep their old buttons and colour until you run /panels refresh.

Adding a second product

Run /login again and choose a different service, then post a second panel with /setpanel service:<identifier> channel:#other-product. Set which one commands default to with /select-service; every command still accepts an explicit service option.

Unlinking

/logout confirm:True removes the link and the panels that belong to it. Members keep their keys — nothing is revoked. Removing the bot from the server has the same effect on the link, and re-inviting it requires /login again.