Skip to content

Conditions

Member / Bot is in Thread

Requires DiSky v4.0.0

Check if a specific member or bot is in a guild thread. Useful to avoid exception while using join & leave effects.

No examples provided.
%member/bot% (is|are) in [the] thread %threadchannel%
%member/bot% (isn't|is not|aren't|are not) in [the] thread %threadchannel%

Member is muted

Requires DiSky v4.14.3

Check if a member is muted in a voice channel. You can specify if you want to get its guild or self state. Keep in mind the default condition (e.g. ... is muted) will check both states!

if event-member is muted:
if event-member is self muted:
%member% (is|are) [discord] [member] [(:self|:guild)] deafen[ed]
%member% (isn't|is not|aren't|are not) [discord] [member] [(:self|:guild)] deafen[ed]

Member is Deafened

Requires DiSky v4.14.3

Check if a member is deafened in a voice channel. You can specify if you want to get its guild or self state. Keep in mind the default condition (e.g. ... is deafened) will check both states!

if event-member is deafened:
if event-member is guild deafened:
%member% (is|are) [discord] [member] [(:self|:guild)] deafen[ed]
%member% (isn't|is not|aren't|are not) [discord] [member] [(:self|:guild)] deafen[ed]

ChannelType

Requires DiSky v4.0.0

No description provided.

No examples provided.
%channel% is of [the] %channeltype% type
%channel% is of [the] type %channeltype%

Member Has Permissions

Requires DiSky v4.0.0

Check if a member has permissions in an optional channel.

if event-member has discord permission administrator: # global permission
if event-member has discord permission send message in event-channel: # channel specific permission
%member% (has|have) discord permission[s] %permissions% [in [the] [channel] %-guildchannel%]
%member% (doesn't|does not|do not|don't) have discord permission[s] %permissions% [in [the] [channel] %-guildchannel%]

Member Has Role

Requires DiSky v4.0.0

Check if a member has a specific role.

if event-member has discord role with id "000":
%member% (has|have) discord [role] %role%
%member% (doesn't|does not|do not|don't) have discord [role] %role%

Is Attachment Audio

Requires DiSky v4.12.0

Check if the specified attachement is an audio file (aka a vocal message). If it is, you'll be able to use duration of attachment expression.

discord command vocal [<string>]:
prefixes: !
trigger:
    retrieve message with id arg-1 in event-channel and store it in {_msg}
    loop {_msg}'s attachments:
        set {_att} to loop-value
        if {_att} is audio:
            reply with "It's %duration of {_att}% long!"
            stop

    reply with "This message is not a voice message!"
%attachment% (is|are) [an] audio
%attachment% (isn't|is not|aren't|are not) [an] audio

User is Bot

Requires DiSky v4.0.0

Check either the provided user is a discord bot or not.

event-user is a discord bot
event-member is not a discord bot
%users% (is|are) [a] discord bot
%users% (isn't|is not|aren't|are not) [a] discord bot

Message is From Guild

Requires DiSky v4.0.0

Check either a message related event come from a guild or from private messages. This condition work with every event where a message is sent / received.

if event is from guild:
if message come from private message:
[the] (message|event) (is coming|come from|is from) guild [channel]
[the] (message|event) (is coming|come from|is from) (dm|(private|direct) message) [channel]

Is Attachment Image

Requires DiSky v1.7

See if a specific attachment is an image.

No examples provided.
att[achment[s]] %attachment% is [an] (image|img)
att[achment[s]] %attachment% (isn't|is not|wasn't|was not) [an] (image|img)

Is Attachment Spoiler

Requires DiSky v1.7

See if a specific attachment is marked as a spoil.

No examples provided.
att[achment[s]] %attachment% is [a] spoil[er]
att[achment[s]] %attachment% (isn't|is not|wasn't|was not) [a] spoil[er]

Is Attachment Video

Requires DiSky v1.7

See if a specific attachment is a video.

No examples provided.
att[achment[s]] %attachment% is [a] (vdo|video)
att[achment[s]] %attachment% (isn't|is not|wasn't|was not) [a] (vdo|video)

BotIsLoaded

Requires DiSky v4.0.0

No description provided.

No examples provided.
%string% (is|are) [been] loaded (in|on|from|over) discord
%string% (isn't|is not|aren't|are not) [been] loaded (in|on|from|over) discord

EmoteIsAnimated

Requires DiSky v4.0.0

No description provided.

No examples provided.
%emote% (is|are) animated
%emote% (isn't|is not|aren't|are not) animated

EmoteIsEmote

Requires DiSky v4.0.0

No description provided.

No examples provided.
%emote% (is|are) [a[n]] emote
%emote% (isn't|is not|aren't|are not) [a[n]] emote

Tag Required

Requires DiSky v4.0.0

Check if a forum channel require a tag to be set when creating a new post. Can be changed using the 'tag required' expression.

if event-forumchannel is tag required:
set tag required of event-forumchannel to false
%forumchannel% (is|are) tag required
%forumchannel% (isn't|is not|aren't|are not) tag required

Is Edited

Requires DiSky v4.0.0

Return true if the message was edited. Because of discord limitations, we cannot get the editing date.

event-message is edited
%message% (is|are) edited
%message% (isn't|is not|aren't|are not) edited

Is Ephemeral

Requires DiSky v4.0.0

Return true if the message was ephemeral, e.g. private / hidden. Action on hidden messages are limited.

event-message is ephemeral
%message% (is|are) ephemeral
%message% (isn't|is not|aren't|are not) ephemeral

Is Pinned

Requires DiSky v4.0.0

Return true if the message is pinned.

event-message is pinned
%message% (is|are) pin[ned]
%message% (isn't|is not|aren't|are not) pin[ned]

Is Posted

Requires DiSky v4.0.0

Return true if the message is posted, means sent in every guild that follow this news channel.

event-message is posted
%message% (is|are) (publish|post|crosspost)ed
%message% (isn't|is not|aren't|are not) (publish|post|crosspost)ed

Is TTS

Requires DiSky v4.0.0

Return true if the message is TTS (TextToSpeech).

event-message is tts
%message% (is|are) (tts|text to speech)
%message% (isn't|is not|aren't|are not) (tts|text to speech)

Profile Has Banner

Requires DiSky v4.0.0

Check if the specified profile have a custom banner set or not. Useful to manage either its banner URL of color accent.

No examples provided.
%userprofile% (has|have) [custom] banner
%userprofile% (doesn't|does not|do not|don't) have [custom] banner

Thread Is Archived

Requires DiSky v4.8.0

Check if a thread is archived or not.

No examples provided.
%threadchannel% (is|are) [a] archived [thread]
%threadchannel% (isn't|is not|aren't|are not) [a] archived [thread]

Thread Is Locked

Requires DiSky v4.8.0

Check if a thread is locked or not.

No examples provided.
%threadchannel% (is|are) [a] locked [thread]
%threadchannel% (isn't|is not|aren't|are not) [a] locked [thread]

Thread Is Public

Requires DiSky v4.8.0

Check if a thread is public or not.

No examples provided.
%threadchannel% (is|are) [a] public [thread]
%threadchannel% (isn't|is not|aren't|are not) [a] public [thread]