Skip to content

Events

Information: Retrieve-Values

For some event, you can see a retrieve values section. Some values are given by Discord directly, and others needs another request to Discord to get the value (those are in as retrieve values).

For instance in the Reaction Add Event, Discord gives us the message ID only, so you can use its retrieve value to get the actual message:

on reaction add:
    # </>

    retrieve event value "message" and store it in {_message}
    # now you can use {_message} as the message that was reacted to!

Bot Join Event

Requires DiSky v4.23.0-alpha2 No

Fired when the bot joins a new guild/server. This event is useful for setting up initial configurations when the bot enters a new server, such as adding default roles, sending welcome messages, or initializing server-specific settings.

on bot join:
broadcast "Bot joined a new server: %event-guild%!"
bot [guild] join[ed] [seen by %-string%]

Bot Leave Event

Requires DiSky v4.23.0-alpha2 No

Fired when the bot leaves a guild/server. This event can be used for cleanup operations or logging when the bot is removed from a server, either by being kicked, the server being deleted, or the bot owner removing it manually.

on bot leave:
broadcast "Bot left the server: %event-guild%"
bot [guild] (leave|left) [seen by %-string%]

Bot Shutdown Event

Requires DiSky v4.23.0-alpha2 No

Fired when a bot is shutting down or being stopped. This event is triggered when the bot's connection to Discord is closing, which can happen during server restarts, plugin reloads, or manual bot shutdowns. It provides an opportunity to perform cleanup operations or save data before the bot goes offline.

on bot shutdown:
broadcast "Bot %event-bot% is shutting down!"
bot (shutdown|stop) [seen by %-string%]

Guild Ready Event

Requires DiSky v4.23.0-alpha2 No

Fired when a guild is fully loaded and all its data is accessible. This event occurs for each guild the bot is connected to when starting up. It's fired before the global Ready event and indicates that guild-specific data like members, channels, and roles have been loaded and are available for use.

on guild ready:
broadcast "Guild %event-guild% is now fully loaded!"
guild (ready|load[ed]) [seen by %-string%]

Bot Ready Event

Requires DiSky v4.23.0-alpha2 No

Fired when a bot is fully loaded and connected to Discord. This event is triggered once all guilds are ready and the bot's connection to Discord is completely established. This is the ideal event to use for initialization code that needs to run once when the bot starts up, such as scheduling tasks or initializing resources.

on bot loaded:
broadcast "Bot %event-bot% is now online and ready!"
(ready|bot load[ed]) [seen by %-string%]

Interaction Command Events

These events are fired when a user interacts with a command:

  • Slash Command: Fired when a user executes a slash command. (+ includes an auto-complete event)
  • Message Command: Fired when a user interacts with a message command (right click on a message).
  • User Command: Fired when a user interacts with a user command (right click on a user).

Refer to individual event documentation for more details.

Slash Command

Requires DiSky v4.23.0-alpha2 No

Fired when a user execute a specific slash command. Use 'used command' to get the command name. Don't forget to either reply or defer the interaction, You can only defer using the wait pattern e.g: 'defer the interaction and wait [silently]. You can get value of arguments using 'argument "name" as string' for example.

You can reply with a modal in this event.

Message Command

Requires DiSky v4.23.0-alpha2 No

Fired when someone click on a message application command. Use used command to get the command name and target message for the targeted message. Don't forget to either reply to the interaction. Defer doesn't work here.

You can reply with a modal in this event.

No examples provided.
message command [receive[d]] [seen by %-string%]

User Command

Requires DiSky v4.23.0-alpha2 No

Fired when someone click on a user application command. Use used command to get the command name and target user for the targeted user. Don't forget to either reply to the interaction. Defer doesn't work here.

You can reply with a modal in this event.

No examples provided.
user command [receive[d]] [seen by %-string%]

Slash Command Completion Event

Requires DiSky v4.23.0-alpha2 No

Fired when Discord requests argument autocompletion for a slash command. Use 'event-string' to get the command name. Use the 'return' effect to provide completion choices to the user. You can access the focused argument with 'current argument' and other argument values with 'argument "name" as type'.

on slash completion:
if event-string is "mycommand":
    if current argument is "option":
        return choice "Option 1" with value "option1", choice "Option 2" with value "option2"
slash completion [receive[d]] [seen by %-string%]

Channel Events

These events are fired when a channel is created, deleted, or updated. This include all types of channels, including text, voice, forum, private, ... channels.

Channel Create Event

Requires DiSky v4.23.0-alpha2 No

Fired when a channel is created.

Channel Delete Event

Requires DiSky v4.23.0-alpha2 No

Fired when a channel is deleted.

Channel Name Update Event

Requires DiSky v4.23.0-alpha2 No

Fired when a channel's name is changed.

on channel name change:
broadcast "Channel %event-channel% was renamed from %previous channel name% to %current channel name%"
[discord] channel name (change|update) [seen by %-string%]

Channel Topic Update Event

Requires DiSky v4.23.0-alpha2 No

Fired when a channel's topic is changed.

on channel topic change:
broadcast "Channel %event-channel% had its topic changed from '%previous channel topic%' to '%current channel topic%'"
[discord] channel topic (change|update) [seen by %-string%]

Channel NSFW Update Event

Requires DiSky v4.23.0-alpha2 No

Fired when a channel's NSFW status is changed.

on channel nsfw change:
broadcast "Channel %event-channel% NSFW status changed from %past nsfw state% to %current nsfw state%"
[discord] channel nsfw (change|update) [seen by %-string%]

Channel Position Update Event

Requires DiSky v4.23.0-alpha2 No

Fired when a channel's position is changed.

on channel position change:
broadcast "Channel %event-channel% position changed from %past channel position% to %current channel position%"
[discord] channel position (change|update) [seen by %-string%]

Channel Parent Update Event

Requires DiSky v4.23.0-alpha2 No

Fired when a channel's parent category is changed.

on channel parent change:
broadcast "Channel %event-channel% was moved from %past parent% to %parent%"
[discord] channel parent (change|update) [seen by %-string%]

Channel Slowmode Update Event

Requires DiSky v4.23.0-alpha2 No

Fired when a channel's slowmode setting is changed.

on channel slowmode change:
broadcast "Channel %event-channel% slowmode changed from %past channel slowmode% to %new channel slowmode% seconds"
[discord] channel slowmode (change|update) [seen by %-string%]

Channel Type Update Event

Requires DiSky v4.23.0-alpha2 No

Fired when a channel's type is changed.

on channel type change:
broadcast "Channel %event-channel% type changed from %past channel type% to %current channel type%"
[discord] channel type (change|update) [seen by %-string%]

Channel User Limit Update Event

Requires DiSky v4.23.0-alpha2 No

Fired when a voice channel's user limit is changed.

on channel user limit change:
broadcast "Channel %event-channel% user limit changed from %past user limit% to %current user limit%"
[discord] channel user limit (change|update) [seen by %-string%]

Channel Bitrate Update Event

Requires DiSky v4.23.0-alpha2 No

Fired when a voice channel's bitrate is changed.

on channel bitrate change:
broadcast "Channel %event-channel% bitrate changed from %past bitrate% to %current bitrate%"
[discord] channel bitrate (change|update) [seen by %-string%]

Channel Region Update Event

Requires DiSky v4.23.0-alpha2 No

Fired when a voice channel's region is changed.

on channel region change:
broadcast "Channel %event-channel% region changed from %past channel region% to %current channel region%"
[discord] channel region (change|update) [seen by %-string%]

Channel Voice Status Update Event

Requires DiSky v4.23.0-alpha2 No

Fired when a voice channel's status (video or voice) is changed.

on channel voice status change:
broadcast "Channel %event-channel% voice status changed from %past channel voice status% to %current channel voice status%"
[discord] channel voice status (change|update) [seen by %-string%]

Channel Applied Tags Update Event

Requires DiSky v4.23.0-alpha2 No

Fired when a forum channel's applied tags are changed.

on channel tags change:
broadcast "Channel %event-channel% applied tags changed from %old applied tags% to %new applied tags%"
[discord] channel [applied] tags (change|update) [seen by %-string%]

Channel Archived Update Event

Requires DiSky v4.23.0-alpha2 No

Fired when a thread channel's archived status is changed.

on channel archived change:
broadcast "Channel %event-channel% archived status changed from %past channel archived state% to %current channel archived state%"
[discord] channel archived (change|update) [seen by %-string%]

Channel Archive Timestamp/Date Update Event

Requires DiSky v4.23.0-alpha2 No

Fired when a thread channel's archive timestamp is changed.

on channel archive timestamp change:
broadcast "Channel %event-channel% archive timestamp changed from %past channel archive timestamp% to %current channel archive timestamp%"
[discord] channel archive (timestam|date) (change|update) [seen by %-string%]

Channel Auto Archive Duration Update Event

Requires DiSky v4.23.0-alpha2 No

Fired when a thread channel's auto archive duration is changed.

on channel auto-archive duration change:
broadcast "Channel %event-channel% auto archive duration changed from %past channel auto archive duration% to %current channel auto archive duration%"
[discord] channel auto[( |-)]archive duration (change|update) [seen by %-string%]

Channel Default Layout Update Event

Requires DiSky v4.23.0-alpha2 No

Fired when a forum channel's default layout is changed.

on channel default layout change:
broadcast "Channel %event-channel% default layout changed from %old default layout% to %new default layout%"
[discord] channel default layout (change|update) [seen by %-string%]

Channel Default Reaction Update Event

Requires DiSky v4.23.0-alpha2 No

Fired when a forum channel's default reaction is changed.

on channel default reaction change:
broadcast "Channel %event-channel% default reaction changed from %old default reaction% to %new default reaction%"
[discord] channel default reaction (change|update) [seen by %-string%]

Channel Default Sort Order Update Event

Requires DiSky v4.23.0-alpha2 No

Fired when a forum channel's default sort order is changed.

on channel default sort order change:
broadcast "Channel %event-channel% default sort order changed from %old default sort order% to %new default sort order%"
[discord] channel default sort order (change|update) [seen by %-string%]

Channel Default Thread Slowmode Update Event

Requires DiSky v4.23.0-alpha2 No

Fired when a forum channel's default thread slowmode is changed.

on channel default thread slowmode change:
broadcast "Channel %event-channel% default thread slowmode changed from %old default thread slowmode% to %new default thread slowmode%"
[discord] channel default thread slowmode (change|update) [seen by %-string%]

Channel Flags Update Event

Requires DiSky v4.23.0-alpha2 No

Fired when a channel's flags are changed.

on channel flags change:
broadcast "Channel %event-channel% flags changed from %old channel flags% to %new channel flags%"
[discord] channel flags (change|update) [seen by %-string%]

Channel Invitable Update Event

Requires DiSky v4.23.0-alpha2 No

Fired when a thread channel's invitable status is changed.

on channel invitable change:
broadcast "Channel %event-channel% invitable status changed from %past channel invitable state% to %current channel invitable state%"
[discord] channel invitable (change|update) [seen by %-string%]

Channel Locked Update Event

Requires DiSky v4.23.0-alpha2 No

Fired when a thread channel's locked status is changed.

on channel locked change:
broadcast "Channel %event-channel% locked status changed from %past channel locked state% to %current channel locked state%"
[discord] channel locked (change|update) [seen by %-string%]

Role Events

These events are triggered when a role is created, deleted, or updated in a Discord server. They provide access to the role and guild involved in the event. These events are useful for tracking changes to roles, managing permissions, and implementing role-based features.

Role Create Event

Requires DiSky v4.23.0-alpha2 No

Fired when a new role is created in a guild. This event provides access to the newly created role and the guild it belongs to. It's useful for tracking administrative changes or implementing role management systems.

on role create:
broadcast "New role created: %event-role% in %event-guild%"
[discord] [guild] role create[d] [seen by %-string%]

Role Delete Event

Requires DiSky v4.23.0-alpha2 No

Fired when a role is deleted from a guild. This event provides access to the deleted role and the guild it belonged to. It can be used for auditing purposes or to trigger cleanup actions in your bot.

on role delete:
broadcast "Role %event-role% was deleted from %event-guild%"
[discord] [guild] role delete [seen by %-string%]

Role Color Update Event

Requires DiSky v4.23.0-alpha2 No

Fired when the color of a role changes. This event provides access to both the old and new colors of the role. It can be used for tracking aesthetic changes to roles or for synchronization systems.

on role color change:
broadcast "Role %event-role% color changed from %previous role color% to %current role color%"
[discord] [guild] role color (update|change) [seen by %-string%]
  • [(new|current)] role color - Returns a color.
  • (old|past|previous) role color - Returns a color.
  • event-guild
  • event-role

Role Name Update Event

Requires DiSky v4.23.0-alpha2 No

Fired when the name of a role changes. This event provides access to both the old and new names of the role. It's useful for tracking role identity changes or updating external systems that reference roles by name.

on role name change:
broadcast "Role name changed from '%previous role name%' to '%current role name%' in %event-guild%"
[discord] [guild] role name (update|change) [seen by %-string%]
  • [(new|current)] role name - Returns a string.
  • (old|past|previous) role name - Returns a string.
  • event-guild
  • event-role

Role Hoisted Update Event

Requires DiSky v4.23.0-alpha2 No

Fired when the hoisted status of a role changes. Hoisted roles are displayed separately in the member list. This event provides access to both the old and new hoisted states. It's useful for tracking changes to role visibility in the member sidebar.

on role hoisted change:
if current role hoisted state is true:
    broadcast "Role %event-role% is now shown separately in the member list"
else:
    broadcast "Role %event-role% is no longer shown separately in the member list"
[discord] [guild] role hoist[ed] (update|change) [seen by %-string%]
  • [(new|current)] role hoisted [state] - Returns a boolean.
  • (old|past|previous) role hoisted [state] - Returns a boolean.
  • event-guild
  • event-role

Role Icon Update Event

Requires DiSky v4.23.0-alpha2 No

Fired when the icon of a role changes. This event provides access to both the old and new icon URLs. It can be used for tracking visual changes to roles or updating external systems.

on role icon change:
broadcast "Role %event-role% icon changed from %previous role icon% to %current role icon%"
[discord] [guild] role icon (update|change) [seen by %-string%]
  • [(new|current)] role icon - Returns a string.
  • (old|past|previous) role icon - Returns a string.
  • event-guild
  • event-role

Role Position Update Event

Requires DiSky v4.23.0-alpha2 No

Fired when the position of a role changes in the role hierarchy. This event provides access to both the old and new positions. It's useful for tracking changes to the role hierarchy that may affect permissions.

on role position change:
broadcast "Role %event-role% position changed from %previous role position% to %current role position%"
[discord] [guild] role position (update|change) [seen by %-string%]
  • [(new|current)] role position - Returns a integer.
  • (old|past|previous) role position - Returns a integer.
  • event-guild
  • event-role

Role Permissions Update Event

Requires DiSky v4.23.0-alpha2 No

Fired when the permissions of a role change. This event provides access to both the old and new permission sets. It's crucial for security monitoring, permission auditing, and tracking administrative changes.

on role permissions change:
broadcast "Permissions for role %event-role% have been updated in %event-guild%"
[discord] [guild] role permission[s] (update|change) [seen by %-string%]
  • [(new|current)] role permission[s] - Returns a list of permission.
  • (old|past|previous) role permission[s] - Returns a list of permission.
  • event-guild
  • event-role

Role Mentionable Update Event

Requires DiSky v4.23.0-alpha2 No

Fired when the mentionable status of a role changes. This event tracks whether a role can be mentioned by regular users. It provides access to both the old and new mentionable states. It's useful for tracking changes that affect role notifications and visibility.

on role mentionable change:
if current role mentionable state is true:
    broadcast "Role %event-role% can now be mentioned by everyone"
else:
    broadcast "Role %event-role% can no longer be mentioned by everyone"
[discord] [guild] role mentionable (update|change) [seen by %-string%]
  • [(new|current)] role mentionable [state] - Returns a boolean.
  • (old|past|previous) role mentionable [state] - Returns a boolean.
  • event-guild
  • event-role

Guild Events

Events related to guilds (servers) on Discord. These events are triggered when certain actions occur within a guild, such as changes to settings, member actions, or administrative tasks.

AutoMod Execution

Requires DiSky v4.23.0-alpha2 No

Fired when an automated automod response has been triggered through an automod Rule. Can be used to get the channel, user content, keyword that was found, the automod response and the id of the automod rule, the user, the id of the message which triggered the rule, the guild it occurred in, and the id of the alert message sent to the alert channel (if configured).

on automod execute:
broadcast "AutoMod rule triggered by %event-user% in %event-channel%"
[discord] automod (execution|execute) [seen by %-string%]

Guild Ban Event

Requires DiSky v4.23.0-alpha2 No

Fired when a user is banned from a guild. A member doesn't exist here because the member is not in the guild anymore! Can be used to get the banned user, the author and the guild.

on guild ban:
broadcast "%event-user% was banned from %event-guild%"
[discord] guild [user] ban [seen by %-string%]

Guild Join Event

Requires DiSky v4.23.0-alpha2 No

Fired when the bot joins a guild. Use this to set up initial configurations or welcome messages.

on bot join guild:
broadcast "Bot joined %event-guild%!"
[discord] bot join guild [seen by %-string%]

Guild Log Entry Create Event

Requires DiSky v4.23.0-alpha2 No

Fired when a new log entry is created in a guild. Can be used to monitor administrative actions within a guild.

on guild log entry create:
broadcast "New audit log entry created in %event-guild% for action type %event-entry's type%"
[discord] guild log [entry] create [seen by %-string%]
  • author

Guild Unban Event

Requires DiSky v4.23.0-alpha2 No

Fired when a user is unbanned from a guild. Can be used to get the unbanned user, the author and the guild.

on guild unban:
broadcast "%event-user% was unbanned from %event-guild%"
[discord] guild [user] unban [seen by %-string%]

Invite Create Event

Requires DiSky v4.23.0-alpha2 No

Fired when an invite is created in a guild. Can be used to get the invite properties, the channel, the author and the guild.

on guild invite create:
broadcast "New invite created in %event-channel% with code %event-invite's code%"
[discord] guild invite create [seen by %-string%]

Invite Delete Event

Requires DiSky v4.23.0-alpha2 No

Fired when an invite is deleted from a guild. Can be used to get the invite code, the channel, the author and the guild.

on guild invite delete:
broadcast "Invite deleted from %event-channel% in %event-guild%"
[discord] guild invite delete [seen by %-string%]

Guild AFK Channel Event

Requires DiSky v4.23.0-alpha2 No

Fired when the AFK channel of a guild changes. Can be used to get the old/new channel, the author and the guild.

on guild afk channel change:
broadcast "Guild %event-guild% changed AFK channel from %past afk channel% to %current afk channel%"
[discord] guild afk channel (change|update) [seen by %-string%]
  • [(new|current)] afk channel - Returns a voicechannel.
  • (old|past|previous) afk channel - Returns a voicechannel.
  • event-guild

Guild AFK Timeout Event

Requires DiSky v4.23.0-alpha2 No

Fired when the AFK timeout of a guild changes. Can be used to get the old/new timeout value, the author and the guild.

on guild afk timeout change:
broadcast "Guild %event-guild% changed AFK timeout from %past afk timeout% to %current afk timeout%"
[discord] guild afk timeout (change|update) [seen by %-string%]
  • [(new|current)] afk timeout - Returns a null.
  • (old|past|previous) afk timeout - Returns a null.
  • event-guild

Guild Banner Event

Requires DiSky v4.23.0-alpha2 No

Fired when the banner of a guild changes. Can be used to get the old/new banner URL, the author and the guild.

on guild banner change:
broadcast "Guild %event-guild% changed banner from %past banner% to %current banner%"
[discord] guild banner (change|update) [seen by %-string%]
  • [(new|current)] banner - Returns a string.
  • (old|past|previous) banner - Returns a string.
  • event-guild

Guild Boost Count Update

Requires DiSky v4.23.0-alpha2 No

Fired when the boost count of a guild changes. Can be used to get the old/new count, and the guild.

on guild boost count change:
broadcast "Guild %event-guild% boost count changed from %past boost count% to %current boost count%"
[discord] guild boost count (change|update) [seen by %-string%]
  • [(new|current)] boost count - Returns a integer.
  • (old|past|previous) boost count - Returns a integer.
  • event-guild

Guild Boost Tier Update

Requires DiSky v4.23.0-alpha2 No

Fired when the boost tier of a guild changes. Can be used to get the old/new tier, and the guild.

on guild boost tier change:
broadcast "Guild %event-guild% boost tier changed from %past boost tier% to %current boost tier%"
[discord] guild boost tier (change|update) [seen by %-string%]
  • [(new|current)] boost tier - Returns a string.
  • (old|past|previous) boost tier - Returns a string.
  • event-guild

Guild Icon Event

Requires DiSky v4.23.0-alpha2 No

Fired when the icon of a guild changes. Can be used to get the old/new icon URL, the author and the guild.

on guild icon change:
broadcast "Guild %event-guild% changed icon from %past icon% to %current icon%"
[discord] guild icon (change|update) [seen by %-string%]
  • [(new|current)] icon - Returns a string.
  • (old|past|previous) icon - Returns a string.
  • event-guild

Guild Name Event

Requires DiSky v4.23.0-alpha2 No

Fired when the name of a guild is changed. Can be used to get the old/new name, the author and the guild.

on guild name change:
broadcast "Guild name changed from '%past guild name%' to '%current guild name%'"
[discord] guild name (update|change) [seen by %-string%]
  • [(new|current)] guild name - Returns a string.
  • (old|past|previous) guild name - Returns a string.
  • event-guild

Guild Owner Event

Requires DiSky v4.23.0-alpha2 No

Fired when the owner of a guild changes. Can be used to get the old/new owner, the author and the guild.

on guild owner change:
broadcast "Guild %event-guild% owner changed from %past owner% to %current owner%"
[discord] guild owner (change|update) [seen by %-string%]
  • [(new|current)] owner - Returns a member.
  • (old|past|previous) owner - Returns a member.
  • event-guild

Guild Splash Event

Requires DiSky v4.23.0-alpha2 No

Fired when the splash image of a guild changes. Can be used to get the old/new splash URL, the author and the guild.

on guild splash change:
broadcast "Guild %event-guild% splash changed from %past splash% to %current splash%"
[discord] guild splash (change|update) [seen by %-string%]
  • [(new|current)] splash - Returns a string.
  • (old|past|previous) splash - Returns a string.
  • event-guild

Guild Voice Deafen Event

Requires DiSky v4.23.0-alpha2 No

Fired when a member is deafened or undeafened by the guild. Can be used to track moderation actions in voice channels.

on guild voice deafen:
if event-boolean is true:
    broadcast "%event-member% was deafened in %event-guild%"
else:
    broadcast "%event-member% was undeafened in %event-guild%"
[discord] guild [voice] deafen[ed] [seen by %-string%]

Guild Voice Mute Event

Requires DiSky v4.23.0-alpha2 No

Fired when a member is muted or unmuted by the guild. Can be used to track moderation actions in voice channels.

on guild voice mute:
if event-boolean is true:
    broadcast "%event-member% was muted in %event-guild%"
else:
    broadcast "%event-member% was unmuted in %event-guild%"
[discord] guild [voice] mute[d] [seen by %-string%]

Guild Voice Mute Event

Requires DiSky v4.23.0-alpha2 No

Fired when a member is muted or unmuted by the guild. Can be used to track moderation actions in voice channels.

on guild voice mute:
if event-boolean is true:
    broadcast "%event-member% was muted in %event-guild%"
else:
    broadcast "%event-member% was unmuted in %event-guild%"
[discord] guild [voice] mute[d] [seen by %-string%]

Guild Voice Request To Speak Event

Requires DiSky v4.23.0-alpha2 No

Fired when a member requests to speak in a stage channel. Can be used to track moderation actions in voice channels. You may use event-boolean to check if the state is true (user requested to speak) or false (user cancelled the request).

on guild voice request to speak:
if event-boolean is true:
    broadcast "%event-member% requested to speak in %event-guild%"
else:
    broadcast "%event-member% cancelled their request to speak in %event-guild%"
[discord] guild [voice] request to speak [seen by %-string%]

Guild Voice Stream Event

Requires DiSky v4.23.0-alpha2 No

Fired when a member starts or stops streaming in a voice channel. Can be used to track moderation actions in voice channels. You may use event-boolean to check if the state is true (user started streaming) or false (user stopped streaming).

This DOES NOT include camera! Use the GuildVoice Video Event for that.

on guild voice stream:
if event-boolean is true:
    broadcast "%event-member% started streaming in %event-guild%"
else:
    broadcast "%event-member% stopped streaming in %event-guild%"
[discord] guild [voice] stream[ing] [seen by %-string%]

Guild Voice Video Event

Requires DiSky v4.23.0-alpha2 No

Fired when a member starts or stops its camera in a voice channel. Can be used to track moderation actions in voice channels. You may use event-boolean to check if the state is true (user started its camera) or false (user stopped its camera).

This DOES NOT include streams! Use the Guild Voice Stream Event instead.

on guild voice video:
if event-boolean is true:
    broadcast "%event-member% started video in %event-guild%"
else:
    broadcast "%event-member% stopped video in %event-guild%"
[discord] guild [voice] video[ing] [seen by %-string%]

Thread Join Event

Requires DiSky v4.23.0-alpha2 No

Fired when a member joins a tread, either by joining itself or by a moderator can be used to get the thread, the guild and the member.

Thread Leave Event

Requires DiSky v4.23.0-alpha2 No

Fired when a member leaves a thread, either by leaving itself or by a moderator can be used to get the thread, the guild and the member.

Component Interaction Events

Events that are fired when a component is interacted with. This includes buttons, select menus, and modals.

Check individual details to see if you are able to show a modal!

Button Click

Requires DiSky v4.23.0-alpha2 No

Fired when any button sent by the button is clicked. You can use the clicked id to get the clicked button id.

Modal can be shown in this interaction!

You can reply with a modal in this event.

on button clicked:
reply with hidden "You clicked the button with id '%clicked id%'!" # This will defer the interaction!
button click[ed] [seen by %-string%]

Requires DiSky v4.23.0-alpha2 No

Fired when a modal has been sent to the bot from any user. Use 'received modal' to get the modal id. Don't forget to either reply or defer the interaction.

Modal can NOT be shown in this interaction!

on modal received:
reply with hidden "You clicked the button with id '%received modal%'!" # This will defer the interaction!
modal (click[ed]|receive[d]) [seen by %-string%]

String Dropdown Click Event

Requires DiSky v4.23.0-alpha2 No

Fired when a user selects one or more choices in a string dropdown menu. This event provides access to the selected string values and dropdown details. Don't forget to either reply to or defer the interaction to acknowledge it. You can show a modal in response to this interaction.

You can reply with a modal in this event.

Entity Dropdown Click Event

Requires DiSky v4.23.0-alpha2 No

Fired when a user selects one or more entities in an entity dropdown menu. This event provides access to the selected entities (users, roles, channels, etc.). Don't forget to either reply to or defer the interaction to acknowledge it. You can show a modal in response to this interaction.

You can reply with a modal in this event.

on entity dropdown clicked:
broadcast "User %event-user% selected entities: %selected entities%"
entit(y|ies) drop[( |-)]down click[ed] [seen by %-string%]

Message Events

These events are fired when a message is received, edited or deleted. This will be fired, by default, both guild & private messages, use the event is from guild condition to avoid confusion in your events.

Message Receive

Requires DiSky v4.23.0-alpha2 No

Fired when any bot receive an actual message. This will be fired, by default, both guild & private messages, use the 'event is from guild' condition to avoid confusion.

on message received:
    if message is from guild:
        reply with "I just received '%event-message%' from %mention tag of event-channel%!"
    else:
        reply with "I just received '%event-message%' from %mention tag of event-user%!"
message receive[d] [seen by %-string%]

Message Delete

Requires DiSky v4.23.0-alpha2 No

Fired when any message is deleted. Use 'event-string' to get the old message content, only works if this message was cached by DiSky before hand. This will be fired, by default, both guild & private messages, use the 'event is from guild' condition to avoid confusion.

Message Edit

Requires DiSky v4.23.0-alpha2 No

Fired when any message is edited / updated. Use 'event-string' to get the old message content, only works if this message was cached by DiSky before hand. This will be fired, by default, both guild & private messages, use the 'event is from guild' condition to avoid confusion.

Poll Vote Add

Requires DiSky v4.23.0-alpha2 No

Fired when a user adds their vote to a poll in a message.

Poll Vote Remove

Requires DiSky v4.23.0-alpha2 No

Fired when a user removes their vote from a poll in a message.

on poll vote remove:
    send "User %event-user% removed their vote from a poll in %event-channel%!" to console
[message] poll vote remove[d] [seen by %-string%]
  • message
  • member
  • user

Reaction Add

Requires DiSky v4.23.0-alpha2 No

Fired when a message, that can be seen by the bot, receive a reaction. This will be fired, by default, both guild & private messages, use the 'event is from guild' condition to avoid confusion.

Reaction Remove

Requires DiSky v4.23.0-alpha2 No

Fired when an user remove a reaction from a specific message. This will be fired, by default, both guild & private messages, use the 'event is from guild' condition to avoid confusion.

Reaction Remove All

Requires DiSky v4.23.0-alpha2 No

Fired when an user remove every reactions from a message. This will be fired, by default, both guild & private messages, use the 'event is from guild' condition to avoid confusion.

User/Member Events

Events related to user/member actions and updates. Keep in mind most user update events requires a member to be seen by the bot in any guild, with the intent 'guild presence' enabled.

Member Join Event

Requires DiSky v4.23.0-alpha2 No

Fired when a member joins a guild.

on member join:
broadcast "Welcome %event-member% to %event-guild%!"
member join[ed] [guild] [seen by %-string%]

Member Leave Event

Requires DiSky v4.23.0-alpha2 No

Fired when a member is removed from a guild either by leaving or being punished. Use the ban/kick event instead to check the exact reason.

on member leave:
broadcast "%event-member% has left %event-guild%"
member (leave|left) [guild] [seen by %-string%]

Role Add Event

Requires DiSky v4.23.0-alpha2 No

Fired when a member receives new roles. This is a log action, so event-author returns who made the action and event-roles returns a list of added roles.

on role add:
broadcast "%event-author% added roles %added roles% to %event-member%"
[member] role add[ed] [seen by %-string%]

Role Remove Event

Requires DiSky v4.23.0-alpha2 No

Fired when roles are removed from a member. This is a log action, so event-author returns who made the action and event-roles returns a list of removed roles.

on role remove:
broadcast "%event-author% removed roles %removed roles% from %event-member%"
[member] role remove[d] [seen by %-string%]

Member Nickname Event

Requires DiSky v4.23.0-alpha2 No

Fired when a member changes their nickname in a guild.

on member nickname change:
broadcast "%event-member% changed their nickname from '%previous nickname%' to '%current nickname%'"
[guild] member nickname (change|update) [seen by %-string%]
  • [(new|current)] [member] nickname - Returns a string.
  • (old|past|previous) [member] nickname - Returns a string.
  • event-guild
  • event-member

Member Avatar Event

Requires DiSky v4.23.0-alpha2 No

Fired when a member changes their server-specific avatar.

on member avatar change:
broadcast "%event-member% changed their server avatar. New URL: %current avatar url%"
[guild] member avatar (change|update) [seen by %-string%]
  • [(new|current)] [member] avatar url - Returns a string.
  • (old|past|previous) [member] avatar url - Returns a string.
  • event-guild
  • event-member

Member Accept Screen Event

Requires DiSky v4.23.0-alpha2 No

Fired when a member has agreed to membership screen requirements. This can be useful for adding roles since the member is not fully available until they've accepted the screen requirements.

on member screen accept:
broadcast "%event-member% has completed the membership screening in %event-guild%"
[guild] member screen accept [seen by %-string%]
  • [(new|current)] [member] pending state - Returns a boolean.
  • (old|past|previous) [member] pending state - Returns a boolean.
  • event-guild
  • event-member

Member Boost Time Update Event

Requires DiSky v4.23.0-alpha2 No

Fired when a member's boost time is updated, which can happen when they start or stop boosting a server.

on member boost time change:
broadcast "%event-member% boost time updated from %previous boost time% to %current boost time%"
[guild] member boost time (change|update) [seen by %-string%]

Member Boost Event

Requires DiSky v4.23.0-alpha2 No

Fired when a member boosts a server, which is detected through a system message in the server.

Member Timeout Event

Requires DiSky v4.23.0-alpha2 No

Fired when a member is timed out (temporarily restricted from interacting with the server).

on member timeout:
broadcast "%event-member% has been timed out until %event-date%"
member time[ ]out[ed] [seen by %-string%]

Member Self Mute Event

Requires DiSky v4.23.0-alpha2 No

Fired when a member mutes or unmutes themselves in a voice channel.

on member mute:
if event-boolean is true:
    broadcast "%event-member% muted themselves"
else:
    broadcast "%event-member% unmuted themselves"
member [self] [un]mute[d] [seen by %-string%]
  • [(new|current)] [member] mute[d] state - Returns a boolean.
  • (old|past|previous) [member] mute[d] state - Returns a boolean.
  • event-guild
  • event-member

Member Self Deafen Event

Requires DiSky v4.23.0-alpha2 No

Fired when a member deafens or undeafens themselves in a voice channel.

on member deafen:
if event-boolean is true:
    broadcast "%event-member% deafened themselves"
else:
    broadcast "%event-member% undeafened themselves"
member [self] [un]deafen[ed] [seen by %-string%]
  • [(new|current)] [member] deafen[ed] state - Returns a boolean.
  • (old|past|previous) [member] deafen[ed] state - Returns a boolean.
  • event-guild
  • event-member

Member Voice Join Event

Requires DiSky v4.23.0-alpha2 No

Fired when a member joins a voice or stage channel. This event also fires when a member moves from one voice channel to another.

on voice channel join:
broadcast "%event-member% joined voice channel %event-voice-channel%"
[member] voice [channel] join [seen by %-string%]
  • [(new|current)] [joined] voice channel - Returns a audiochannel.
  • (old|past|previous) [joined] voice channel - Returns a audiochannel.
  • [(new|current)] [joined] voice - Returns a voicechannel.
  • (old|past|previous) [joined] voice - Returns a voicechannel.
  • [(new|current)] [joined] stage - Returns a stagechannel.
  • (old|past|previous) [joined] stage - Returns a stagechannel.
  • event-guild
  • event-member

Member Voice Leave Event

Requires DiSky v4.23.0-alpha2 No

Fired when a member leaves a voice or stage channel. This includes both disconnecting completely and moving to another channel.

on voice channel leave:
broadcast "%event-member% left voice channel %event-voice-channel%"
[member] voice [channel] leave [seen by %-string%]
  • [(new|current)] [left] voice channel - Returns a audiochannel.
  • (old|past|previous) [left] voice channel - Returns a audiochannel.
  • [(new|current)] [left] voice - Returns a voicechannel.
  • (old|past|previous) [left] voice - Returns a voicechannel.
  • [(new|current)] [left] stage - Returns a stagechannel.
  • (old|past|previous) [left] stage - Returns a stagechannel.
  • event-guild
  • event-member

User Activity Order Update Event

Requires DiSky v4.23.0-alpha2 No

Fired when a user changes their activity order. This event is triggered when a user starts a new activity or changes between activities. Activities include playing games, listening to music, streaming, or custom status messages.

on user activity change:
broadcast "%event-user% is now %event-user's activities%"
[discord] user activity [order] (change|update) [seen by %-string%]

User Avatar Update Event

Requires DiSky v4.23.0-alpha2 No

Fired when a user changes their avatar. This event provides access to both the old and new avatar URLs. It can be used for monitoring profile changes or updating cached user information.

on user avatar change:
broadcast "%event-user% changed their avatar from %previous avatar url% to %current avatar url%"
[discord] user avatar (change|update) [seen by %-string%]
  • [(new|current)] avatar [url] - Returns a string.
  • (old|past|previous) avatar [url] - Returns a string.
  • event-user

User Discriminator Update Event

Requires DiSky v4.23.0-alpha2 No

Fired when a user changes their discriminator. The discriminator is the four-digit number following a username (e.g., #1234). This event provides access to both the old and new discriminator values. Note: With Discord's migration to the new username system, this event may become less relevant.

on user discriminator change:
broadcast "%event-user% changed their discriminator from %previous discriminator% to %current discriminator%"
[discord] user discriminator (change|update) [seen by %-string%]
  • [(new|current)] discriminator - Returns a string.
  • (old|past|previous) discriminator - Returns a string.
  • event-user

User Name Update Event

Requires DiSky v4.23.0-alpha2 No

Fired when a user changes their username (not nickname). This event provides access to both the old and new usernames. It can be used for monitoring identity changes or updating user databases.

on user name change:
broadcast "User changed their name from %previous name% to %current name%"
[discord] user name (change|update) [seen by %-string%]
  • [(new|current)] name - Returns a string.
  • (old|past|previous) name - Returns a string.
  • event-user

User Online Status Update Event

Requires DiSky v4.23.0-alpha2 No

Fired when a user changes their online status. This event provides access to both the old and new online status values. It can be used for tracking user presence, activity patterns, or triggering actions when users come online.

on user online status change:
if current online status = online:
    broadcast "%event-user% has come online"
[discord] user online status (change|update) [seen by %-string%]

User Typing Event

Requires DiSky v4.23.0-alpha2 No

Fired when a user starts typing in a channel. This event is triggered when the typing indicator appears for a user. It can be used to detect activity in channels or for interactive bot responses.

on user typing:
if event-channel is text channel with id "123456789":
    broadcast "%event-user% is typing in the support channel!"
[discord] user typ[e|ing] [seen by %-string%]

User Global Name Update Event

Requires DiSky v4.23.0-alpha2 No

Fired when a user changes their global display name. This event provides access to both the old and new global names. With Discord's new username system, this tracks the display name shown across all servers.

on user global name change:
broadcast "%event-user% changed their display name from '%previous global name%' to '%current global name%'"
[discord] user global name (change|update) [seen by %-string%]
  • [(new|current)] global name - Returns a string.
  • (old|past|previous) global name - Returns a string.
  • event-user