Skip to content

Starboard

A "starboard" is a channel that automatically collects your community's favourite messages. When a message earns enough reactions of a chosen emoji, Phantom reposts it to a dedicated channel — a hall of fame nobody has to curate manually.

Setup

  1. Open Dashboard → Community → Starboard.
  2. Pick a destination channel (a fresh #starboard is conventional).
  3. Choose a reaction emoji by default, but any unicode or custom server emoji works.
  4. Set a threshold — the minimum reaction count for a message to be reposted. 5 is a good default for a small server, 10–15 for a busy one.
  5. Toggle Enabled.

Make sure Phantom has Send Messages and Embed Links in your destination channel.

How a message gets to the starboard

1.Someone reacts with the configured emoji on any eligible message.
2.Phantom counts reactions.
3.When the count hits the threshold, a styled embed is posted to your starboard channel. The post links back to the source message.
4.Further reactions update the count badge on the post (debounced — at most one edit per 5 seconds, so a viral message doesn't trip Discord's edit rate limit).
5.If "Delete below threshold" is on and the count later drops back below the threshold, the post is removed. By default this is off — once a message qualifies, it stays.

Eligibility

The defaults rule out the most common annoyances:

  • Bot messages are ignored. Utility embeds would flood the board.
  • Self-stars don't count. Authors can't promote their own messages.
  • NSFW source channels are ignored unless you opt in. Reposting NSFW content into an SFW channel violates Discord's policy.
  • The starboard channel itself is ignored — reacting on a starboard entry can't recursively create another entry.

Plus per-channel control:

  • Allow list: if set, only the listed channels are eligible.
  • Deny list: the listed channels are never eligible.

Threads inherit their parent channel's allow/deny status.

Viral messages

A trending message in a busy server can rack up dozens of reactions per second. Phantom handles this gracefully:

  • The count badge on the post updates at most once every 5 seconds, so a runaway message never spams the channel.
  • Even if a message crosses the threshold the moment two people react simultaneously, it gets posted to the starboard exactly once.

You don't have to do anything to get this — it's automatic.

Custom emoji

Use the raw emoji code, exactly as it appears when you type \:trophy: in Discord:

<:trophy:1149267334815813722>

(That backslash-then-colon trick is the easiest way to grab it.) Animated emoji work too — <a:emoji:id>.

Privacy

The starboard reposts the source message's text and (if present) the first image attachment. The author's avatar and username are shown. There is no opt-out per-author today; if you need one, deny the channel(s) that author posts in via the deny list.

Troubleshooting

What you seeWhat to check
"I reacted but nothing happens."Is the module enabled on the dashboard? Did you use the exact emoji the config expects? Is the source channel in the allow list (if you set one)?
"Phantom replied with a permissions error in the log."Phantom is missing Send Messages or Embed Links in the destination channel.
"I reacted in an NSFW channel and nothing posted."Allow NSFW source channels is off by default. Even if you enable it, make sure your starboard channel is also marked NSFW or Discord will reject the repost.
"The post count looks stale."The count badge updates at most once every 5 seconds — give it a moment, the next reaction will pick up.

Phantom is a product of Hydra Labs. The bot is run as a managed service; you do not need to host it yourself.