Skip to main content

What it does

Every server gets its own appeal page at petto.sbs/appeal/<server id>. A member signs in with Discord, sees the punishments they have in your server (the ones you allow to show), opens a form and sends an appeal. The staff gets it in a channel with Accept, Reject and Reply buttons, and the member follows their appeal on the page and by DM. Everything starts off. A server has no appeals until you turn Take appeals on, and the page says “closed” until then.

Set it up

In the dashboard open Appeals:
1

Pick where appeals arrive

In Appeal settings, choose the channel for appeals and, if you want, a log channel, a thread under each appeal and roles to ping.
The Where appeals arrive card: appeals in #appeals, the log in #mod-log, Moderators pinged and a thread under each appeal

Dashboard → Appeals → Appeal settings: Where appeals arrive.

2

Make a form

In Appeal forms, add sections and questions and set the form to Live.
The Ban appeal form set to Live, blocked for a week when rejected, for bans and softbans, with a single-use invite

Dashboard → Appeals → Appeal forms: a form opened: its name, icon, status, who can open it and the invite.

3

Open it

In Appeals, turn on Take appeals and copy the link of your page. The checklist says what is still missing.
Take appeals checked with the Save button, and Your appeal page with petto.sbs/appeal/pettoland, Copy and Open

Dashboard → Appeals → Appeals: Take appeals turned on and the link of the page.

The Appeals page with Take appeals on, the appeal link and the counts of waiting, accepted and rejected appeals

Dashboard → Appeals: the link of the page, the checklist and the appeals by state.

Petto needs permission to send messages in the appeals channel (and to create threads, if you use them), Ban Members to lift bans and Moderate Members to end timeouts. When an appeal is accepted, rejected or withdrawn, Petto locks and archives its thread, so nothing more is written there (this needs Manage Threads). When the member cannot be messaged, the staff is told why (DMs closed, or no server in common with Petto); the answer is always on the appeal page. In Appeal settings you can pick a Link name, so the page is petto.sbs/appeal/your-name instead of the server id. Use 3 to 32 letters, numbers or dashes. The link with the server id keeps working. Names that are only numbers, names that look like Discord, Petto or other brands and names with offensive words are not allowed, and two servers cannot share a name. The sanction messages and !appeals use your name when you set one.
The Link name card with petto.sbs/appeal/ followed by pettoland

Dashboard → Appeals → Appeal settings: the link name of the page.

If you change your name

The name you leave stays reserved for you for 30 days, so nobody else can take it. During that time the old link redirects to your new address, and the pages you shared keep working. After 30 days the name is free for anyone. The page, the forms and the appeals stay the same: only the address changes.

If the name is taken

If another server already holds the name, Petto offers a request for the Petto team. Tell the team why it should be yours (at least 20 characters), add a link to see your server (an invite) and, if you have it, an extra proof such as your website or a social profile. A review takes from 1 hour up to 72 hours. While you wait, your page uses the link with the server id, and you can pick another name or cancel the request at any time. You can have one request open at a time. If the team accepts, the other server goes back to its server id link and the name is yours.
The Ask for this name card for gamenight: why it should be yours, a link to the server, an extra proof and Send request

Dashboard → Appeals → Appeal settings: the request for a name another server has.

Names that stop being used

A name is freed by itself when Petto leaves the server, when appeals have been off and untouched for 30 days, or when they are on but no appeal arrived and nothing was changed for 90 days. The link with the server id never stops working.

Forms

A form has up to 6 sections with up to 12 questions each. You also choose:
Two live forms, Ban appeal and Mute appeal, with their questions and the Edit and Duplicate buttons

Dashboard → Appeals → Appeal forms: the forms of the server.

Kinds of question

The Questions card of the Ban appeal: sections with long answers, a choose one list and a rating scale

Dashboard → Appeals → Appeal forms: the questions of a form, each with its kind.

Files. A file question says what it accepts: pictures (PNG, JPG, WEBP or GIF), PDF, pictures or PDF, or pictures, PDF or text, and how many files, from 1 to 5, up to 5 MB each. Petto checks what the file really is, so a program or an archive with a picture name is refused. Pictures are drawn again as PNG, so a GIF becomes a still picture. The member can remove a file before sending, and files never sent are deleted after a day. You read them on the card in Discord and in Appeal submissions; the member reads theirs on their appeal page. They are deleted with the appeal when it is removed. A member can have one appeal waiting per form at a time, and can withdraw it.

Answering

The card in your channel is a Components V2 card: the member’s picture and name, the state of the appeal, their punishments, every answer, the files they attached (pictures show on the card, up to 10 files and 8 MB in all; the rest are in the dashboard) and three buttons.
An appeal card that pings Moderators, with the ban, the member's answers and the Accept, Reject, Reply and Dashboard buttons

In Discord: a ban appeal as it arrives in the appeals channel.

  • Accept asks for an optional reason, lifts what the member appealed (the ban, the timeout and the active Petto sanctions; a hardban is never lifted from here) and sends them the answer and the invite. For a softban there is nothing left to undo in Discord: the case is cleared and the member gets the invite back, the same as an accepted ban appeal.
  • Reject asks for an optional reason, writes to the member and applies the block the form asks for.
  • Reply writes to the member without deciding. They get it by DM and on their page, and can answer if you allow replies.
The Accept this appeal window with the reason the member will see

In Discord: Accept asks for an optional reason.

A DM from Petto: your appeal was accepted, the reason, the invite to rejoin and the link of the appeal page

In Discord: the DM the member gets, with the invite and the link of their appeal.

The Reject this appeal window with the reason the member will see

In Discord: Reject asks for an optional reason.

A DM from Petto: your appeal was rejected, with the reason and the link of the appeal page

In Discord: the DM the member gets.

The Reply to the member window with a question for the member

In Discord: Reply asks for the message.

A DM from Petto: the staff of Petto Land wrote to you, the message of kira and the link to answer

In Discord: the DM the member gets, with the link to answer on the page.

Once an appeal is accepted, rejected or withdrawn, the buttons stay on the card but are locked, and the card says who answered and when, so nobody answers twice. The same actions are in Appeal submissions in the dashboard, with the answers, the punishments and the whole conversation. If the member has DMs closed, they still read everything on the page.
The appeal card marked Accepted with the invite, Accepted by kira and the reason, its buttons locked, and the private answer Appeal accepted, lifted ban 128

In Discord: after Accept the card is locked and says who answered; kira sees what was lifted.

The waiting appeal of spammer opened, with the ban, the answers, the conversation with kira and the Accept and Reject buttons

Dashboard → Appeals → Appeal submissions: an appeal opened: punishments, answers, the conversation, Accept and Reject.

What the member sees

You decide it in Appeal settings:
  • which punishment types show and can be appealed: bans, mutes, warns, kicks and softbans (from !softban or the Honeypot), each one on or off. Softbans start off.
  • which details show: reason, duration, moderator. Petto punishments also show their case number.
  • where punishments come from: Petto, Discord (native bans and timeouts) or both
  • how long warns and softbans count (older ones are not shown)
  • a greeting at the top of the page and the language it opens in (the member can switch it)
  • Wait before appealing: the hours a member waits after their latest punishment before they can appeal, from 0 (no wait, the default) to 720. Until then the page says from when they can appeal and the forms stay locked.
The What the member sees card with bans, mutes, warns and softbans checked and a 24 hour wait

Appeal settings → What the member sees: softbans can be appealed, and members wait 24 hours.

The public appeal page of Petto Land with a ban, a Ban appeal form and a locked Mute appeal form

The appeal page a member sees after signing in: their punishment and the forms they can open.

The Ban appeal form on the appeal page: long answers, a choose one question, a rating scale, yes or no, a file upload and a confirmation box

The form the member fills in, one section after the other.

The page of a waiting Ban appeal with the messages of Petto, kira and the member, a box to write and Withdraw appeal

The page of a sent appeal: its state, the conversation with the staff and the answers.

Appeal brand makes the page yours: the name, a tagline, a banner, an icon and an accent color. It also controls how the link looks when it is pasted in Discord: title, description, image and side color, with a live preview. Banners and images must use HTTPS.
The Appeal brand page: name, tagline, banner, icon and accent color, then the link preview with its title and description

Dashboard → Appeals → Appeal brand: the page and how its link looks in Discord, with the preview.

Pictures. The banner, the icon and the picture of the link preview can be uploaded from your device (PNG, JPG, WEBP or GIF, up to 5 MB; a GIF is saved as a still picture) or taken from a link. Allowed links are direct links to a picture that start with https:// and belong to a public site, like i.imgur.com. Links with http://, addresses of numbers, localhost, private networks and pages that are not a picture (an Imgur album, a Google Drive page) are not allowed, and Petto tells you which link was rejected. Links to Discord attachments stop working after a while, so it is better to upload the picture.

Messages

Appeal messages sets what the member reads when the appeal is sent, accepted, rejected and when the staff writes. You can use {username}, {server}, {reason}, {form} and {link}.
The Appeal messages page with the variables and the sent, accepted, rejected and staff messages, each with a preview

Dashboard → Appeals → Appeal messages: each message with its preview.

Sanction DMs

When appeals are on, the DM a member gets when they are punished can point to your appeal page. This covers every sanction DM: moderation commands, AutoMod, anti-scam, the Honeypot and warn escalation. In Appeal settings → Sanction DMs you choose: Like every DM from Petto, this one starts with a grey From <server> line and has info, delete and report buttons: see DMs from Petto.
  • Send the appeal link: always (the default: for the sanctions members can appeal), never, or only for the sanctions I pick among bans, temporary bans, softbans, kicks, timeouts and mutes, and warns.
  • Your line about appeals: your own sentence instead of Petto’s “Think this is a mistake? Appeal here”, up to 300 characters. {link} is the appeal link (added at the end if you leave it out) and {server} the name of the server. Empty goes back to Petto’s sentence.
A DM from Petto: you have been banned from Petto Land with the reason, the line of the server and petto.sbs/appeal/pettoland

In Discord: a ban DM with the server's line and the appeal link.

The Sanction DMs card with the link sent only for bans and softbans and a custom line

Appeal settings → Sanction DMs: the link only for bans and softbans, with the server's own line.

Custom sanction messages are not changed, but you can put the link in them with {case.appeal}. It follows the same rule: it is empty when appeals are off or that sanction gets no link.

The appeals command

!appeals shows the appeal link of your server, how many appeals wait for an answer and the settings below. With a setting and a value it changes it. It needs Manage Server.
kira runs appeals: the link petto.sbs/appeal/pettoland, 3 waiting for an answer and the four settings

In Discord: the link of the page, the appeals waiting and the settings.

liam sets the types to ban, mute and softban and Petto shows the saved settings

In Discord: bans, mutes and softbans can be appealed.

liam sets a line with the link variable and Petto shows it in the settings

In Discord: your own line in the sanction DMs.

liam sets the wait to 24 hours and Petto shows the saved settings

In Discord: 24 hours of wait before appealing.

The invite for accepted members

If you turn on Make a new single-use invite for each accepted appeal (or the same option in a form), Petto makes an invite that works once and lasts 7 days. The invite that was made is shown on the appeal card in Discord, in the log and in the appeal in the dashboard. If Petto cannot make one (it needs Create Invite in a text channel) it says why and sends the invite code from the settings instead, if you set one.
The Accepted appeals card with Make a new single-use invite checked and answered appeals kept for 3 months

Dashboard → Appeals → Appeal settings: Accepted appeals: the fixed invite code, the single-use invite and how long appeals are kept.

Privacy and keeping data

  • Members sign in with Discord. Petto reads who they are and nothing more, and a member only sees their own appeals.
  • Answered appeals are deleted after the number of days you choose (7 by default). Delete all appeal data in Settings removes forms, appeals, messages and settings at once.
  • You can hide the name of the moderator when they write.