Skip to main content
Righteous

Starboard & clownboard

Set up the starboard and clownboard, two independent reaction boards with their own channel, emoji and threshold.

A starboard reposts a message once it collects enough reactions of one emoji; a clownboard does the same thing for a different, usually less flattering, emoji. They look like one feature with two names, but Righteous treats them as two independent systems (separate config, separate commands, separate pages on the config panel), and they were deliberately never nested inside each other.

Point a board at a channel

Each board needs three things before it does anything: a channel to post in, an emoji to watch for, and a reaction count to watch for it to reach. ,starboard and ,clownboard (alias ,cb) share the exact same subcommand shape, so setting up one teaches you the other.

Syntax

,starboard channel <channel>

Example

,starboard channel #starboard

Syntax

,clownboard channel <channel>

Example

,clownboard channel #clownboard

A board with no channel set does nothing: reactions on it are simply never checked.

Emoji

Syntax

,starboard emote <emote>

Example

,starboard emote ⭐

Syntax

,clownboard emote <emote>

Example

,clownboard emote 🤔

Any emoji works: a server's own custom emoji or a standard Unicode one. The starboard defaults to ⭐ and the clownboard to 🤔, so if you only ever wanted the defaults you can skip this step entirely.

Threshold

Syntax

,starboard threshold <count>

Example

,starboard threshold 5

Syntax

,clownboard threshold <count>

Example

,clownboard threshold 5

The number of reactions of the configured emoji a message needs before it posts. Both boards default to 1, which means almost every reaction repeats. Raise it once you have a channel worth curating for. Reactions below the threshold are simply ignored; there's no "close" warning the way a ticket auto-archive gives one.

Colour

Syntax

,starboard color <color>

Example

,starboard color #fffede

Syntax

,clownboard color <color>

Example

,clownboard color #fffede

Hex or a colour name, the same picker Righteous uses everywhere else. This is only the accent colour on the reposted embed; it has no effect on which messages qualify.

Reset a board

Syntax

,starboard reset

Syntax

,clownboard reset

Clears the channel, and puts the emoji, threshold and colour back to their defaults (⭐ / 🤔, 1, and #fffede) for that board. The other board is untouched: resetting the starboard does not touch a configured clownboard, and vice versa.

Why the two boards are kept apart

It's tempting to think of the clownboard as "the starboard, but for the clown emoji" and assume one config controls both. Righteous used to work that way internally by accident, and it was a bug: the clownboard's own detector was nested inside the starboard's checks, so a server that had configured only a clownboard got no clownboard at all: nothing fired until a starboard channel was also set. Worse, when both were configured, the clownboard's effective threshold was silently the higher of the two boards' thresholds, not its own.

They're now evaluated as complete siblings: each board checks its own channel, its own emoji and its own threshold, with nothing about one able to gate or override the other. Configure a clownboard on its own, with no starboard at all, and it works exactly as if the starboard didn't exist.

Reacting again edits the count, it doesn't repost

Once a message crosses the threshold and gets posted, further reactions of the same emoji don't spam the board with duplicate entries: the existing board post is found and edited in place, with its reaction count updated (⭐ #12, then ⭐ #13, and so on). The board post carries a Jump to message button rather than a clickable title, so it keeps working even if the source message later carries its own embed or link.

Images post as a gallery

If the reacted message carries more than one image, they're posted together as a single grid rather than one image with the rest silently dropped. A spoilered attachment is never included in that grid: un-blurring someone's spoiler onto a public board is treated as a bug, not a feature.

Force-post a message with a right-click

A message doesn't have to earn its way onto the starboard. Right-click it, then Apps → Star Message, and it goes straight to the board — the threshold isn't consulted at all. It's for the message everyone in the channel obviously wants kept but nobody thought to react to.

You need Manage Messages to do it, the same permission the rest of the message tools use. It only posts to the starboard: there's no clownboard equivalent, because force-posting something to a board people read as mockery is a different decision from force-posting praise, and it deserves to be asked for separately rather than arriving as a side effect.

The count shows what actually happened

The board post carries a reaction count like any other, and a force-post shows the real number of stars on the message — which is usually #0, because nobody reacted; a moderator posted it. It doesn't invent a number to look like an organic post.

If the message is already on the board, force-starring it edits that existing post rather than adding a second one — the same de-duplication described above, for the same reason.

Common issues

Reactions aren't posting anything. Check the channel is actually set: ,starboard channel (or ,clownboard channel) with no channel configured means the board is fully off, not merely quiet. Also check you're reacting with the configured emoji at the configured count; a server that changed its emoji after people were already reacting with the old one won't count those old reactions.

The clownboard isn't working even though the starboard is fine. Configure it directly (,clownboard channel #channel) rather than assuming it inherits anything from the starboard. The two share no configuration at all.

A board post shows the wrong colour or emoji after I changed it. Only new posts pick up a changed colour or emoji; a message already on the board keeps whatever it was posted with; reacting to it again only updates its count, not its styling.

I want to stop a specific channel from ever reaching the board. There's no per-channel exemption for either board today: the threshold and emoji check applies server-wide, in every channel the bot can see. If a channel genuinely needs to be excluded, denying the bot's Add Reactions/View Channel permission there is the available workaround.

Nothing here fixed it. The shared common issues page works the same ground from the symptom end.