Effects
Forward Message
Forward a message to another channel. No additional content can be added to the message.
Publish/Crosspost Message
Publish or crosspost a message to a news channel. This will only work if the message is in a news channel.
Execute X Using Bot
This effect is for utilities purpose. It will wrap the actual effect from DiSky and execute it using the specified bot. The syntax MUST come from DiSky, and at least ONE bot MUST be loaded (if the specified one is wrong / not loaded)
Change
No description provided.
(add|give) %objects% to (%~objects%) (with|using) %-bot%
increase %~objects% by (%objects%) (with|using) %-bot%
give %~objects% (%objects%) (with|using) %-bot%
set %~objects% to (%objects%) (with|using) %-bot%
remove (all|every) %objects% from (%~objects%) (with|using) %-bot%
(remove|subtract) %objects% from (%~objects%) (with|using) %-bot%
reduce %~objects% by (%objects%) (with|using) %-bot%
(delete|clear) (%~objects%) (with|using) %-bot%
reset (%~objects%) (with|using) %-bot%
Manage Command Permissions
This effect allows you to manage the permissions of slash commands, with the following rules:
- By default, the command is marked as ENABLED, and anyone can see & use it.
- You can DISABLE completely the command (first pattern), only admins will be able to use it.
- Or you can ENABLE the commands for specific PERMISSIONS (second pattern).
disable command{_cmd1} # disable the command for everyone, except the admins.
enable command {_cmd2} for manage server # enable the command only for the users who have the 'manage server' permission.
Update Slash Commands
Update a list of slash commands in a bot (globally) or in a guild (locally).
See the slash commands page for examples.
Unregister Command
Unregister a specific slash command from local or global context of a bot. You must provide the command's name. Keep in mind this SHOULD NOT be used! The best way remains to update bot's commands without the command you want to delete!
Open Modal
No description provided.
Archive / Unarchive Thread
Archive or unarchive a specific thread.
Ban User
Bans a member from a guild.
Starting DiSky v4.20.0, you can just specify a USER ID to ban a user, without having to retrieve the member first!
[discord] ban [the] discord [member] %member% [(due to|because of|with [the] reason) %-string%] [and (delete|remove) %-timespan% [worth ]of messages]
[discord] ban [the] discord [member] %string% (from|of) [the] [guild] %guild% [(due to|because of|with [the] reason) %-string%] # Starting DiSky v4.20.0
Connect / Disconnect Bot
Connect or disconnect a bot to a specific audio channel (or disconnect it from the current one). The bot must have the required permissions to connect to the channel. If using the disconnect pattern, only the guild will be required.
Create Action Channel/Role
No description provided.
# Role
set {_action} to new role action in event-guild
set role name of {_action} to "Member"
create {_action} and store it in {_role}
# Text Channel
set {_action} to new text channel action in event-guild
set channel parent of {_action} to {_category}
set channel name of {_action} to "Text"
create {_action} and store it in {_text}
# Voice Channel
set {_action} to new voice channel action in event-guild
set channel parent of {_action} to {_category}
set channel name of {_action} to "Voice"
set max users of {_action} to 5
create {_action} and store it in {_voice}
Create Emote
Create a new emote in a specific guild. The name must be between 2 and 32 chars and the guild should not have an emote with the same name. The URL will represent the image, and can be either a web URL or a local path.
create new emote named "test" with url "https://static.wikia.nocookie.net/leagueoflegends/images/a/ae/This_Changes_Everything_Emote.png/revision/latest/scale-to-width-down/250?cb=20211019231749" in event-guild and store it in {_emote}
make emote with name "test2" with path "plugins/path/image.png" in event-guild and store it in {_emote}
Create Invite
Create an invitation for a specific channel, and store it in a variable.
Warning
Creating an invitation for a guild is not supported anymore. DiSky will default the invite to the guild's default channel, if any!
See Also the Invite Type
Create Post
Create a new post in a forum channel. The output value will be the newly created thread channel.
Create Scheduled Event
Create a new scheduled event in a specific channel or at a specific place. If you use the second pattern (without channel), you'll have to specify the guild where the event will be created, and a start & end date. If you use the first pattern (with channel), you'll just have to specific the channel itself and a start date. Scheduled events currently only support stage & voice channels.
Create Thread
Create a new thread in a text channel with a base name. The bot used in that effect will automatically join the thread, so you don't have to make it join yourself. If you create a private thread, then you cannot specify a message. Else, the Thread will be created based on the specified message. Creating private thread need the guild to be level 2 or more, else it'll throw an exception.
Defer Interaction
Only usable in interaction event, currently button click/dropdown update/modal event! This will force the interaction to be acknowledge, you have 3 seconds to do so, the effect will send a success message to Discord or hold the interaction to send a message later. Keep in mind that replying in an interaction event will automatically defer the interaction, and therefore you don't need to defer it. If you need to wait more than 3 seconds use the and wait pattern An interaction can only be deferred once!
Destroy Discord Entity
Destroy on Discord the wanted entity.
Edit Message
Edit a message with new content:
In Interactions (SlashCommands/Buttons/SelectMenus)
The effect will, by default, edit the interaction itself, and thus acknowledge it.
If you want to acknowledge an interaction in another way, while also editing the message, you'll have to edit the message directly, by specifying direct
in the pattern:
Anywhere Else
This will simply edit the message with the new desired content. By default, it overrides all the message content (text content, components, embeds, etc...).
Kick Member
Kick a specific member out of its guild. You can also specify a reason if needed.
Load Members
Load every members of a guild. This effect will also cache members that were not, so execution may be delayed. consider calling this effect once, then use the default member expression to get the members.
Lock / Unlock Thread
Lock or unlock a specific thread.
Move/Disconnect Member
Move a member to another voice chat. You can only move a member if they were previously in a voice channel.
Use the second pattern to disconnect/kick the member from its current voice channel. Requires DiSky v4.14.2 or higher.
Move Role Above/Under Role
Move a specific role above or under another role within the same guild. The indexes will be updated automatically.
Mute Member
Mute or unmute a member in their guild.
Open Private Channel
Opens a private channel with a specific user. The opened channel can be null and an exception can be thrown if the user does not accept message.
Pin / Unpin Message
Pin or unpin a message in a text channel or private channel. You can also use is pinned
to check if a message is pinned.
Post Message
Posts a message to a message-channel. You can send messages in a text, private, news, post or thread channel.
- Starting DiSky v4.14.3, you can also reference a message (the bot will then reply to that message).
- Starting DiSky v4.20.0, you can also specify a bot to use to post the message.
Purge Messages
Discord provide a better way to delete multiple messages at once. This effect only works with messages, and a list is recommended here. If you want to delete a single message, use the destroy effect.
Reply With
Reply with a specific message to the channel where a message-event was triggered. It can also be used to acknowledge & reply to an interaction, such as button click or slash command. In interaction only, you can use the keyword 'hidden' to reply with an ephemeral message (only the executor can see it). Therefore, the value stored in the variable, if specified, will be an interaction hook, and not a compete message. You can also provide a message as reference. The replied message be linked with the provided one.
Starting DiSky v4.14.3, you can use reply with premium message
to reply with a Discord-made message, meant to warn users about a feature they have to pay for. The bot/server MUST have monetization enabled for this to work!
Retrieve Webhooks
Retrieve all webhooks from a specific channel or guild.
Retrieve Start Message
Retrieve the start message of a thread channel (this will only work in thread channels). Keep in mind the start message may not always be available, and the effect will return none
if it's not.
If you want to get the first message (first != start), you can simply use the retrieve last X messages
effect, and get the first message from the list.
Possible Errors
MISSING_ACCESS
: The bot does not have access to the thread channel.MISSING_PERMISSION
: The bot does not have themessage history
permission in the thread channel.
Retrieve Bans
No description provided.
Retrieve Guild Emotes
Retrieve (and cache) all emotes from a specific guild.
Retrieve Interested Members
Retrieve (and cache) the interested members from a scheduled event.
Retrieve Invite
Retrieve an invitation from a guild using its invite code/ID.
Retrieve Invites
Retrieve all invites from a specific guild.
Retrieve Logs
Retrieve the audit logs of a guild.
Retrieve Member
No description provided.
Retrieve Message
No description provided.
Retrieve Messages
Retrieve last X messages from a specific message channel. You can retrieve up to 100 last messages, others will be ignored. Don't forget to use 'purge' effect to delete a lot of messages the most enhanced way ever.
Retrieve Owner
Retrieve the owner of a specific guild.
Retrieve Profile
Retrieve the profile of the specified user. Profile represent mainly the banner of the user, could return the accent color if non set.
Retrieve Sticker
Retrieve a sticker from a guild using its per-guild name. This will return a sticker from the guild, not a global one.
Retrieve Stickers
Retrieve every stickers (and cache them) from a specific guild.
Retrieve Thread Members
Retrieve every members (and cache them) from a specific thread.
Retrieve Threads
Retrieve every threads (and cache them) from a specific guild. This effect will only get back the ACTIVE thread, and will pass on the archived ones.
Retrieve User
No description provided.
Retrieve Event Value
Retrieve an event-value instead of getting it. Only available in some events, that actually contains retrieve values. For more information, please check this section!
Send typing
Sends the typing status to discord. This is what is used to make the message "X is typing..." appear. Typing status lasts for 10 seconds.
Shutdown Bot
Stop and disconnect a loaded bot from DiSky & discord. If any requests was still remaining, they will be executed before the actual bot shutdown Using the force pattern will cancel all requests and shutdown the bot instantly.
Suppress Reaction
Suppress one or more reactions of a message. You can also specific the user who added the emote to remove it one time. Without any specified user, it will be the bot's self user that removes the emote.
TimeOut Member
Timeout a member (temporal exclusion) for a specific duration and with an optional reason. You can either timeout UNTIL a specific date (Skript date), or FOR a specific timespan (Skript timespan). This also can be used to remove the current time out, if the bot has the permission to do so.
Unban User
Unbans a user from a guild.
Download Attachment
Download the specific attachment to a file path.
Edit Event-Component
Edit the event component directly, without editing the whole message again. This effect only works in button, string dropdown and entities dropdown events.
This will Acknowledge the interaction!
For concrete usage and example, check examples here for buttons and here for dropdowns.
Edit Message's Component
Modify a single component via its ID in a specific message. This effect can only handle buttons and select menus.
This will NOT Acknowledge the interaction!
Add Embed field/inline field
No description provided.
add field named "field_name" with value "field_description" to embed
add field named "field_name" with value "field_description" to fields of embed
add inline field named "field_name" with value "field_description" to embed
add inline field named "field_name" with value "field_description" to fields of embed
Add Welcome Screen Channel
Add a channel to the welcome screen of a guild. Can only be used in a 'modify welcome screen' section.
discord command setup <guild>:
trigger:
modify welcome screen of arg-1:
change the screen description to "Welcome to the server! Please read the rules and get roles before chatting."
add channel with id "937001799896956991" named "Read our rules" with reaction "?" to the screen
add channel with id "952199041335316520" named "Get roles" with reaction "??" to the screen
Welcome Screen Description
Change the description of the welcome screen. Can only be used in a 'modify welcome screen' section.
discord command setup <guild>:
trigger:
modify welcome screen of arg-1:
change the screen description to "Welcome to the server! Please read the rules and get roles before chatting."
add channel with id "937001799896956991" named "Read our rules" with reaction "?" to the screen
add channel with id "952199041335316520" named "Get roles" with reaction "??" to the screen
Register Webhook Client
Register a new webhook client with the specified name and URL. The name is only used for internal purposes and can be anything you want; it'll be used in other syntax to reference the registered webhook client. The URL should be a valid Discord webhook URL (containing both the ID and the token). More information & examples can be found on the webhooks page.
See the webhooks page for examples.
Unregister Webhook Client
Unregister a webhook client with the specified name. This will remove the webhook client from the bot's memory, and it will no longer be usable in any further syntax.
Retrieve Webhooks
Retrieve all webhooks in a specific channel or guild. The output will be a list of webhook clients, which can be used in other webhook-related syntax.
See the webhooks page for examples.
Make Webhook Post Message
Make the specified webhook client post a message to its channel. More information & examples can be found on the webhooks page.
See the webhooks page for examples.