Skip to content
AsperTheDog edited this page May 7, 2022 · 4 revisions

Global Events

Global events represent the nodes that will start an execution whenever discord detects that the specified event has happened.

Global events have an event output that will mark the beginning of the execution and a value output with the context of the event. This context is always a structure and contains things relevant to the event. For example an event triggered when someone sends a message will attach as context properties of the message like what channel was it sent to, who sent it or what the content of the message is.

Whenever an event is triggered the execution happens in isolation for each event node present in the board. This means that if you have three event nodes with the same event these will all be executed at the same time and independently from each other. This also means that the system does not have to wait for an event to finish executing for another to be triggered.

The events are the following:

  • “on message received” is triggered when someone sends a message in any text channel in a guild
  • “on message deleted” is triggered when someone deletes a message in a guild
  • “on message edited” is triggered when someone edits a message in a guild
  • “on typing” is triggered when someone starts typing in a guild
  • “on reaction added” is triggered when someone reacts to a message in a guild
  • “on reaction removed” is triggered when someone removes a reaction they made in a guild
  • “on reactions cleared” is triggered when someone removes all reactions from a message
  • “on channel created” is triggered when someone creates a new channel in a guild
  • “on channel deleted” is triggered when someone deletes a channel in a guild
  • “on channel edited” is triggered when someone edits channel properties in a guild
  • “on channel pins updated” is triggered when someone pins or unpins a message from a channel
  • “on thread joined” is triggered when a thread is created or the bot joins it
  • “on thread deleted” is triggered when a thread is deleted or the bot leaves it
  • “on thread remove” is triggered when a thread is removed
  • “on member joined thread” is triggered when a user joins a thread
  • “on member left thread” is triggered when a user leaves a thread
  • “on thread updated” is triggered when the properties of a thread are changed
  • “on webhooks updated” is triggered when the webhooks are modified
  • “on member joined” is triggered when a member joins the guild
  • “on member left” is triggered when a member leaves the guild
  • “on member updated server profile” is triggered when a user modifies their server profile
  • “on member presence update” is triggered when a user updates their presence
  • “on member voice updated” is triggered when a user changes their voice state in a voice channel
  • “on member banned” is triggered when a user is banned from a guild
  • “on member unbanned” is triggered when a user is unbanned from a guild
  • “on user update profile” is triggered when a user updates their global profile
  • “on guild updated” is triggered when the properties of a guild are modified
  • “on role created” is triggered when a role is created in a guild
  • “on role deleted” is triggered when a role is deleted in a guild
  • “on role updated” is triggered when the properties of a role are modified
  • “on emoji updated” is triggered when the properties of an emoji are modified
  • “on sticker updated” is triggered when the properties of a sticker are modified
  • “on event created” is triggered when a scheduled event is created in a guild
  • “on event deleted” is triggered when a scheduled event is canceled in a guild
  • “on event updated” is triggered when the properties of a scheduled event are modified
  • “on event subscribed” is triggered when someone subscribes to an event
  • “on event unsubscribed” is triggered when someone removes their subscription to an event
  • “on stage instance created” is triggered when a stage channel is created in a guild
  • “on stage instance deleted” is triggered when a stage channel is deleted from a guild
  • “on stage instance updated” is triggered when the properties of a stage channel are modified
  • “on invite created” is triggered when someone creates an invite to the guild
  • “on invite deleted” is triggered when someone deletes an invite to the guild

Pipelines

Pipelines are used to mark what the custom action you are making will have as inputs and outputs. There are four main types whose names are self explanatory:

  • Value input
  • Value output
  • Event input
  • Event output

These will act as "gateways" between the data they receive from outside and the use you give them in the action. In other words. If you put an event input node in the board that will create an input in the resulting action. Whatever is connected to that input will be transferred into the board through that pipeline.

Actions

Actions are the essence of the program. They are what is actually executed and what defines the behavior of the program. The rest is just context for the actions. These are the stars of the show.

Since they are so many and so varied each action has its own little page talking about what it does in detail in the page. Just look up any action in the list and hit the blue "?" button!!

As an important general concept to take into account:

  • Value inputs request their value at the moment of executions, so if the value is modified several times before the action is executed it will retrieve the last one
  • Value outputs send the resulting value during an execution, so if an action A has a value input connected to the output of action B before action B has been executed, then the value retrieved will be the initial value of the value type

Variables

Variable nodes store data for you and help you organize your program better. It also allows you to put constant values directly into the board (for example, if you just want the number 2 then you just put a constant with the value 2 and connect it to wherever you want that number).

There are two main types of variable nodes: constants and non constants.

Constant nodes don't have a variable name and won't sinchronize with any other variable node in the board. Non constant nodes require a variable name. Variable nodes that share the same name will act as one single variable. This means they will be in sync and share the same value throughout the execution, making it so that changes made to one node will be reflected on the connections to the other node.

Clone this wiki locally