Skip to main content

Overview

Members send ideas to a channel. Each idea is a message with two vote buttons, and each person has one vote: pressing the other button switches it, pressing the same one takes it back. The staff answers each suggestion (approve, deny, consider or mark as implemented), with a reason that is shown in the message.
Suggestion si2tr-foytm by Nova for a music channel, with 18 votes in favor and 2 against, approved by kira with the reason, and the two vote buttons

In Discord: a suggestion the staff approved, with the votes and the reason.

You can answer in two ways: with the command and the ID of the suggestion (it is written under each one, like si2tr-foytm), or in the dashboard, in Suggestions, with a Who voted button (the names in favor and against) and the buttons Approve, Deny, Consider, Implemented and Reopen under each suggestion and a field for the reason. Each suggestion has an ID like si2tr-foytm and a number in the server (#12).

How members suggest

There are three ways, and each one can be turned on or off:
  • The command: !suggest <text> (short name !sug). A picture can be attached to the message.
  • Writing in the suggestions channel: Petto turns the message into a suggestion and removes the original.
  • A button: !suggestion panel posts a message with a button that opens a form.
A member can make 5 suggestions an hour, each of up to 1,800 characters.
mochi types !suggest with an idea in #suggestions; Petto posts suggestion h4vzr-8kq2m with the submitter, 0 votes and the two vote buttons, and answers that the suggestion was posted

In Discord: a member suggests with the command: the suggestion with its vote buttons, and the answer with its link.

Petto posts the message of Sora as suggestion q2ntd-5wjxe, with Sora as submitter, 0 votes and the vote buttons

In Discord: a message written in the channel, already turned into a suggestion (the original is removed).

Petto panel in #suggest-here: Have an idea for Petto Land? Press the button, write it and the server votes on it in #suggestions, with the Make a suggestion button

In Discord: the panel of !suggestion panel, with its button.

The form Your suggestion with the suggestion typed and an optional link to a picture

In Discord: the form the button opens.

For administrators

liam types !suggestion setup #suggestions and Petto answers that suggestions are on, made with suggest or by writing in the channel

In Discord: suggestions turned on in #suggestions.

liam types !suggestion set listen on and Petto confirms: every message in the channel is a suggestion, on

In Discord: every message of the channel becomes a suggestion.

liam types !suggestion set up_emoji 👍 and Petto confirms the emoji of the vote in favor

In Discord: a new emoji for the vote in favor.

liam types !suggestion panel #suggest-here and Petto answers that the panel is in #suggest-here

In Discord: the panel is posted in another channel.

liam types !suggestion config and Petto lists the channel, the votes, the ways to suggest, the thread, the DM, the staff role and the design, and how to answer

In Discord: how suggestions are set up, and how to answer them.

liam types !suggestion enable and Petto answers that suggestions are on

In Discord: suggestions are turned on again.

liam types !suggestion disable and Petto answers that suggestions are off

In Discord: suggestions are turned off.

Settings: listen, command, thread, self_vote, dm, anonymous, colors, up_emoji, down_emoji, thread_name, staff_role and design. Everything can also be changed in the dashboard (Suggestions), where you can also pick the color of each status or turn the colors off.

For the staff

Members with Manage Server, or the staff role you pick, can answer:
kira types !suggestion votes si2tr-foytm and Petto lists 18 members in favor and 2 against

In Discord: who voted, in favor and against.

kira approves si2tr-foytm with a reason and Petto answers that the suggestion is now approved

In Discord: a suggestion approved with a reason.

kira denies p0wdn-7trbx with a reason and Petto answers that the suggestion is now denied

In Discord: a suggestion denied with a reason.

kira marks k8fqa-2mzel as under consideration and Petto confirms it

In Discord: a suggestion under consideration.

kira marks b3vyc-qa91h as implemented and Petto confirms it

In Discord: a suggestion marked as implemented.

kira types !suggestion reopen p0wdn-7trbx and Petto answers that the suggestion is now pending

In Discord: a denied suggestion back to pending.

kira types !suggestion delete r5c1u-ewm8o and Petto answers that it deleted the suggestion

In Discord: a suggestion deleted with its message and thread.

kira types !suggestion view si2tr-foytm and Petto shows suggestion 12, approved, by Nova, 18 in favor and 2 against, the text, the reason and the link

In Discord: one suggestion with its votes, its reason and its link.

kira types !suggestion list and Petto lists suggestions 17 to 12 with their ID, status and text

In Discord: the latest suggestions with their status.

kira types !suggestion block @griefer_99 and Petto answers that griefer_99 cannot make suggestions now

In Discord: a member blocked from suggesting.

kira types !suggestion unblock @griefer_99 and Petto answers that griefer_99 can make suggestions again

In Discord: the member can suggest again.

Answering edits the suggestion message (its color follows the status when the colors are on), updates the thread and, if it is on, sends a DM to the author. An approved, denied or implemented suggestion takes no more votes and its thread gets a message saying so; reopen takes it back to pending and opens the votes again. Deleting removes the message and its thread. A blocked member cannot make suggestions. The Suggestions page of the dashboard has a Blocked from suggesting list with who blocked each member and when, an Unblock button, and a box to block one more member.
A DM from Petto: your suggestion in Petto Land was marked as approved, with the reason and the link to it

In Discord: the DM the author gets when the staff answers.

In the thread of suggestion si2tr-foytm, Petto writes that it was marked as approved by kira, with the reason

In Discord: the message in the thread of the suggestion.

The Suggestions page with 6 suggestions by status, the channel, the staff role, the design, the vote emojis, the thread name, the options and the color of each status

Dashboard → Community → Suggestions: the count of each status and every setting.

Suggestion 12, si2tr-foytm, with the reason field, the buttons Approve, Deny, Consider, Implemented and Reopen, and Who voted open: 18 in favor and 2 against with their names

Dashboard → Community → Suggestions: a suggestion of the list with its answer buttons, the reason and who voted.

Blocked from suggesting with griefer_99, blocked by kira, the Unblock button and the box to block someone

Dashboard → Community → Suggestions: the members blocked from suggesting.

Make it yours

Pick a saved embed as the design (it can be a Components V2 design) and write it with these variables: The usual variables for the server and the member work too.

Example design

1

Make the embed

Command
liam types !embed create suggestion-card with the code and Petto answers that the embed was created from the code, with a preview where the suggestion values are empty

In Discord: the design is saved; its preview has no suggestion yet, so the suggestion values are empty.

2

Use it as the design

Command
liam types !suggestion set design suggestion-card and Petto confirms the saved design of the suggestions

In Discord: the saved design is now the one of the suggestions.

Result
Suggestion 12 by Nova in the embed of the design: the text, 18 in favor, 2 against, 90% in favor, Status Approved, the reason and the ID, with the vote buttons

In Discord: an approved suggestion with that design.

While a suggestion is pending, {suggestion.status_label} and {suggestion.reason} are empty, and a field whose value ends up empty is left out, so both fields only appear once the staff answers.

Thread names

The name of the thread (!suggestion set thread_name) has its own short placeholders: {suggestion.id}, {suggestion.number} and {suggestion.status}.
Example
liam sets the thread name to Suggestion with the number and Petto confirms the name of the threads

In Discord: a new name for the threads.