Skip to content

Emoji-Based Overrides

Emoji-based overrides are useful when you want to change specific settings based on the emoji used to star or downvote the message.

While starring messages, the emoji overrides of the emoji currently being reacted with is used, and overrides are applied as normal. This is for checking blacklists, filters, self-stars, and other filter-based settings.

However, when it comes to posting messages to the starboard (figuring out which settings to use for the starboard, the required amount, and appearance-based settings), these types of overrides have different rules for being applied. See Posting Messages for more information.

Required Stars

The Required Stars setting has a slightly different function when working with emoji-based overrides. For emoji-based overrides, Required Stars also determines when the override is applied when posting messages. If set, while posting messages, the override will only apply once it has Required Stars many reactions of the emojis the override applies to.

So, if an override applies to 🍣 and has Required Stars set to 2, the message can have as many ⭐ reactions but once it gets 2 🍣 reactions, then that override is applied for posting the message.

This means you can have a normal starboard, then an override that changes the starboard to #sushi when the message gets 2 🍣 reactions.

Counting Stars

Note that emoji overrides don’t change the way stars are counted. All emojis that can be used to star the message will be counted.

So, if your server settings are set up to use the emojis ⭐ 🍣 to star messages, but you have an override for 🍣, stars for ⭐ will still be counted and the total count will be displayed.

Examples

Scenario 1: Skullboard

You have a default starboard channel #starboard that messages go to after 3 ⭐ but you want messages to go to a separate starboard channel #skullboard after 3 💀.

  1. The first thing you need to do is add 💀 as one of the emojis used to star messages:

    /settings edit main emojis ⭐ 💀
  2. Then, create an override for the 💀 emoji:

    /overrides create emoji name Skullboard emojis 💀
  3. Next, you’ll need to change the settings for the override you’ve just created:

    You need to set the new starboard, and you have to set the required stars so the override only applies after 3 💀 reactions.

    /settings edit main override Skullboard starboard #skullboard required-stars 3

That’s it! Now, messages will be sent to #skullboard once they get 3 💀 reactions.

Scenario 2: Starboard Levels

You have a starboard channel #starboard that messages go to after 3 ⭐ but you want the best starred messages to go to a separate starboard channel #superboard after they get 20 ⭐.

You’ll achieve this by creating an emoji override for ⭐ that’s only applied after 20 reactions, and changes the Starboard setting.

  1. The first thing you need to do is create an override for the ⭐ emoji:

    /overrides create emoji name Superboard emojis
  2. Next, you’ll need to change the settings for the override you’ve just created:

    You need to set the new starboard, and you have to set Required Stars so the override only applies after 20 ⭐ reactions.

    /settings edit main override Superboard starboard #superboard required-stars 20

That’s it! Now, messages will be moved from #starboard to #superboard once they get 20 ⭐ reactions.

Scenario 3: Staff Pins

You have a default starboard channel #starboard that messages go to after 5 ⭐ but you want messages to go to a separate starboard channel #staff-pins after 2 📌 from moderators.

  1. The first thing you need to do is add 📌 as one of the emojis used to star messages:

    /settings edit main emojis ⭐ 📌
  2. Then, create an override for the 📌 emoji:

    /overrides create emoji name Staff Pins emojis 📌
  3. Next, you’ll need to change the settings for the override you’ve just created:

    You need to set the new starboard, and you have to set Required Stars so the override only applies after 2 📌 reactions.

    /settings edit main override Staff Pins starboard #staff-pins required-stars 2
  4. Lastly, make it so that only moderators can react with the 📌 emoji:

    You will do this by modifying the blacklist on the override.

    /blacklist add role override Staff Pins role @everyone
    /whitelist add role override Staff Pins role @Staff

    We also need to make it so that for this override, only reactions by blacklisted users are filtered, not messages by blacklisted users.

    /settings edit filtering override Staff Pins filter-blacklisted-users Filter Reactors

That’s it! Now, messages will be moved to #staff-pins if they get 2 📌 reactions from moderators with the @Staff role.


Further Reading

Below is a more in-depth explanation of how emoji-based overrides function.

Posting Messages

When it’s time to post the message, the bot goes through the starred message’s reactions to see which emoji overrides should be used. This is for checking required stars, customising the starboard message, and getting the starboard the message will be posted to.

Overrides are applied a little differently when emoji-based overrides are involved - they’re applied as follows:

  1. custom priority value - overrides with higher priority values are applied last
  2. if the custom priority values are the same, then the override type is checked:
    1. Channel-type-based overrides are applied first,
    2. Then channel-based overrides,
    3. Then role-based overrides,
    4. And lastly, emoji-based overrides are applied.
  3. if both overrides are emoji-based, then:
    1. the override with a higher Required Stars value is prioritised
    2. if the value is the same (or not set and is inherited), the override of the emojis with the most unique reactions is prioritised
    3. if they have the same amount of unique reactions, the override of the emojis with the most reactions in total is prioritised
  4. if all else fails, then the creation date is checked. Newer overrides are applied last.

As the message could have several different reactions, not all emoji-based overrides of the emojis used to react are applied.

The bot takes the most prioritised emoji-based override, and uses the emojis that override applies to, to determine the “active” emojis. It then only uses emoji-based overrides that apply to any one of those “active” emojis.

Editing Messages

When editing messages, if the reactions have changed causing the emoji-based overrides used to be different, and the different emoji-based overrides have a different starboard set, then the starboard message will be moved to the new starboard.

Let’s say a server has one emoji-based override for 🍣 called “Sushi”, the override requires 3 reactions and the override has the starboard set to #sushiboard .

If the message has 5 ⭐ 2 🍣, for posting messages the “Sushi” override isn’t used yet because the message doesn’t yet have 3 🍣, and the message is posted to #starboard .

If someone reacts with 🍣, the message will now have 3 🍣 and the “Sushi” override will now be applied for posting the message, which will then change the starboard channel to #sushiboard . As the message is posted to #starboard already, the bot will delete the message and repost it in #sushiboard .