Create a fully-custom bot in minutes
Use the flow editor to fully control your bot's behavior. No code required.
Step 1
Start by picking a trigger
Everything in inventor.bot starts with a trigger.
Triggers are things like Message Sent, Member Joined, or Slash Command.
When the trigger happens, your bot will perform some actions...
Triggers
AutoMod Action Executed
Triggers when an auto moderation rule action is executed (e.g. message blocked, alert sent, user timed out).
AutoMod Rule Created
Triggers when an auto moderation rule is created.
AutoMod Rule Updated
Triggers when an auto moderation rule is updated.
AutoMod Rule Deleted
Triggers when an auto moderation rule is deleted.
Button Click
Triggers when a user clicks a button.
Channel Created
Triggers when a new channel is created.
Channel Update
Triggers when a channel is updated.
Channel Deleted
Triggers when a channel is deleted.
Channel Pins Update
Triggers when a channel's pins are updated.
Voice State Update
Triggers when a member joins, leaves, or moves voice channels.
User Context Menu
Triggers when a user runs a context menu command on a user.
Message Context Menu
Triggers when a user runs a context menu command on a message.
Schedule
Run a flow on a recurring schedule.
Dropdown Submit
Triggers when a user submits a dropdown/select interaction.
Server Joined
Triggers when your bot joins a new server.
Server Update
Triggers when a server is updated.
Server Left
Triggers when your bot leaves or is removed from a server.
Webhook Update
Triggers when a webhook is updated.
Audit Log Entry Created
Triggers when an audit log entry is created.
Invite Created
Triggers when an invite is created.
Invite Deleted
Triggers when an invite is deleted.
Member Join
Triggers when a member joins a server.
Member Leave
Triggers when a member leaves a server.
Member Update
Triggers when a member is updated.
Member Ban
Triggers when a member is banned from a server.
Member Unban
Triggers when a member is unbanned from a server.
Typing Start
Triggers when a user starts typing in a channel.
Role Added
Triggers when a role is added to a member.
Role Removed
Triggers when a role is removed from a member.
Message Sent
Triggers when a message is sent.
DM Message Sent
Triggers when a direct message is sent to the bot.
Message Sent by Bot
Triggers when a message is sent by a bot.
Message Edited
Triggers when a message is edited.
Message Edited by Bot
Triggers when a message is edited by a bot.
Message Deleted
Triggers when a message is deleted.
Message Delete Bulk
Triggers when messages are deleted in bulk.
Poll Vote Added
Triggers when a user votes in a poll.
Poll Vote Removed
Triggers when a user removes their vote in a poll.
Modal Submit
Triggers when a user submits a modal.
Reaction Added
Triggers when a reaction is added to a message.
Reaction Removed
Triggers when a reaction is removed from a message.
All Reactions Removed
Triggers when all reactions are removed from a message.
Role Created
Triggers when a role is created.
Role Update
Triggers when a role is updated.
Role Deleted
Triggers when a role is deleted.
Guild Scheduled Event Create
Triggered when a guild scheduled event is created.
Guild Scheduled Event Update
Triggered when a guild scheduled event is updated.
Guild Scheduled Event Delete
Triggered when a guild scheduled event is deleted.
Guild Scheduled Event User Add
Triggered when a user subscribes to a guild scheduled event.
Guild Scheduled Event User Remove
Triggered when a user unsubscribes from a guild scheduled event.
Slash Command
Triggers when a user runs a slash command.
Stage Instance Created
Triggered when a stage instance is created.
Stage Instance Updated
Triggered when a stage instance is updated.
Stage Instance Deleted
Triggered when a stage instance is deleted.
Thread Created
Triggers when a new thread is created.
Thread Update
Triggers when a thread is updated.
Thread Deleted
Triggers when a thread is deleted.
(scroll to see all 57 triggers)
Step 2
Add some blocks
Blocks make things happen in your flow. You can drag & drop to reorder them.
inventor.bot has blocks like Assign Role, Send a Message, and HTTP Request.
Message Sent
A message is sent in any channel your bot can see.
Blocks
Get AutoMod Rule
Get details of an auto moderation rule.
Get AutoMod Rules
List all auto moderation rules for a server.
Create AutoMod Rule
Create an auto moderation rule.
Modify AutoMod Rule
Modify an existing auto moderation rule.
Delete AutoMod Rule
Delete an auto moderation rule.
Get Channel
Retrieve a Discord channel's information by its ID.
Create Channel
Create a text/voice/stage/etc channel or channel category in a server.
Modify Channel
Modify a channel's information by its ID.
Move Channel
Move a channel to a new category.
Move Member to Voice Channel
Move a member from one voice channel to another.
Get Channels
Retrieve a Discord server's channels by its ID.
Delete Channel
Delete a Discord channel by its ID.
Trigger Typing Indicator
Trigger a typing indicator in a channel.
Set Channel Permissions
Set allowed and denied permission overrides for a user or role in a channel. Supports setting both allow and deny in one block, and can either replace existing overrides or update them.
Delete Channel Permission
Delete a channel permission overwrite for a user or role.
Database Lookup (Single)
Find a single row from a database matching your query. Returns the first matching row.
Database Lookup (Iterator)
Find multiple rows from a database and iterate over each one.
Database Create Row
Create a new row in a database with the specified values.
Database Duplicate Row
Duplicate an existing row in a database by its ID.
Database Update Row
Update an existing row in a database with new values.
Update Matching Rows
Find rows matching a query and update them all with the specified values.
Delete Matching Rows
Delete rows matching a query and return how many were deleted.
Database Delete Row
Delete a row from a database by its ID.
Get Emojis
Get all emojis from a server.
Get Emoji
Get an emoji by ID.
Create Emoji
Creates a new emoji in a server.
Modify Emoji
Modifies a given emoji in a server.
Delete Emoji
Deletes a given emoji in a server.
Get Server
Retrieve a Discord server's information by its ID.
Get Servers
Retrieve a list of Discord servers the bot is a member of.
Get Server Vanity URL
Retrieve a server's vanity invite URL.
Update Server
Update a Discord server's information by its ID.
Leave Server
Leave a Discord server by its ID.
Get Server Audit Logs
Retrieve audit log entries for a server.
Respond to Interaction with Text
Send a text response to an interaction (slash command, button, etc.).
Defer Interaction
Acknowledge an interaction and show a loading state. Use this when your response will take a while.
Respond to Interaction with Advanced Message
Send a Components v2 response to an interaction (slash command, button, etc.).
Embed Reply to Interaction
Send an embed response to an interaction.
Get Interaction Message Data
Get message, channel, and server data from an interaction response.
Create Invite
Create an invite for a channel.
Get Invite
Retrieve an invite's information by its code.
Get Channel Invites
Retrieve a list of invites for a channel.
Get Server Invites
Retrieve a list of invites for a server.
Delete Invite
Delete an invite by its code.
Math Operations
Perform addition, subtraction, multiplication, division, modulo and exponent operations.
Math Operations (Float)
Perform addition, subtraction, multiplication, division, modulo and exponent operations with floating point numbers.
Round Number
Round a number using a chosen method (round, floor, ceil, truncate) to a specified number of digits.
Absolute Value
Get the absolute value of a number.
Square Root
Get the square root (sqrt) of a number.
Logarithm
Get the logarithm of a number with a specified base.
Factorial
Calculate the factorial of a number.
Random Number Generator
Generate a random number using specified minimum and maximum values.
Passphrase Generator
Generate a random passphrase with a specified number of words.
If Number is in Range
Check if a number is in a specified range.
If Number is Close to Other Number
Check if a number is close to another number within a specified tolerance.
If Value is Number
Check if a value is a number.
Hex to Int
Convert a hexadecimal number to an integer.
Int to Hex
Convert an integer to a hexadecimal number.
Percentage Math (Integer)
Add or subtract a percentage to/from an integer.
Percentage Math (Float)
Add or subtract a percentage to/from a floating point number.
Send or Edit Text Message
Send or Edit a text-only message
Send TTS Message
Send a text-to-speech message.
Send Advanced Message
Send a Components v2 message.
Send or Edit Embed Message
Send or edit an embed message.
Text
Text component.
Message Container
Holds text, thumbnails, galleries, and other content components.
Section
Holds text alongside an accessory button or thumbnail.
Action Row
Holds up to 5 buttons or a single select component.
Separator
Adds vertical padding between message components, with an optional divider line.
Button
Create a button for users to click on. Triggers with a new flow and Custom ID.
Gallery
Top-level container for 1-10 media items.
Image
Single media item in a gallery or a thumbnail accessory.
Get Message
Fetch a single message by its ID from a channel.
Get Messages
Fetch recent messages from a channel and iterate over them.
Search Server Messages
Search a server's messages and iterate over the matched messages.
Get Pinned Messages
Fetch pinned messages from a channel and iterate over them.
Forward Message
Forward a message into another channel.
Delete Message
Delete a message by its ID from a channel.
Pin Message
Pin a message in a channel.
Unpin Message
Unpin a message in a channel.
Publish Message
Publish an announcement message to all channels following the announcement channel.
Suppress Message Embeds
Suppresses link preview embeds on a message by setting the SUPPRESS_EMBEDS flag.
Purge Messages
Bulk-delete messages from a channel.
Poll Answer
A single answer option for a poll.
Send Poll
Send a poll message in a channel.
End Poll
Immediately end a poll on a message.
Get Poll Answer Voters
Fetch users who voted for a specific poll answer and iterate over them.
Show Modal
Show a modal dialog in response to an interaction.
Modal Label
Label wrapper for a text input or select component in a modal.
Text Input
Text input component for modal forms.
String Select Option
Option item for a String Select component.
String Select
String select menu for advanced messages and modals.
User Select
User select menu for advanced messages and modals.
Role Select
Role select menu for advanced messages and modals.
Mentionable Select
Mentionable select menu for advanced messages and modals.
Channel Select
Channel select menu for advanced messages and modals.
Escape JSON Field
Escape a string to be used as a JSON field.
Parse JSON
Retrieve a value from a JSON string.
Format JSON
Indent a JSON string for readability.
Generate Form Body
Generate a HTTP form body from a list of key-value pairs.
Network Request
Send an HTTP request and return the response.
Respond to Incoming Webhook
Respond to an incoming webhook request with a custom status code and response body.
Get Reactions
Get all reactions from a message.
Get Reactions Count
Get number of reactions from a message.
Add Reaction
Add a reaction to a message.
Remove Reaction
Remove your reaction from a message.
Remove All Reactions
Remove all reactions from a message.
Remove User Reaction
Remove a user's reaction from a message.
Regex Match
Check if a string matches a regular expression.
Regex Find Matches List
Find matches of a regular expression in a string.
Regex Find Matches Iterator
Iterate over matches of a regular expression in a string.
Regex Replace
Replace all matches of a regular expression in a string.
Get Roles
Get all roles in the specified server.
Get Role
Get a role in the specified server.
Update Role
Update a role in the specified server.
Create Role
Create a role in the specified server.
Delete Role
Delete a role in the specified server.
Get @everyone Role
Get the @everyone role in the specified server.
Create Scheduled Event
Create a scheduled event.
Get Scheduled Event
Get a scheduled event.
Get Scheduled Events
List scheduled events for a server.
Modify Scheduled Event
Modify a scheduled event.
Delete Scheduled Event
Delete a scheduled event.
String Length
Get the length of a string.
String Split List
Split a string into a list of strings with a delimiter.
Split String Iterator
Iterate over a string separated by a delimiter.
String Contains Count
Count the number of times a substring appears in a string.
String Replace
Replace a substring with a new substring within a string.
String to Lowercase
Convert a string to lowercase.
String to Uppercase
Convert a string to uppercase.
String Trim Prefix
Remove a prefix from a string.
String Trim Suffix
Remove a suffix from a string.
Truncate String
Truncate a string to a certain length.
Base64 Encode
Encode a string to Base64.
Base64 Decode
Decode a Base64 string.
Format Number
Format a number with commas.
Generate UUIDv4
Generate a UUIDv4 (fully-random).
Generate UUIDv7
Generate a UUIDv7 (time-based).
Parse Color
Parse a color string (name or hex code) into a hex string.
URL Query Escape
Encode a string to be used as a URL parameter.
URL Query Unescape
Decode a string used as a URL parameter.
Bcrypt Hash String
Apply a one-way hash to a string using bcrypt.
Bcrypt Compare Hash
Compare a string to a bcrypt hash.
Verify HMAC
Verify a message against an HMAC signature.
MD5 Hash
Generate an MD5 hash of a string.
Sort Lines by Number Prefix or Suffix
Sort lines of text by the number at the beginning or end of each line.
Truncate Split String List
Split a string into groups of a certain number of characters.
Truncate Split String Iterator
Iterate over a string by groups of a certain number of characters.
Scramble String
Scramble the order of characters in a string.
Random String Generator
Generate a random string of a specified length using a chosen character set.
Repeat String
Repeat a string a specified number of times.
Reverse String
Reverse the characters of a string.
Reorder Comma Separated List
Reorder the elements in a comma separated list.
Intersection of Comma Separated Lists
Compare two comma separated lists and find items exclusive to each list and items common to both.
Remap String
Remap or replace values in a string using a set of original-to-replacement pairs.
Start Thread From Message
Start a thread from a message.
Start Thread From Channel
Start a thread from a channel.
Create Forum Thread
Create a thread in a forum channel.
Get Forum Channel Available Tags
Get the tags of a forum channel.
Update Forum Thread Tags
Update the tags of a forum thread.
Join Thread
Join a thread.
Leave Thread
Leave a thread.
Add Thread Member
Add a member to a thread.
Remove Thread Member
Remove a member from a thread.
Archive Thread
Archive a thread.
Unarchive Thread
Unarchive a thread.
Lock Thread
Lock a thread.
Unlock Thread
Unlock a thread.
Pin Thread
Pin a thread.
Unpin Thread
Unpin a thread.
Get Current Date and Time
Get the current UTC date and time in various formats.
Get UUIDv7 Creation Time
Get the creation time of a UUIDv7.
Parse Unix Time
Parse a Unix timestamp into a human-readable date and time.
Get Snowflake Timestamp
Convert a Discord snowflake ID into a creation date and time.
Sleep / Wait
Pause the flow for a specified duration.
Parse Relative Time
Parse a user-provided relative time string into a Unix timestamp.
Modify Time
Add or subtract time from a Unix timestamp.
Get Specific Time
Get a specific time in the future or past in a variety of formats.
Truncate Time
Truncate a Unix timestamp to a given period.
Parse Month Name
Parse a month name into a number.
Parse Date and Time
Parse a date and time into a Unix timestamp with a variety of parsing options.
Standard Format Date and Time
Format a Unix timestamp into a standardized date and time string.
Generate Timecode
Generate a Discord timestamp timecode from a Unix time.
Get User
Retrieve a Discord user's information by their ID.
Create DM Channel
Create a DM channel with a user.
Get Server Member
Retrieve a Discord server member information by their ID.
Get Highest Role Position of Member
Retrieve the position of the highest role of a member in a server.
Get Server Members
Retrieve members of a Discord server.
Kick Server Member
Kick a member from a server.
Ban Server Member
Ban a member from a server.
Unban Server Member
Unban a member from a server.
Get Server Bans
Retrieve a list of banned users in a server.
Timeout Server Member
Timeout a member from a server.
Assign Role
Assign a role to a user.
Remove Role
Remove a role from a user.
Change Member Nickname
Change a member's nickname in a server.
Log Error
Log an error to the errors dashboard.
Get Error Details
Retrieve details of a logged error.
Discord API Ping
Measure current patency to the Discord API.
Change Bot Status
Update the bot's presence and status text.
Get Server Count
Get the number of servers the bot is in.
Loop
Run the nested blocks a fixed number of times.
Custom Loop
Loop over a customized range of numbers.
While Loop
Repeat blocks while a condition is true.
If Statement
Compare two values and run different blocks based on the result.
Advanced Conditional
Run different blocks based on grouped comparisons.
Conditional Value
Compare two values and output one of two values based on the result.
Check Permission
Check if a permission exists in a bitfield.
Member/Role Has Permissions
Check if a member or role has specific permissions.
Redact Secret
Redact a secret (e.g. example -> e*****e).
Get Bot Details
Get cached details of the current branch's bot user.
Get Bot Token
Get the current branch's bot token.
Generate Snowflake ID
Generate a unique Snowflake-like ID.
Update Local Variable
Set a local variable to a new value.
Append New Line to Local Variable
Append text to a local variable on a new line.
Comment
Add a note or comment to your flow. This block does nothing when run.
Increment or Decrement Local Variable
Increment or decrement a numeric local variable by a value.
Folder
Organize blocks into a folder. Creates a variable scope.
Break
Stop the current loop and continue with the blocks after it.
Continue
Skip the rest of this loop iteration and move to the next one.
Exit Flow
Stop the entire flow immediately. No further blocks will run.
Call Custom Block
Call a custom block and use its returned outputs.
Return
Return outputs from the current custom block and stop executing it.
Create Webhook
Create a webhook in a channel.
Get Webhooks
Get all webhooks in a channel.
Get Webhook
Get a webhook by its ID.
Get Server Webhooks
Get all webhooks in a server.
Delete Webhook
Delete a webhook.
Modify Webhook
Modify a webhook.
Execute Webhook
Send a message with a webhook.
(scroll to see all 230 blocks)
Step 3
You're done!
Simple flows can be created in minutes, and every change is autosaved as a new version.
More complex flows can use custom blocks, conditionals, error handling, databases, global variables, and more.
Message Sent
A message is sent in any channel your bot can see.
If Statement
Message Content equals "hello"
Send a Message
Send a message or embed.
Message: "Hello, world!"
hello
Hello, world!