← Docs

Node reference

Every one of the 136 nodes in the builder, generated from the live catalog. Dots are typed pins; a * marks a required input.

Discord

Message sent

Trigger

Fires when a message is sent in a watched channel.

discord.message

Outputs

  • Contentstring
  • Authormember
  • Channelchannel
  • Messagemessage
  • Mentioned memberslist<member>
  • Pinged role idslist<string>

Member joined

Trigger

Fires when someone joins the server.

discord.member-join

Outputs

  • Membermember

Reaction added

Trigger

Fires when a member reacts to a message (build reaction roles with this).

discord.reaction-add

Outputs

  • Membermember
  • Emojistring
  • Message IDstring
  • Channelchannel

Reaction removed

Trigger

Fires when a member removes a reaction (pair with “Reaction added” to take a role back).

discord.reaction-remove

Outputs

  • Membermember
  • Emojistring
  • Message IDstring
  • Channelchannel

Member left

Trigger

Fires when someone leaves or is removed from the server.

discord.member-leave

Outputs

  • Membermember
  • Days in servernumber

Member banned

Trigger

Fires when a user is banned from the server (build a mod log with this).

discord.member-banned

Outputs

  • Useruser
  • Reasonstring

Member unbanned

Trigger

Fires when a ban is lifted.

discord.member-unbanned

Outputs

  • Useruser

Message edited

Trigger

Fires when a message is edited (before + after content for an edit log).

discord.message-edit

Outputs

  • Beforestring
  • Afterstring
  • Authormember
  • Channelchannel
  • Messagemessage

Message deleted

Trigger

Fires when a message is deleted (content + author for a delete log).

discord.message-delete

Outputs

  • Contentstring
  • Authormember
  • Channelchannel

Roles changed

Trigger

Fires when a member's roles change (one trigger per role added/removed).

discord.role-change

Outputs

  • Membermember
  • Added rolestring
  • Removed rolestring

Nickname changed

Trigger

Fires when a member's nickname changes (before + after).

discord.nickname-change

Outputs

  • Membermember
  • Beforestring
  • Afterstring

Channel created

Trigger

Fires when a channel is created.

discord.channel-created

Outputs

  • Channelchannel
  • Namestring

Channel deleted

Trigger

Fires when a channel is deleted.

discord.channel-deleted

Outputs

  • Namestring
  • Channel IDstring

Voice state changed

Trigger

Fires when a member joins, leaves, or moves voice channels (build join-to-create with this).

discord.voice-update

Outputs

  • Membermember
  • From channelchannel
  • To channelchannel
  • Actionstring

Has role?

Condition

True when the member has the given role.

discord.has-role

Inputs

  • Member*member
  • Role*role

Outputs

  • Matchedboolean

Send message

Action

Sends a message to a channel.

discord.send-message

Inputs

  • Channel*channel
  • Content*string

Outputs

  • Sent messagemessage

Needs Discord permission: SendMessages

Reply to message

Action

Replies directly to a message (e.g. the one that triggered the flow).

discord.reply

Inputs

  • Message*message
  • Content*string

Outputs

  • Replymessage

Needs Discord permission: SendMessages

Send embed

Action

Sends a rich embed to a channel.

discord.send-embed

Inputs

  • Channel*channel
  • Titlestring
  • Descriptionstring
  • Colorstring

Outputs

  • Sent messagemessage

Needs Discord permission: SendMessages, EmbedLinks

Send DM

Action

Sends a direct message to a user (best-effort — DMs may be closed).

discord.send-dm

Inputs

  • User*user
  • Content*string

Add reaction

Action

Reacts to a message with an emoji.

discord.add-reaction

Inputs

  • Message*message
  • Emoji*string

Needs Discord permission: AddReactions

Delete message

Action

Deletes a message.

discord.delete-message

Inputs

  • Message*message

Needs Discord permission: ManageMessages

Pin message

Action

Pins a message in its channel.

discord.pin-message

Inputs

  • Message*message

Needs Discord permission: ManageMessages

Create thread

Action

Opens a new thread in a channel.

discord.create-thread

Inputs

  • Channel*channel
  • Name*string

Outputs

  • Threadchannel

Needs Discord permission: CreatePublicThreads

Add role

Action

Gives a member a role.

discord.add-role

Inputs

  • Member*member
  • Role*role

Needs Discord permission: ManageRoles

Remove role

Action

Takes a role away from a member.

discord.remove-role

Inputs

  • Member*member
  • Role*role

Needs Discord permission: ManageRoles

Timeout member

Action

Times a member out for a number of minutes.

discord.timeout-member

Inputs

  • Member*member
  • Minutes*number
  • Reasonstring

Needs Discord permission: ModerateMembers

Kick member

Action

Removes a member from the server.

discord.kick-member

Inputs

  • Member*member
  • Reasonstring

Needs Discord permission: KickMembers

Ban member

Action

Bans a user from the server.

discord.ban-member

Inputs

  • User*user
  • Reasonstring

Needs Discord permission: BanMembers

Edit message

Action

Edits a message the bot sent earlier.

discord.edit-message

Inputs

  • Message*message
  • New contentstring
  • Message (builder)any

Clear reactions

Action

Removes all reactions from a message.

discord.clear-reactions

Inputs

  • Message*message

Needs Discord permission: ManageMessages

Publish (crosspost)

Action

Publishes a message in an announcement channel to following servers.

discord.crosspost

Inputs

  • Message*message

Needs Discord permission: ManageMessages

Purge messages

Action

Bulk-deletes recent messages in a channel (up to 100, newer than 14 days).

discord.purge

Inputs

  • Channel*channel
  • How many*number

Outputs

  • Deletednumber

Needs Discord permission: ManageMessages

Set slowmode

Action

Sets a channel’s slowmode (seconds between messages; 0 to clear).

discord.set-slowmode

Inputs

  • Channel*channel
  • Seconds*number

Needs Discord permission: ManageChannels

Rename channel

Action

Renames a channel (great for live counters).

discord.set-channel-name

Inputs

  • Channel*channel
  • Name*string

Needs Discord permission: ManageChannels

Create channel

Action

Creates a new channel, optionally under a category.

discord.create-channel

Inputs

  • Name*string
  • Type*string
  • Category IDstring
  • Private (staff-only)boolean
  • Staff rolerole
  • Allow duplicatesboolean

Outputs

  • Channelchannel

Needs Discord permission: ManageChannels

Set nickname

Action

Changes a member’s nickname.

discord.set-nickname

Inputs

  • Member*member
  • Nickname*string

Needs Discord permission: ManageNicknames

Move to voice

Action

Moves a member into a voice channel.

discord.move-voice

Inputs

  • Member*member
  • Voice channel*channel

Needs Discord permission: MoveMembers

Disconnect from voice

Action

Kicks a member out of voice.

discord.disconnect-voice

Inputs

  • Member*member

Needs Discord permission: MoveMembers

Toggle role

Action

Adds the role if the member lacks it, removes it if they have it.

discord.toggle-role

Inputs

  • Member*member
  • Role*role

Outputs

  • Added?boolean

Needs Discord permission: ManageRoles

Bot latency

Value

The bot's current round-trip latency in milliseconds (build a ping command).

discord.bot-latency

Outputs

  • Latency (ms)number

Member count

Value

How many members are in the server.

discord.member-count

Outputs

  • Membersnumber

Reaction count

Value

How many people reacted to a message with an emoji (build a starboard).

discord.reaction-count

Inputs

  • Message*message
  • Emoji*string

Outputs

  • Countnumber

Who reacted

Value

The users who reacted to a message with an emoji (loop over them).

discord.reactors

Inputs

  • Message*message
  • Emoji*string

Outputs

  • Userslist<user>

Get a message

Value

Loads a message by channel + id (so a later flow can edit or read it).

discord.fetch-message

Inputs

  • Channel*channel
  • Message ID*string

Outputs

  • Messagemessage
  • Contentstring

Lock / unlock channel

Action

Allows or denies sending messages for a role (or @everyone) in a channel — lockdowns and ticket privacy.

discord.lock-channel

Inputs

  • Channel*channel
  • Locked?*boolean
  • Rolerole

Needs Discord permission: ManageRoles, ManageChannels

Delete channel

Action

Deletes a channel (ticket close, empty temp-voice cleanup).

discord.delete-channel

Inputs

  • Channel*channel

Needs Discord permission: ManageChannels

Button clicked

Trigger

Fires when someone clicks a button this bot sent. Set “Button id” to react to one specific button (build tickets, self-roles, verify).

discord.button-click

Inputs

  • Button idstring

Outputs

  • Membermember
  • Channelchannel
  • Messagemessage
  • Button idstring

Menu choice made

Trigger

Fires when someone picks from a select menu this bot sent.

discord.select

Inputs

  • Menu idstring

Outputs

  • Membermember
  • Channelchannel
  • Chosen valueslist<string>

Form submitted

Trigger

Fires when someone submits a form (modal) this bot opened. Field values arrive as a list of { id, value }. NOTE: opening a form from a button is a fast-follow — see ADR 0025.

discord.modal-submit

Inputs

  • Form idstring

Outputs

  • Membermember
  • Channelchannel
  • Fieldslist<any>

Slash command

Trigger

Fires when someone runs a /command on this server. Set the name, options, and (optionally) a required permission. Reply with “Reply to command”.

discord.command

Inputs

  • Command name*string
  • Descriptionstring
  • Optionsany
  • Required permissionstring

Outputs

  • Membermember
  • Channelchannel
  • Optionslist<any>

Command option

Value

Reads one of a slash command's option values by name.

command.option

Inputs

  • Options*list<any>
  • Option name*string

Outputs

  • Valueany

Reply privately

Action

Replies privately to whoever ran the slash command OR clicked the button that started this flow (only they see it). Use a plain-text reply, or open the builder for a rich Components V2 message.

discord.reply-command

Inputs

  • Reply (text)string
  • Rich messageany

Send buttons

Action

Sends a message with up to 5 buttons. One button per line: “Label | id | style” (style = primary/secondary/success/danger). Clicks fire “Button clicked”.

discord.send-buttons

Inputs

  • Channel*channel
  • Message*string
  • Buttons*string

Outputs

  • Sent messagemessage

Needs Discord permission: SendMessages

Send menu

Action

Sends a message with a select menu. One option per line: “Label | value”. Choices fire “Menu choice made”.

discord.send-select

Inputs

  • Channel*channel
  • Message*string
  • Menu id*string
  • Options*string
  • Placeholderstring

Outputs

  • Sent messagemessage

Needs Discord permission: SendMessages

Send message

Action

Sends a rich message — text, embeds, images, buttons, menus — to a channel, a DM, or as a reply. Built with the message builder.

discord.send

Inputs

  • Send to*string
  • Channelchannel
  • Useruser
  • Reply tomessage
  • Membermember
  • Message*any

Outputs

  • Sent messagemessage

Needs Discord permission: SendMessages, EmbedLinks

Update panel

Action

Posts a message the first time, then edits that same message on every later run with the same name — a live panel (e.g. an in-game player count). Self-heals if the message was deleted.

discord.update-panel

Inputs

  • Panel name*string
  • Channel*channel
  • Membermember
  • Useruser
  • Message*any

Outputs

  • Panel messagemessage

Needs Discord permission: SendMessages, EmbedLinks

ER:LC

Emergency call

Trigger

Fires on an in-game emergency call (includes the map location).

erlc.emergency-call

Outputs

  • Callerplayer
  • Messagestring
  • Locationstring

Player joined

Trigger

Fires when a player joins the in-game server.

erlc.player-join

Outputs

  • Playerplayer
  • Player countnumber

Player left

Trigger

Fires when a player leaves the in-game server.

erlc.player-leave

Outputs

  • Playerplayer
  • Player countnumber

Player count crossed

Trigger

Fires when the in-game player count rises to or above a threshold (set it in the flow with a Branch).

erlc.player-count

Outputs

  • Player countnumber
  • Max playersnumber

Server status

Value

Reads the in-game server: player count, max players, queue length, staff online (players in-game with a staff rank) and name.

erlc.server-status

Outputs

  • Playersnumber
  • Max playersnumber
  • In queuenumber
  • Staff onlinenumber
  • Namestring

Needs Discord permission: ManageGuild

Players in-game

Value

The list of players currently in the server (loop over them with For each).

erlc.players

Outputs

  • Playerslist<player>

Needs Discord permission: ManageGuild

Staff roster

Value

Your server's FULL staff roster (every Admin/Mod/Helper, online or not) — a list of { id, name, rank }. For how many staff are in-game right now, use Server status → Staff online.

erlc.staff

Outputs

  • Stafflist<any>

Needs Discord permission: ManageGuild

Vehicles spawned

Value

Vehicles currently spawned in-game — a list of { owner, name, texture }.

erlc.vehicles

Outputs

  • Vehicleslist<any>

Needs Discord permission: ManageGuild

Kill log

Value

Recent kills in-game — a list of { killer, killed, timestamp }.

erlc.kill-log

Outputs

  • Killslist<any>

Needs Discord permission: ManageGuild

Command log

Value

Recent `:` commands run in-game — a list of { player, command, timestamp }.

erlc.command-log

Outputs

  • Commandslist<any>

Needs Discord permission: ManageGuild

Ban list

Value

The in-game ban list — a list of { id, name }.

erlc.bans

Outputs

  • Banslist<any>

Needs Discord permission: ManageGuild

In-game hint

Action

Shows a hint to everyone in the server (:h).

erlc.hint

Inputs

  • Text*string

Needs Discord permission: ManageGuild

In-game announcement

Action

Sends a server-wide message (:m).

erlc.announce

Inputs

  • Text*string

Needs Discord permission: ManageGuild

PM player

Action

Sends a private message to one player in-game (:pm).

erlc.pm

Inputs

  • Player*player
  • Text*string

Needs Discord permission: ManageGuild

Kick player (in-game)

Action

Kicks a player from the in-game server (:kick). Requires ER:LC commands to be enabled.

erlc.kick

Inputs

  • Player*player
  • Reasonstring

Needs Discord permission: ManageGuild

Ban player (in-game)

Action

Bans a player from the in-game server (:ban). Requires ER:LC commands to be enabled.

erlc.ban

Inputs

  • Player*player
  • Reasonstring

Needs Discord permission: ManageGuild

Unban player (in-game)

Action

Removes a ban (:unban). Requires ER:LC commands to be enabled.

erlc.unban

Inputs

  • Player*player

Needs Discord permission: ManageGuild

Jail player (in-game)

Action

Jails a player (:jail). Requires ER:LC commands to be enabled.

erlc.jail

Inputs

  • Player*player

Needs Discord permission: ManageGuild

Unjail player (in-game)

Action

Releases a player from jail (:unjail). Requires ER:LC commands to be enabled.

erlc.unjail

Inputs

  • Player*player

Needs Discord permission: ManageGuild

Teleport player (in-game)

Action

Teleports a player to another player or a location (:tp). Requires ER:LC commands to be enabled.

erlc.teleport

Inputs

  • Player*player
  • To (player or place)*string

Needs Discord permission: ManageGuild

Set weather (in-game)

Action

Changes the in-game weather (:weather). Requires ER:LC commands to be enabled.

erlc.weather

Inputs

  • Weather*string

Needs Discord permission: ManageGuild

Set time (in-game)

Action

Sets the in-game time of day in hours, 0–23 (:time). Requires ER:LC commands to be enabled.

erlc.time

Inputs

  • Hour (0–23)*number

Needs Discord permission: ManageGuild

Toggle peacetime (in-game)

Action

Toggles peacetime on/off (:pt). Requires ER:LC commands to be enabled.

erlc.peacetime

Needs Discord permission: ManageGuild

Logic & Flow

Branch (if / else)

Control

Routes execution down the true or false path.

flow.branch

Inputs

  • Condition*boolean

For each

Control

Runs the loop body once for every item in a list, then continues.

flow.for-each

Inputs

  • List*list<any>

Outputs

  • Itemany
  • Indexnumber

Break loop

Control

Exits the surrounding “For each” loop early.

flow.break

Stop flow

Control

Ends the whole flow right here — nothing after this runs.

flow.stop

Inputs

  • Reasonstring

Wait

Control

Pauses the flow for a number of seconds before continuing.

flow.delay

Inputs

  • Seconds*number

Compare

Condition

Compares two values and returns true/false.

flow.compare

Inputs

  • A*any
  • Operator*string
  • B*any

Outputs

  • Resultboolean

Text contains?

Condition

True when the text contains the given substring (case-insensitive).

flow.contains

Inputs

  • Text*string
  • Substring*string

Outputs

  • Resultboolean

Text matches regex?

Condition

True when the text matches the regular expression.

flow.matches

Inputs

  • Text*string
  • Pattern*string

Outputs

  • Resultboolean

And

Condition

True only when both A and B are true.

logic.and

Inputs

  • A*boolean
  • B*boolean

Outputs

  • Resultboolean

Or

Condition

True when A or B (or both) are true.

logic.or

Inputs

  • A*boolean
  • B*boolean

Outputs

  • Resultboolean

Not

Condition

Flips a true/false value.

logic.not

Inputs

  • Value*boolean

Outputs

  • Resultboolean

Random chance

Condition

True roughly X% of the time (e.g. 25 = a 1-in-4 chance).

logic.chance

Inputs

  • Percent*number

Outputs

  • Resultboolean

Schedule

Current time

Value

The current time — a Unix timestamp for Discord's <t:…> format, plus an ISO string.

time.now

Outputs

  • Unix secondsnumber
  • ISO timestring

On a schedule

Trigger

Fires once at a chosen time, or on a repeating schedule — every N units, daily at a time, or a cron expression. Times use the configured timezone.

schedule.timer

Inputs

  • Modestring
  • Everynumber
  • Unitstring
  • Daily at (HH:MM)string
  • At (date & time)string
  • Cronstring
  • Timezonestring

Outputs

  • Nownumber

State

Set variable

Action

Holds a value in a named variable for the rest of THIS run (not saved between runs).

state.set-var

Inputs

  • Name*string
  • Value*any

Get variable

Value

Reads a variable set earlier in this run.

state.get-var

Inputs

  • Name*string

Outputs

  • Valueany

Save value

Action

Saves a value that persists between runs — per server or per member. The type is kept (a number stays a number).

state.set

Inputs

  • Scope*string
  • Membermember
  • Key*string
  • Value*any
  • Expires after (seconds)number

Load value

Value

Loads a saved value (per server or per member). Empty when nothing is saved.

state.get

Inputs

  • Scope*string
  • Membermember
  • Key*string

Outputs

  • Valueany

Delete value

Action

Removes a saved value.

state.delete

Inputs

  • Scope*string
  • Membermember
  • Key*string

Add to counter

Action

Atomically adds to a saved number (use a negative amount to subtract). The building block for points, XP, balances and warn counts.

state.increment

Inputs

  • Scope*string
  • Membermember
  • Key*string
  • Amount*number

Outputs

  • New totalnumber

Add to list

Action

Pushes a value onto a saved list (per server or per member) — the building block for entrant lists, birthday registers, queues. Optionally caps the list length (oldest dropped).

state.append

Inputs

  • Scope*string
  • Membermember
  • Key*string
  • Value*any
  • Max lengthnumber

Outputs

  • Listlist<any>

Leaderboard

Value

The top members for a per-member number (e.g. highest balances or XP). Returns a list of { id, value }.

state.leaderboard

Inputs

  • Key*string
  • How many*number
  • Order*string

Outputs

  • Entrieslist<any>

Cooldown gate

Control

Lets the flow through once per cooldown window, then routes to “on cooldown” until it expires.

flow.cooldown

Inputs

  • Scope*string
  • Membermember
  • Key*string
  • Cooldown (seconds)*number

Outputs

  • Seconds leftnumber

Only once

Control

Runs the “first time” path once ever (per server or per member), then always the “again” path.

flow.once

Inputs

  • Scope*string
  • Membermember
  • Key*string

AI

Ask AI

Action

Sends a prompt to the AI and returns its reply. Use {{...}} wires to feed in message content, names, etc.

ai.generate

Inputs

  • Prompt*string

Outputs

  • Replystring

Summarize

Action

Condenses some text into a short summary.

ai.summarize

Inputs

  • Text*string
  • Max wordsnumber

Outputs

  • Summarystring

Classify

Action

Sorts text into one of your labels (e.g. spam / question / feedback). Great for triage.

ai.classify

Inputs

  • Text*string
  • Labels*string

Outputs

  • Labelstring

Extract data (JSON)

Action

Pulls structured JSON out of free text per your instructions. Branches on whether it succeeded.

ai.extract

Inputs

  • Text*string
  • What to extract*string

Outputs

  • Dataany

Text & Data

Text value

Value

A fixed piece of text you can wire into any input.

value.text

Inputs

  • Text*string

Outputs

  • Valueany

Number value

Value

A fixed number you can wire into any input.

value.number

Inputs

  • Number*number

Outputs

  • Valueany

Toggle value

Value

A fixed on/off (true/false) value you can wire into any input.

value.toggle

Inputs

  • On*boolean

Outputs

  • Valueany

Join text

Value

Sticks two pieces of text together (with an optional separator).

text.join

Inputs

  • First*string
  • Second*string
  • Separatorstring

Outputs

  • Resultstring

Uppercase

Value

Converts text to UPPERCASE.

text.uppercase

Inputs

  • Text*string

Outputs

  • Resultstring

Lowercase

Value

Converts text to lowercase.

text.lowercase

Inputs

  • Text*string

Outputs

  • Resultstring

Text length

Value

The number of characters in some text.

text.length

Inputs

  • Text*string

Outputs

  • Lengthnumber

List size

Value

How many items are in a list.

list.length

Inputs

  • List*list<any>

Outputs

  • Sizenumber

First item

Value

The first item in a list (if any).

list.first

Inputs

  • List*list<any>

Outputs

  • Itemany

List is empty?

Condition

True when the list has no items.

list.is-empty

Inputs

  • List*list<any>

Outputs

  • Emptyboolean

Math

Value

Adds, subtracts, multiplies or divides two numbers.

math.calc

Inputs

  • A*number
  • Operator*string
  • B*number

Outputs

  • Resultnumber

Replace text

Value

Replaces every occurrence of one piece of text with another.

text.replace

Inputs

  • Text*string
  • Find*string
  • Replace withstring

Outputs

  • Resultstring

Split text

Value

Splits text into a list on a separator (e.g. a comma or space).

text.split

Inputs

  • Text*string
  • Separator*string

Outputs

  • Itemslist<string>

Round number

Value

Rounds a number up, down, or to nearest.

math.round

Inputs

  • Value*number
  • Mode*string

Outputs

  • Resultnumber

Random number

Value

A random whole number between min and max (inclusive).

random.number

Inputs

  • Min*number
  • Max*number

Outputs

  • Resultnumber

Get item

Value

Gets the item at a position in a list (0 = first).

list.get

Inputs

  • List*list<any>
  • Index*number

Outputs

  • Itemany

List contains?

Condition

True when the list includes the given value.

list.contains

Inputs

  • List*list<any>
  • Value*string

Outputs

  • Resultboolean

Identity

Member verified

Trigger

Fires when someone finishes verifying their Roblox account (OAuth or code). Gives you the member and their linked Roblox player.

identity.member-verified

Outputs

  • Membermember
  • Playerplayer

Find their Discord

Control

Looks up a Roblox player's verified Discord account. Branches on whether they're verified.

identity.resolve-discord

Inputs

  • Player*player

Outputs

  • Membermember
  • Useruser

Find their Roblox

Control

Looks up a Discord user's linked Roblox player. Branches on whether they're linked.

identity.resolve-roblox

Inputs

  • User*user

Outputs

  • Playerplayer

Player details

Value

A Roblox player's username and id as text (for messages or storage keys).

identity.player-fields

Inputs

  • Player*player

Outputs

  • Usernamestring
  • Roblox idstring

Member details

Value

A Discord member's id and @mention as text.

identity.member-fields

Inputs

  • Member*member

Outputs

  • User idstring
  • Mentionstring

Member display name

Action

A Discord member's display name (server nickname, or their account name). Falls back to their user id if it can't be read.

discord.member-name

Inputs

  • Member*member

Outputs

  • Display namestring

Tickets

Open ticket

Action

Creates a private ticket channel only the opener and staff can see, and tracks it. Returns the channel. Re-opening returns the user's existing open ticket.

tickets.open

Inputs

  • Opener*member
  • Channel namestring
  • Staff roleslist<role>

Outputs

  • Channelchannel

Needs Discord permission: ManageChannels

Close ticket

Action

Saves a shareable transcript (viewable at a /t/… link), marks the ticket closed, and deletes its channel. Outputs the transcript URL so you can post it to a log channel.

tickets.close

Inputs

  • Ticket channel*channel

Outputs

  • Transcript URLstring

Needs Discord permission: ManageChannels

Claim ticket

Action

Records which staff member is handling the ticket channel.

tickets.claim

Inputs

  • Ticket channel*channel
  • Claimed by*member

Giveaways

Giveaway ended

Trigger

Fires when a giveaway you started reaches its end time. Gives you the channel, the prize, and the winner mentions.

giveaway.ended

Outputs

  • Channelchannel
  • Prizestring
  • Winnersstring

Start giveaway

Action

Starts a giveaway in a channel (one running at a time per channel). Post an entry button with "giveaway-enter" so people can join.

giveaway.start

Inputs

  • Channel*channel
  • Prize*string
  • Winners*number
  • Duration (minutes)*number

Enter giveaway

Action

Adds a member to the channel's running giveaway (no double entries).

giveaway.enter

Inputs

  • Channel*channel
  • Member*member