Advanced Overrides
More ambitious users might wish to create more complicated setups with their overrides. This guide will walk you through the different, more advanced concepts to do with overrides.
Multiple Overrides
When you have multiple overrides that can apply at a time, you may wonder which way they’ll be applied.
The overrides that are applied last are the most prioritised as their settings and modifications are kept. The overrides that are applied first may have modifications overridden by the next override.
Overrides are applied as follows:
- custom priority value - overrides with higher priority values are applied last
- if the custom priority values are the same, then the override type is checked:
- Channel-type-based overrides are applied first,
- Then channel-based overrides,
- Then role-based overrides,
- And lastly, emoji-based overrides are applied.
- if the types are the same, then the creation date is checked. Newer overrides are applied last.
You can give overrides custom priority values with the priority
option:
Overrides have a default custom priority value of 0.
Example Setup
Let’s say you have the following setup:
- “Channel Override (A)” for #channel-1 , #channel-2 with priority value 1
- “Role Override (B)” for @Role 1
- “Channel Override 2 (C)” for #channel-1
- “Role Override 2 (D)” from @Role 1 , @Role 2
- “Channel Override 3 (E)” for #channel-2 with priority value 2
- “ChannelType Override (F)” for all text/announcement channels
If a message is starred in #channel-1 sent by a user with just the @Role 1 role, the following overrides will be applied in the following order:
- “ChannelType Override (F)” (due to override type),
- then “Channel Override 2 (C)”, (due to override type)
- then “Role Override (B)”, (due to override type)
- then “Role Override 2 (D)”, (due to override type, created after previous role override)
- then lastly “Channel Override (A)”. (due to custom priority value of 1)
If a message is starred in #channel-2 sent by a user with just the @Role 1 role, the following overrides will be applied in the following order:
- “ChannelType Override (F)” (due to override type),
- then “Role Override (B)”, (due to override type)
- then “Role Override 2 (D)”, (due to override type, created after previous role override)
- then “Channel Override (A)”, (due to custom priority value of 1)
- then lastly “Channel Override 3 (E)” (due to custom priority value of 2)
Inheriting From Other Overrides
By default, overrides inherit from the server settings. You can make an override inherit from other overrides instead, in case you have a big override with a lot of modifications made, and you want to copy those modifications to another override.
If an override inherits from another override, and multiple overrides are made (like in the scenarios above), all the override-specific inherited modifications are applied before the next overrides, then finally the server settings.
Say if you have the following setup:
- “Channel Override (A)” for #channel-1
- “Channel Override 2 (B)” for #channel-1 , #channel-2
- “Role Override (C)” for @Role 1 that inherits from “Channel Override (A)”
- “Role Override 2 (D)” from @Role 1 , @Role 2
If a message is starred in #channel-2 sent by a user with just the @Role 1 role, settings will be set in the following order:
- the server settings, as the base
- the settings of “Channel Override (A)”
- then the settings of “Channel Override 2 (B)”
- then the settings of “Role Override (C)”, after the settings of “Channel Override (A)” (again)
- lastly, the settings of “Role Override 2 (D)”
You can make overrides inherit from other overrides with the inherit-from
option: