Skip to main content

Conditions Reference

This reference covers all available condition types in RoleLogic. Each condition determines when a rule should trigger based on a member's current roles.

Condition Basics

Every condition has:

  • Type: How to evaluate the roles
  • Role Selection: Which roles to check
  • Threshold (some conditions): A number to compare against

Conditions evaluate to true (match) or false (no match). When true, the rule's action executes.


Role Presence Conditions

These conditions check whether a member has or lacks specific roles.

Has Some Roles

Syntax: Has Some Roles → [Role A, Role B, ...]

Matches when: Member has at least one of the specified roles.

Logic: Member has Role A OR Member has Role B OR ...

Member HasRoles to CheckResult
[A][A, B, C]✅ Match
[B, C][A, B, C]✅ Match
[D][A, B, C]❌ No Match
[] (none)[A, B, C]❌ No Match

Example:

IF has some of [Booster, Premium, VIP] → add Exclusive Access

Any member with Booster OR Premium OR VIP gets access.


Has All Roles

Syntax: Has All Roles → [Role A, Role B, ...]

Matches when: Member has every single one of the specified roles.

Logic: Member has Role A AND Member has Role B AND ...

Member HasRoles to CheckResult
[A, B, C][A, B, C]✅ Match
[A, B, C, D][A, B, C]✅ Match
[A, B][A, B, C]❌ No Match
[A][A, B, C]❌ No Match

Example:

IF has all of [Verified, Level 10, Active] → add Trusted

Member must have ALL THREE roles to be trusted.


Lacks Some Roles

Syntax: Lacks Some Roles → [Role A, Role B, ...]

Matches when: Member is missing at least one of the specified roles.

Logic: Member lacks Role A OR Member lacks Role B OR ...

Member HasRoles to CheckResult
[A, B][A, B, C]✅ Match (lacks C)
[A][A, B, C]✅ Match (lacks B, C)
[A, B, C][A, B, C]❌ No Match
[A, B, C, D][A, B, C]❌ No Match

Example:

IF lacks some of [Verified, Rules Accepted] → add Needs Setup

Member missing ANY verification step gets flagged.


Lacks All Roles

Syntax: Lacks All Roles → [Role A, Role B, ...]

Matches when: Member has none of the specified roles.

Logic: Member lacks Role A AND Member lacks Role B AND ...

Member HasRoles to CheckResult
[D, E][A, B, C]✅ Match
[] (none)[A, B, C]✅ Match
[A][A, B, C]❌ No Match
[B, C][A, B, C]❌ No Match

Example:

IF lacks all of [Bronze, Silver, Gold, Platinum] → add No Tier

Only members with ZERO tier roles get tagged.

warning

Remember that all members have @everyone. Include it in your testing!


Threshold Conditions

These conditions count matching roles and compare against a number.

Exactly N Roles

Syntax: Exactly N Roles → [Role A, Role B, ...], Threshold: N

Matches when: Member has exactly N roles from the specified set.

Logic: Count of matching roles = N

Member HasRoles to CheckThresholdResult
[A, B][A, B, C, D]2✅ Match
[A][A, B, C, D]2❌ No Match
[A, B, C][A, B, C, D]2❌ No Match

Example:

IF exactly 1 of [Bronze, Silver, Gold] → (rule logic)

Only members with precisely ONE tier role match.


At Least N Roles

Syntax: At Least N Roles → [Role A, Role B, ...], Threshold: N

Matches when: Member has N or more roles from the specified set.

Logic: Count of matching roles >= N

Member HasRoles to CheckThresholdResult
[A, B][A, B, C, D]2✅ Match
[A, B, C][A, B, C, D]2✅ Match
[A][A, B, C, D]2❌ No Match

Example:

IF at least 3 of [Badge 1, Badge 2, Badge 3, Badge 4, Badge 5] → add Collector

Members with 3, 4, or 5 badges get the Collector role.


At Most N Roles

Syntax: At Most N Roles → [Role A, Role B, ...], Threshold: N

Matches when: Member has N or fewer roles from the specified set.

Logic: Count of matching roles <= N

Member HasRoles to CheckThresholdResult
[A][A, B, C, D]2✅ Match
[A, B][A, B, C, D]2✅ Match
[][A, B, C, D]2✅ Match
[A, B, C][A, B, C, D]2❌ No Match

Example:

IF at most 1 of [Warning 1, Warning 2, Warning 3] → add Good Standing

Members with 0 or 1 warnings are in good standing.


More Than N Roles

Syntax: More Than N Roles → [Role A, Role B, ...], Threshold: N

Matches when: Member has more than N roles from the specified set.

Logic: Count of matching roles > N

Member HasRoles to CheckThresholdResult
[A, B, C][A, B, C, D]2✅ Match (3 > 2)
[A, B][A, B, C, D]2❌ No Match (2 = 2)
[A][A, B, C, D]2❌ No Match (1 < 2)

Example:

IF more than 3 of [Event 1, Event 2, Event 3, Event 4, Event 5] → add Event Veteran

Members with 4+ events are veterans.


Less Than N Roles

Syntax: Less Than N Roles → [Role A, Role B, ...], Threshold: N

Matches when: Member has fewer than N roles from the specified set.

Logic: Count of matching roles < N

Member HasRoles to CheckThresholdResult
[A][A, B, C, D]2✅ Match (1 < 2)
[][A, B, C, D]2✅ Match (0 < 2)
[A, B][A, B, C, D]2❌ No Match (2 = 2)
[A, B, C][A, B, C, D]2❌ No Match (3 > 2)

Example:

IF less than 2 of [Daily 1, Daily 2, Daily 3] → add Needs Activity

Members with 0 or 1 daily roles need more activity.


Combining Conditions (AND)

You can add up to 9 additional conditions to create complex logic.

Syntax

IF [Condition 1]
AND [Condition 2]
AND [Condition 3]
...
THEN [Action]

All conditions must be true for the rule to trigger.

Example

IF has some of [Verified]
AND has at least 2 of [Event 1, Event 2, Event 3, Event 4]
AND lacks all of [Banned, Muted]
THEN add Event Regular

This fires when:

  1. Member is Verified, AND
  2. Member participated in 2+ events, AND
  3. Member is not Banned or Muted

Condition Selection Guide

GoalRecommended Condition
Has any qualifying roleHas Some Roles
Has all required rolesHas All Roles
Missing required stepLacks Some Roles
Has none of a groupLacks All Roles
Specific count requiredExactly N Roles
Minimum count requiredAt Least N Roles
Maximum count allowedAt Most N Roles
Over a thresholdMore Than N Roles
Under a thresholdLess Than N Roles

Tips

Single Role Checks

For checking a single role, "Has Some Roles" with one role selected is simplest:

IF has some of [Verified] → THEN ...

@everyone Consideration

Remember @everyone is always present. This affects "Lacks" conditions especially.

Testing Conditions

Always test conditions in the sandbox before going live, especially threshold conditions.