PaulCLI logoPaulCLI

Conditions

36 conditions blocks, generated from the live catalogue.

A condition inspects the current context and routes the run to its yes or no output. Chain several, or combine them with logic gates.

Note

This page is generated from the bot's block catalogue — 36 blocks at the time of this build.

Has role?

condition.hasRole — True if the member has the selected role.

Outputs: yes / no.

SettingTypeRequiredNotes
Roleroleyes

Has permission?

condition.hasPermission — True if the member holds the selected server permission.

Outputs: yes / no.

SettingTypeRequiredNotes
Permissionone of: Administrator, ManageGuild, ManageChannels, ManageRoles, ManageMessages, KickMembers, BanMembers, ModerateMembers, MentionEveryoneyes

Is specific user?

condition.userIs — True if the user who triggered the workflow is this exact user.

Outputs: yes / no.

SettingTypeRequiredNotes
User IDuser IDyes17–20 digit ID

Is booster?

condition.isBooster — True if the member is currently boosting the server.

Outputs: yes / no.

No settings.

Account older than?

condition.accountAge — True if the user's Discord account is at least N days old.

Outputs: yes / no.

SettingTypeRequiredNotes
Minimum age (days)number (0–3650)yes

Member longer than?

condition.memberSince — True if the member joined this server at least N days ago.

Outputs: yes / no.

SettingTypeRequiredNotes
Minimum membership (days)number (0–3650)yes

In voice?

condition.inVoice — True if the member is currently connected to voice (optionally a specific channel).

Outputs: yes / no.

SettingTypeRequiredNotes
Specific voice channelvoice channelno

In channel?

condition.inChannel — True if the event happened in the selected channel.

Outputs: yes / no.

SettingTypeRequiredNotes
Channeltext channelyes

Text matches?

condition.textMatches — True if the message content matches (contains / starts with / regex).

Outputs: yes / no.

SettingTypeRequiredNotes
Modeone of: contains, startsWith, equals, regexyes
Text / patterntext (≤ 300)yes
Case sensitiveyes / nono

Message length?

condition.messageLength — True if the message length is within the given range.

Outputs: yes / no.

SettingTypeRequiredNotes
Minimum charactersnumber (0–4000)no
Maximum charactersnumber (0–4000)no

Has attachment?

condition.hasAttachment — True if the message has a file attached (optionally images only).

Outputs: yes / no.

SettingTypeRequiredNotes
Images onlyyes / nono

condition.hasLink — True if the message contains an http(s) URL.

Outputs: yes / no.

No settings.

Mentions the bot?

condition.mentionsBot — True if the message @mentions this bot.

Outputs: yes / no.

No settings.

Mentions users?

condition.mentionsUsers — True if the message @mentions at least N users.

Outputs: yes / no.

SettingTypeRequiredNotes
Minimum mentionsnumber (1–50)yes

Random chance

condition.chance — True with the given probability — great for occasional easter eggs.

Outputs: yes / no.

SettingTypeRequiredNotes
Chance (%)number (0–100)yes

Time of day?

condition.timeOfDay — True if the current server time is between the two hours (wraps past midnight).

Outputs: yes / no.

SettingTypeRequiredNotes
From hour (0–23)number (0–23)yes
To hour (0–23)number (0–23)yes

Level at least?

condition.levelAtLeast — True if the member's levelling rank is ≥ N.

Outputs: yes / no.

SettingTypeRequiredNotes
Minimum levelnumber (1–1000)yes

Balance at least?

condition.balanceAtLeast — True if the member's wallet holds ≥ N coins.

Outputs: yes / no.

SettingTypeRequiredNotes
Minimum coinsnumber (0–1000000000)yes

Is a bot?

condition.isBot — True if the user is a bot account.

Outputs: yes / no.

No settings.

Has nickname?

condition.hasNickname — True if the member set a server nickname.

Outputs: yes / no.

No settings.

Is timed out?

condition.isTimedOut — True if the member currently has an active timeout.

Outputs: yes / no.

No settings.

Role count?

condition.roleCount — True if the member has at least N roles (excluding @everyone).

Outputs: yes / no.

SettingTypeRequiredNotes
Minimum rolesnumber (0–250)yes

Channel type?

condition.channelType — True if the event channel is of the selected type.

Outputs: yes / no.

SettingTypeRequiredNotes
Typeone of: text, thread, announcement, voiceTextyes

Is a reply?

condition.isReply — True if the message replies to another message.

Outputs: yes / no.

No settings.

Has embed?

condition.hasEmbed — True if the message carries an embed (link preview, bot card…).

Outputs: yes / no.

No settings.

Uses custom emoji?

condition.hasCustomEmoji — True if the message contains a custom (server) emoji.

Outputs: yes / no.

No settings.

Mentions a role?

condition.mentionsRole — True if the message pings a role (optionally a specific one).

Outputs: yes / no.

SettingTypeRequiredNotes
Specific roleroleno

Mentions @everyone?

condition.mentionsEveryone — True if the message pings @everyone or @here.

Outputs: yes / no.

No settings.

Word count?

condition.wordCount — True if the message has at least N words.

Outputs: yes / no.

SettingTypeRequiredNotes
Minimum wordsnumber (1–1000)yes

Mostly caps?

condition.allCaps — True if ≥ N % of the letters are uppercase (and there are at least 6 letters).

Outputs: yes / no.

SettingTypeRequiredNotes
Uppercase threshold (%)number (50–100)yes

Day of week?

condition.dayOfWeek — True on the selected day (server time).

Outputs: yes / no.

SettingTypeRequiredNotes
Dayone of: 1, 2, 3, 4, 5, 6, 0, weekend, weekdayyes

Server size?

condition.memberCount — True if the server has at least N members.

Outputs: yes / no.

SettingTypeRequiredNotes
Minimum membersnumber (1–10000000)yes

People in voice?

condition.voiceCount — True if the member's current voice channel has at least N people.

Outputs: yes / no.

SettingTypeRequiredNotes
Minimum peoplenumber (1–99)yes

Bought an item?

condition.hasPurchased — True if the member has ever bought something in the shop.

Outputs: yes / no.

No settings.

Has open ticket?

condition.hasOpenTicket — True if the member currently has an open support ticket.

Outputs: yes / no.

No settings.

Moderation history?

condition.caseCount — True if the member has at least N moderation cases on record.

Outputs: yes / no.

SettingTypeRequiredNotes
Minimum casesnumber (1–1000)yes