Server · Concept

Starboard

The channel where the messages a server applauds land, once they reach a chosen number of reactions.

In short

Members drop an emoji on a message. Once it has gathered enough of them, the bot posts a copy in a separate channel, which becomes the server's wall of best moments.

A starboard listens to a single emoji, ⭐ by default, and counts the reactions placed with it. As soon as that count reaches the threshold, 3 to start with, the bot copies the message into the channel set aside for it.

It all fits in four settings: the destination channel, the emoji it listens to, the threshold to reach and the list of watched channels. A server can run several of them, one per destination channel.

The threshold accepts 1 to 100 reactions. A value outside that range is not refused, it simply falls back to 3.

The copy is published once and for all: taking a reaction back does not remove it, and the counter shown never goes down. The settings are held in memory for 2 minutes, but the slightest change reloads them at once.

1

Four settings, and nothing more

A starboard is created in one command. With nothing specified, it listens to ⭐, fires at 3 reactions and watches the whole server.

>starboard create
From Discord
A screen of buttons asks for the channel, the emoji, then the threshold. Reserved for members who can manage the server.
Dashboard
From the web
The same form, plus the list of watched channels that the Discord command never asks for.
SettingWhat it acceptsDefaultWhat it decides
Destination channel A text channel, or an announcement channel.must be namedIt receives the copies. A channel already taken refuses a second starboard.
Listened emoji A native emoji, or a server emoji.Only the reactions placed with that emoji are counted.
Threshold A whole number from 1 to 100.3The number of reactions to gather before the copy fires.
Watched channels A list of channels, or nothing at all.emptyEmpty, the whole server is watched. Otherwise, reactions outside the list do not count.
  • The list of watched channels can only be set from the dashboard. A starboard created on Discord therefore listens to the whole server.
2

A reaction's journey

Between the emoji dropped and the message on the wall there are five steps, and each one can end the journey.

1
A member reacts
It all starts with a reaction placed on a message of the server.
  • The message's channel is in the watched list, or the list is empty.
2
The emoji is recognised
The bot looks for that exact emoji among the ones the starboard listens to.
  • A native emoji is matched by its name, colour variants included.
  • A server emoji is matched by its id, whatever its name.
3
The count reaches the threshold
The number of reactions carried by the message is compared to the threshold, 3 by default.
  • The count is the one Discord returns, not a tally kept by the bot.
  • The message has not been copied yet, otherwise it goes through the update instead.
4
The copy goes to the wall
The bot posts a card carrying the author, the text and the first image of the message.
  • The destination channel still exists and the bot can write in it.
5
The wall updates
Every new reaction comes back through here and touches up the copy already posted.
  • The counter shown only moves when it climbs: it never goes back down.
  • An edit to the original message is carried over to the copy.
Counter
it never goes back down
The copy keeps the highest count reached, even if the reactions are removed afterwards.
Refresh
2 min
The settings are re-read at most every 2 minutes, and right after any change.
Destination channel
one starboard only
Two starboards cannot aim at the same channel: creation refuses a channel already taken.
  • The bot does not re-read old messages: only a reaction placed while it is running can trigger a copy.
  • The settings are re-read at most every 2 minutes, unless a change reloads them right away. A freshly created starboard is therefore active at once.
3

What lands in the channel

The copy is not the original message: it is a card from the bot, carrying the gist of it and keeping a link back to the original.

EnderBot
EnderBot BOT Today at 11:41 AM
Lyra

⭐ x3

finally pulled the void pepper after four hours of farming
#general | today
Jump to message
  • Title

    The listened emoji followed by the count reached. That count never goes back down.

  • Author

    The nickname and avatar of the original message's author.

  • Content

    The text of the message, carried over as is.

  • Image

    Only one image is carried over, and only if there is one.

  • Origin

    The channel the message comes from and the time it was written.

  • Buttons

    A link to the original message, and a second one to the quoted message when there is one.

  • When the original message replies to another one, a second button leads to the quoted message.

The commands

Manage server starboards · servers only

create Create a new starboard
  • [channel] Destination channel for starred messages
  • [emoji] Emoji used to star messages (default: ⭐)
  • [threshold] Number of reactions needed (default: 3)
  • [allowself] Allow authors to star their own messages
list List all starboards
delete Delete a starboard
  • [channel] Destination channel of the starboard to delete