Ban appeals
The Ban appeals module lets users banned from your Discord server apply online to be let back in. The system handles Discord OAuth2 authentication, real-time ban verification and automated decision-making by your staff.
The four tabs on the page
Section titled “The four tabs on the page”- Queue: the requests still being handled, with their count in brackets.
- History: the files already decided.
- Blacklist: the accounts barred from the form, with their count in brackets.
- Configuration: the settings described below.
Every request carries a status: Pending, Accepted, Denied, Permanently denied or Awaiting info.
How does it work?
Section titled “How does it work?”- A sanctioned member visits your public appeal URL (for example
https://appeals.kotbo.fr/your-server). - They sign in with Discord. Kotbo reads the sanctions they can actually appeal and retrieves their original reason.
- They tick the sanctions they are appealing and write a statement for each, up to the maximum number of sanctions per request.
- They fill in the question form - the one for the first ticked type if it has one, otherwise the module form.
- An interactive notification (embed) is sent to your staff’s Discord channel.
- Moderators decide sanction by sanction, from the dashboard or the Discord buttons.
Configuring the module
Section titled “Configuring the module”In the dashboard’s configuration tab, set up the following:
1. Form settings
Section titled “1. Form settings”- Enable the module: turns the public portal on or off.
- Appeal form: pick the question form. The questions and the visual theme are edited in Forms → Builder, so you must create that form beforehand (which is where you define your own questions, add your logo or banner and apply your custom CSS).
2. Discord integration
Section titled “2. Discord integration”- Staff channel (inbox): your team’s private Discord channel, where Kotbo posts the appeal request card with its action buttons.
- Invite channel: the channel used as the anchor for generating a single-use invite link when an appeal is accepted.
3. Appealable sanctions
Section titled “3. Appealable sanctions”The Appealable sanctions block enables, one by one, the types members can appeal: Warning, Timeout, Kick, Softban, Temporary ban and Ban.
Every type carries its own settings:
- Wait before a new request (days).
- Dedicated form: appealing a warning does not raise the same questions as appealing a ban. Without a form of its own, the public page falls back to the module form.
4. Rules and cooldown
Section titled “4. Rules and cooldown”- Delay before re-appealing (in days): how many days a user must wait after a denial before submitting a new appeal (default: 30 days).
- Sanctions per request (max): how many sanctions a member can appeal at once.
- Appealable for (days): past that, a sanction can no longer be appealed. No limit leaves appeals open indefinitely.
- Notify the member by DM: on every appealable sanction, the member gets a link to the appeal page, already pointing at the right sanction.
- Bar moderators from judging their own sanction: whoever issued the sanction cannot decide the appeal against it.
- Notify the issuing moderator: they get a DM when one of their sanctions is appealed, and can add context before the verdict.
- Store the device fingerprint: stores browser and system details to detect alt accounts.
5. Custom text
Section titled “5. Custom text”Adapt how you communicate with users:
- Welcome text: the explanation or rules shown at the top of the public sign-in page.
- Acceptance message (DM): the private message Kotbo sends automatically when the user is let back in. Tip: use the
{invite}variable to include the generated single-use invite automatically. - Denial message (DM): the private message sent to the user when their request is rejected.
Handling requests (staff side, on Discord)
Section titled “Handling requests (staff side, on Discord)”When an appeal is submitted, Kotbo posts a full card in your staff channel:
New Ban Appeal - @Username (ID: 123456)-----------------------------------------------------------Ban reason (Discord): "Using cheats"
[Form questions & answers]Q: Why should we unban you?A: I understand what I did wrong and I removed my third-party software...
-----------------------------------------------------------[ Accept ] [ Deny ] [ Deny Permanently ] [ Request Info ]Your team has four quick actions available as interactive buttons:
1. Accept
Section titled “1. Accept”- Automatically lifts the player’s ban on your Discord server.
- Generates a unique, temporary Discord invite link (one use, expires within 24 hours).
- Sends the user a DM containing your custom acceptance message and the invite link.
- Marks the request as Accepted.
2. Deny
Section titled “2. Deny”- Sends the user a DM telling them their request was denied.
- Blocks the user from submitting a new appeal for the number of days set in your cooldown configuration (for example 30 days).
- Marks the request as Denied.
3. Deny permanently
Section titled “3. Deny permanently”- Sends the user a DM telling them their request was denied.
- Blocks that Discord account for life from the appeal portal. The user will never be able to submit another appeal for this server.
- Marks the request as Permanently denied.
4. Request more info
Section titled “4. Request more info”If the player’s reasoning is unclear, you can ask them to elaborate:
- Click Request Info.
- A dialog (modal) opens on Discord so you can type your question (for example “Can you provide evidence, or the username of the person involved?”).
- The user receives a notification and their public appeal page shows your question with an answer field.
- As soon as they answer online, Kotbo updates the Discord staff message to notify you and display their extra explanation.
- Temporarily marks the request as Awaiting info.
Management and blacklist
Section titled “Management and blacklist”From the Kotbo dashboard you have access to the full history of appeal files:
- Filter and search: review requests that are pending, accepted, denied or awaiting information.
- Check the reasoning: read the decision logs with the name of the moderator who ruled and the reason given.
- Appeal blacklist: lets you manually add Discord user IDs to immediately bar them from the ban appeal form, without them having to submit one first. This is ideal for excluding serious troublemakers from the reinstatement process ahead of time.