DiSky DiSky v5.0.0-b1

Effects

effect

Every effect DiSky registers, in one place: the ones attached to a Discord entity (kick, time out, move to voice channel…) plus the global ones. Each effect still lives on its own page — the link icon copies that address.

55 effects 12 sources
55 / 55
effectasync since 5.0.0-a1
Feeling lost? This is covered in the guide Managing messages
destroy [the] %message/role/channel/emote/webhook/scheduledevent/guildsticker/automodrule%

Deletes a Discord entity: a message, a role, any channel, a custom emoji, a webhook, a scheduled event, a guild sticker or an automod rule.

To delete several messages at once, use the purge effect instead.

Helpful?
effectasync since 5.0.0-a1
Feeling lost? This is covered in the guide Sending messages
(post|dispatch) %string/embedbuilder/component/pollbuilder% (in|to) [the] [channel] %messagechannel%

Posts a text, an embed, a component or a poll in a message channel.

The sent message is discarded; build a message and read 'the result of' it to keep it.

mentioned inCreating polls
Helpful?
effectasync since 5.0.0-a1
[discord] ban [the] [user] [with] [id] %string% (from|of) [the] [guild] %guild% [and (delete|remove) %-timespan% [worth ]of message[s]] [(due to|because of|with [the] reason) %-string%]

Bans a user ID from a guild without retrieving the member first.

Works on users who already left the guild.

Helpful?
effectasync since 5.0.0-a2
Feeling lost? This is covered in the guide Posting through a webhook
[discord] delete [the] webhook message %string/message% of [the] [webhook] [client] %webhookclient% [in [the] thread %-threadchannel%]

Deletes a message that was sent through a webhook, by its message or its id.

A webhook can only delete its own messages. Name the thread when the message lives in one.

Helpful?
effectasync since 5.0.0-a2
Feeling lost? This is covered in the guide Posting through a webhook
edit [the] webhook message %string/message% of [the] [webhook] [client] %webhookclient% (with|to show) %string/embedbuilder/component/messageaction% [in [the] thread %-threadchannel%]

Edits a message that was sent through a webhook, by its message or its id.

A webhook can only edit its own messages. Name the thread when the message lives in one.

Helpful?
effectsince 5.0.0-a1
Feeling lost? This is covered in the guide Cache and await Feeling lost? This is covered in the guide Components
await <.+>

Runs an effect on a background thread and waits for it to fully complete before continuing.

On a DiSky REST property change this blocks until Discord confirms the change (instead of fire-and-forget); on a dual cache/online property read it uses the online value.

Redundant on effects that are already async.

mentioned inLinking
Helpful?
effectsince 5.0.0-a1
Feeling lost? This is covered in the guide Sending messages
reply with [:hidden] %string/embedbuilder/messageaction/component/pollbuilder% [with [the] reference[d] [message] %-message%]

Replies to the current event: in a message event the reply is posted in the event's channel, in an interaction event (slash command, button, ...) it answers the interaction.

'hidden' makes an interaction reply ephemeral (only the user who triggered it sees it); it is ignored outside interactions.

'with reference' links the reply to a message, like Discord's own reply feature.

A message builder can be replied with too: its content, embeds, attachments and poll are sent, its own channel is ignored. A component (a container, a row, a button...) is sent on its own.

Helpful?
effectsince 5.0.0-a1
show [the] [modal] %modal% [to [the] event-user]

Opens a modal for the user who triggered the current interaction: a button click, a dropdown click or a slash command. It is the interaction's answer, so nothing else may have replied or deferred it before, and a modal cannot answer another modal.

What the user submits comes back in 'on modal received'.

Helpful?
effectsince 5.0.0-a1
(defer|acknowledge) [the] interaction [:hidden] [edit:and (edit|update)]

Acknowledges the current interaction without answering it yet, which buys up to 15 minutes to reply instead of the 3 seconds Discord gives by default. A later 'reply with' goes through the deferred answer.

'hidden' makes the eventual reply ephemeral. 'and edit' (on a button or dropdown click) acknowledges without any 'thinking...' state, for when the script will only edit the message.

Helpful?
effectsince 5.0.0-a1
edit [the] interaction components (with|to [show]) [the] [components] %-components%

Replaces every component of the message whose button or dropdown was just clicked, as the answer to that interaction (or through it, if it was deferred 'and edit').

Bare buttons are grouped into rows like on a message builder. Pass nothing to strip the components.

Helpful?
effectsince 5.0.0-a1
replace [the] component with [the] [:unique] id %string/number% (of|in|from) [the] [message] %message% (with|by) %component%

Swaps one component of a sent message, found by its text id (a button, a dropdown) or its unique id (any component, including text displays and sections inside a container), for a new one. Every other component is kept as it is.

Inside a button or dropdown click on that same message, the edit is the interaction's answer.

Helpful?
effectsince 5.0.0-a2
Feeling lost? This is covered in the guide Registering commands
update [the] [discord] [application] command[s] [to] %applicationcommands% (globally (in|for|of|on) [the] [bot] %-bot%|in [the] [guild] %-guild%)

Replaces every application command of a bot (globally) or of a guild with the given ones: what is not in the list is removed from Discord. This is the one call to make from 'on ready' / 'on guild ready'.

Global commands take up to an hour to show up for users; guild commands are immediate. Discord limits how often a guild's command list can be replaced (200 times a day).

Once done, 'command id of' each command is known.

Helpful?
effectsince 5.0.0-a2
Feeling lost? This is covered in the guide Registering commands
register [the] [discord] [application] command[s] %applicationcommands% (globally (in|for|of|on) [the] [bot] %-bot%|in [the] [guild] %-guild%)

Adds or replaces (by name) one or more application commands of a bot (globally) or of a guild, leaving the other registered commands alone. Use 'update the discord commands' to replace the whole list.

Once done, 'command id of' each command is known.

Helpful?
effectsince 5.0.0-a2
Feeling lost? This is covered in the guide Registering commands
unregister [the] [discord] [application] command[s] %strings/applicationcommands% (globally (from|of|in) [the] [bot] %-bot%|(from|of|in) [the] [guild] %-guild%)
unregister all [the] [discord] [application] commands (globally (from|of|in) [the] [bot] %-bot%|(from|of|in) [the] [guild] %-guild%)

Removes application commands from a bot (globally) or from a guild: by command object, by name, by id, or all of them.

A command object whose id is known is deleted directly; otherwise the registered commands are looked up and every one with that name (and type, for a command object) is removed.

Helpful?
effectsince 5.0.0-a2
Feeling lost? This is covered in the guide Command settings
localize [the] (name|:description) of %applicationcommand/slashoption/subcommand/subcommandgroup/slashchoice% (in|for) [the] [locale] %string% (as|to) %string%

Sets the name or the description shown to users of a given Discord locale, for an application command, a slash option, a subcommand, a subcommand group or a choice (choices only have a name).

Locales are Discord's codes ("fr", "de", "en-GB", "pt-BR", ...) or language names ("french").

Helpful?
effectsince 5.0.0-a2
Feeling lost? This is covered in the guide Slash options
return [the] [slash] (choices|completions) %slashchoices/strings/numbers%

Answers an autocomplete request with up to 25 suggestions and stops the trigger. Give choices, or plain texts / numbers (used as both the label and the value).

Only in 'on slash completion' and in an 'on completion request:' section of a slash command structure.

Helpful?

Bot

3
effectsince 5.0.0-a1
[discord] connect [the] [bot] %bot% to [the] [(audio|voice)] [channel] %audiochannel%

Connects a bot to an audio (voice or stage) channel.

The bot needs the Connect permission on that channel.

Helpful?
effectsince 5.0.0-a1
disconnect [[the] [bot] %-bot%] from [the] [guild] %guild%

Closes a bot's audio connection in a guild.

Without a bot, the one owning the given guild is used.

Helpful?
effectasync since 5.0.0-a1
make [the] %bot% leave [the] [guild] %guild%

Makes a bot leave a guild. It loses every access to that server until re-invited.

Helpful?
effectasync since 5.0.0-a1
[discord] ban [the] [member] %member% [and (delete|remove) %-timespan% [worth ]of message[s]] [(due to|because of|with [the] reason) %-string%]

Bans a member from their guild, optionally deleting their recent messages.

The bot needs the Ban Members permission and a role above the target's.

Helpful?
effectasync since 5.0.0-a1
[voice] deafen [the] [member] %member% [(due to|because of|with [the] reason) %-string%]

Server-deafens a member. The member must be connected to a voice channel.

Helpful?
effectasync since 5.0.0-a1
[voice] disconnect [the] [member] %member%

Disconnects a member from the voice channel they are in.

Helpful?
effectasync since 5.0.0-a1
[discord] kick [the] [member] %member% [(due to|because of|with [the] reason) %-string%]

Kicks a member from their guild.

mentioned inErrors
Helpful?
effectasync since 5.0.0-a1
[voice] move [the] [member] %member% to [the] [voice] [channel] %audiochannel%

Moves a member to another voice channel. The member must already be connected.

Helpful?
effectasync since 5.0.0-a1
[voice] mute [the] [member] %member% [(due to|because of|with [the] reason) %-string%]

Server-mutes a member. The member must be connected to a voice channel.

Helpful?
effectasync since 5.0.0-a1
(stop|remove) [the] time[( |-)]out (of|from) [the] [member] %member% [(due to|because of|with [the] reason) %-string%]

Lifts a member's time out.

Helpful?
effectasync since 5.0.0-a1
time[( |-)]out [the] [member] %member% for %timespan% [(due to|because of|with [the] reason) %-string%]

Times a member out for a duration (Discord caps it at 28 days).

A timed-out member cannot talk, react, or join voice channels.

Helpful?
effectasync since 5.0.0-a1
time[( |-)]out [the] [member] %member% until %date% [(due to|because of|with [the] reason) %-string%]

Times a member out until a given date (Discord caps it at 28 days out).

Helpful?
effectasync since 5.0.0-a1
[voice] un[ |-]deafen [the] [member] %member% [(due to|because of|with [the] reason) %-string%]

Lifts a member's server deafen.

Helpful?
effectasync since 5.0.0-a1
[voice] un[ |-]mute [the] [member] %member% [(due to|because of|with [the] reason) %-string%]

Lifts a member's server mute.

Helpful?
effectasync since 5.0.0-a1
[discord] un[-| ]ban [the] [user] %user% (from|in) [the] [guild] %guild% [(due to|because of|with [the] reason) %-string%]

Lifts a user's ban on a guild.

Helpful?
effectasync since 5.0.0-a1
move [the] [discord] role %role% above [the] [discord] [role] %role%

Moves a role directly above another one of the same guild. Indexes update automatically.

Helpful?
effectasync since 5.0.0-a1
move [the] [discord] role %role% down [%-number% time[s]]

Moves a role down by a number of positions (one by default).

Helpful?
effectasync since 5.0.0-a1
move [the] [discord] role %role% under [the] [discord] [role] %role%

Moves a role directly below another one of the same guild. Indexes update automatically.

Helpful?
effectasync since 5.0.0-a1
move [the] [discord] role %role% up [%-number% time[s]]

Moves a role up by a number of positions (one by default).

Helpful?
effectasync since 5.0.0-a1
Feeling lost? This is covered in the guide Managing messages
edit [the] [message] %message% (with|to show) %string/embedbuilder/component%

Replaces a message's content or embeds. Only the bot's own messages can be edited.

A text replaces the content, an embed replaces the embeds.

Helpful?
effectasync since 5.0.0-a1
[discord] (publish|crosspost) [the] [message] %message%

Publishes (crossposts) a message to every guild following its channel.

Only works in a news/announcement channel.

mentioned inManaging messages
Helpful?
effectsince 5.0.0-a1
Feeling lost? This is covered in the guide Managing messages
purge [the] [message[s]] %messages%

Deletes several messages at once, using Discord's bulk-delete endpoint.

Messages are grouped per channel; a channel with a single message falls back to a plain delete.

To delete one message, use the destroy effect instead.

Helpful?
effectasync since 5.0.0-a1
Feeling lost? This is covered in the guide Reactions
react to [the] [message] %message% with [the] %emojis/strings%

Adds one or more reactions to a message, as the bot.

An emoji or emote object reacts with that emoji; a text is either a unicode emoji or the formatted '<:name:id>' form of a custom one.

Helpful?
effectasync since 5.0.0-a1
(suppress|hide) [the] [discord] [link] embed[s] [message] (of|from) [the] [discord] [message] %message%

Hides the link embeds Discord generated for a message.

mentioned inManaging messages
Helpful?
effectasync since 5.0.0-a1
unpin [the] [message] %message%

Removes a message from its channel's pins.

mentioned inManaging messages
Helpful?
effectasync since 5.0.0-a1
archive [the] [thread] %threadchannel% [(due to|because of|with [the] reason) %-string%]

Archives a thread, closing it to new messages until someone posts again.

Helpful?
effectasync since 5.0.0-a1
lock [the] [thread] %threadchannel% [(due to|because of|with [the] reason) %-string%]

Locks a thread: only moderators can unarchive it afterwards.

Helpful?
effectasync since 5.0.0-a1
unarchive [the] [thread] %threadchannel% [(due to|because of|with [the] reason) %-string%]

Re-opens an archived thread.

Helpful?
effectasync since 5.0.0-a1
unlock [the] [thread] %threadchannel% [(due to|because of|with [the] reason) %-string%]

Unlocks a locked thread.

Helpful?
effectasync since 5.0.0-a1
[discord] (send|show) typing [status] (in|to) [the] [channel] %messagechannel%

Sends the typing status to a channel - what makes the "X is typing..." indicator appear.

It lasts 10 seconds, or until the bot posts a message.

mentioned inManaging messages
Helpful?
effectasync since 5.0.0-a1
Feeling lost? This is covered in the guide Reactions
suppress [the] %emotes% [(of|from) [the] %-user%] (of|from) [the] %message%

Removes one or more reactions from a message.

Naming a user removes that user's reaction; without one, the bot's own reaction is removed.

Helpful?
effectsince 5.0.0-b1
download [the] [attachment] %attachment% (in|to) [the] [(folder|file|path)] %string%

Saves a message attachment to a file on the server, waiting until the download is complete.

A path ending with '/' or '\', or naming an existing folder, is a folder: the file is saved in it under the attachment's file name. Any other path is the file itself. Missing folders are created, and an existing file is overwritten.

A relative path starts from the server's root folder (where the server jar is).

Helpful?
effectasync since 5.0.0-a2
Feeling lost? This is covered in the guide Posting through a webhook
make [the] [webhook] [client] %webhookclient% (post|send|speak) %string/embedbuilder/component/messageaction% [with [the] username %-string%] [[and] [with] [the] avatar [url] %-string%] [in [the] thread %-threadchannel%]

Makes a webhook, or a webhook client built from a URL, post a message.

The username and avatar override the webhook's own for this message only. The sent message is discarded; build a webhook message and read 'the build result of' it to keep it.

Helpful?
effectasync since 5.0.0-a2
Feeling lost? This is covered in the guide Welcome screen
update [the] welcome screen using %welcomescreenbuilder%

Sends a welcome screen builder to Discord, applying every field that was set on it.

The effect waits for Discord to answer, so the next line sees the new screen.

Helpful?
An unhandled error has occurred. Reload 🗙

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.