# Table of Contents
- [Welcome to BotWiz! | BotWiz Documentation](#welcome-to-botwiz-botwiz-documentation)
- [Collections | DashWiz Documentation | BotWiz Documentation](#collections-dashwiz-documentation-botwiz-documentation)
- [Elements | DashWiz Documentation | BotWiz Documentation](#elements-dashwiz-documentation-botwiz-documentation)
- [Get Started | BotWiz Documentation](#get-started-botwiz-documentation)
- [2025 | BotWiz Documentation](#2025-botwiz-documentation)
- [Welcome to DashWiz! | DashWiz Documentation | BotWiz Documentation](#welcome-to-dashwiz-dashwiz-documentation-botwiz-documentation)
- [Get Started | DashWiz Documentation | BotWiz Documentation](#get-started-dashwiz-documentation-botwiz-documentation)
- [Settings | DashWiz Documentation | BotWiz Documentation](#settings-dashwiz-documentation-botwiz-documentation)
- [Pages | DashWiz Documentation | BotWiz Documentation](#pages-dashwiz-documentation-botwiz-documentation)
- [Whitelabeling | DashWiz Documentation | BotWiz Documentation](#whitelabeling-dashwiz-documentation-botwiz-documentation)
- [Builder | DashWiz Documentation | BotWiz Documentation](#builder-dashwiz-documentation-botwiz-documentation)
- [Moderation Team Application | BotWiz Documentation](#moderation-team-application-botwiz-documentation)
- [Support Team Application | BotWiz Documentation](#support-team-application-botwiz-documentation)
- [Premium | BotWiz Documentation](#premium-botwiz-documentation)
- [Premium Free Trial (BETA) | BotWiz Documentation](#premium-free-trial-beta-botwiz-documentation)
- [Documentation Team Application | BotWiz Documentation](#documentation-team-application-botwiz-documentation)
- [Transitioning to a Paid Platform | BotWiz Documentation](#transitioning-to-a-paid-platform-botwiz-documentation)
- [Settings | BotWiz Documentation](#settings-botwiz-documentation)
- [Discord JS | BotWiz Documentation](#discord-js-botwiz-documentation)
- [Builder | BotWiz Documentation](#builder-botwiz-documentation)
- [Exports | BotWiz Documentation](#exports-botwiz-documentation)
- [Commands | BotWiz Documentation](#commands-botwiz-documentation)
- [Events | BotWiz Documentation](#events-botwiz-documentation)
- [Debugging | BotWiz Documentation](#debugging-botwiz-documentation)
- [Voice Actions | BotWiz Documentation](#voice-actions-botwiz-documentation)
- [Advanced Variables | BotWiz Documentation](#advanced-variables-botwiz-documentation)
- [Unique Variables | BotWiz Documentation](#unique-variables-botwiz-documentation)
- [Custom Variables | BotWiz Documentation](#custom-variables-botwiz-documentation)
- [Interaction & Default Variables | BotWiz Documentation](#interaction-default-variables-botwiz-documentation)
- [Bot Variables | BotWiz Documentation](#bot-variables-botwiz-documentation)
- [Variables | BotWiz Documentation](#variables-botwiz-documentation)
- [Music Actions | BotWiz Documentation](#music-actions-botwiz-documentation)
- [Teams | BotWiz Documentation](#teams-botwiz-documentation)
- [Function Variables | BotWiz Documentation](#function-variables-botwiz-documentation)
- [Event Variables | BotWiz Documentation](#event-variables-botwiz-documentation)
- [Message or Embed Actions | BotWiz Documentation](#message-or-embed-actions-botwiz-documentation)
- [List of Discord Events | BotWiz Documentation](#list-of-discord-events-botwiz-documentation)
- [Delete & Pin a Message | BotWiz Documentation](#delete-pin-a-message-botwiz-documentation)
- [Start & End Poll | BotWiz Documentation](#start-end-poll-botwiz-documentation)
- [Modal | BotWiz Documentation](#modal-botwiz-documentation)
- [Send & Edit a Message | BotWiz Documentation](#send-edit-a-message-botwiz-documentation)
- [Removing & Adding a Role to Everyone | BotWiz Documentation](#removing-adding-a-role-to-everyone-botwiz-documentation)
- [Delete or Remove a Role | BotWiz Documentation](#delete-or-remove-a-role-botwiz-documentation)
- [Create or Add a Role | BotWiz Documentation](#create-or-add-a-role-botwiz-documentation)
- [Edit a Role | BotWiz Documentation](#edit-a-role-botwiz-documentation)
- [Role Actions | BotWiz Documentation](#role-actions-botwiz-documentation)
- [Purge Messages | BotWiz Documentation](#purge-messages-botwiz-documentation)
- [Delete Channel | BotWiz Documentation](#delete-channel-botwiz-documentation)
- [Channel Actions | BotWiz Documentation](#channel-actions-botwiz-documentation)
- [Edit Channel | BotWiz Documentation](#edit-channel-botwiz-documentation)
- [Create Channel | BotWiz Documentation](#create-channel-botwiz-documentation)
- [Loop Actions | BotWiz Documentation](#loop-actions-botwiz-documentation)
- [Delete Variable | BotWiz Documentation](#delete-variable-botwiz-documentation)
- [Variable Actions | BotWiz Documentation](#variable-actions-botwiz-documentation)
- [Ban Member | BotWiz Documentation](#ban-member-botwiz-documentation)
- [Function | BotWiz Documentation](#function-botwiz-documentation)
- [Kick Member | BotWiz Documentation](#kick-member-botwiz-documentation)
- [Set Variable | BotWiz Documentation](#set-variable-botwiz-documentation)
- [Member Actions | BotWiz Documentation](#member-actions-botwiz-documentation)
- [Timeout Member | BotWiz Documentation](#timeout-member-botwiz-documentation)
- [Waiting & Logging | BotWiz Documentation](#waiting-logging-botwiz-documentation)
- [Member Nickname | BotWiz Documentation](#member-nickname-botwiz-documentation)
- [Timed & Custom Event | BotWiz Documentation](#timed-custom-event-botwiz-documentation)
- [Calculate Variable | BotWiz Documentation](#calculate-variable-botwiz-documentation)
- [Action Blocks | BotWiz Documentation](#action-blocks-botwiz-documentation)
- [Conditions | BotWiz Documentation](#conditions-botwiz-documentation)
- [Options | BotWiz Documentation](#options-botwiz-documentation)
- [Create & Delete an Auto Mod Rule | BotWiz Documentation](#create-delete-an-auto-mod-rule-botwiz-documentation)
- [Unban Member | BotWiz Documentation](#unban-member-botwiz-documentation)
- [Actions | BotWiz Documentation](#actions-botwiz-documentation)
- [API | BotWiz Documentation](#api-botwiz-documentation)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
- [Unknown](#unknown)
---
# Welcome to BotWiz! | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/welcome-to-botwiz.md)
.

Take your Discord server to the next level with our powerful no-code bot builder. Create, deploy, and manage your bots with ease. It's never been easier to build a bot for your Discord server!
Instead of coding, you will be able to use simple connectors, variables, and blocks to establish complex actions for your bot to undertake and perform. This includes the ability to make a fully customizable moderation, economy, utility or fun bot! The possibilities are endless.
**Our documentation page is undergoing a rework. Some pages may be incomplete at this time.**
We are working overtime to resolve this issue, please visit our [Support Server](https://discord.gg/7MENjP6jyW)
if you need any additional help, or would like to report any bugs or suggestions.
[](https://docs.botwiz.dev/docs#faqs)
FAQs
-----------------------------------------------
###
[](https://docs.botwiz.dev/docs#is-botwiz-free)
Is BotWiz free?
At this time, BotWiz is no longer offering free plans. Bacio has stated that [this may change](https://discord.com/channels/856011486077255690/1348445391162576937/1468914270384295938)
in the near future; however, nothing is confirmed. You can continue to develop bots on BotWiz for completely free but deploying them is restricted to exclusively premium users. For updates on this and for competitions and giveaways for a chance to win BotWiz premium, please join the BotWiz [Discord server](https://discord.gg/7MENjP6jyW)
. Find out more information on premium and methods through which it can be obtained at [Premium](https://docs.botwiz.dev/docs/dashboard/premium)
.
###
[](https://docs.botwiz.dev/docs#how-do-i-keep-my-bot-online)
How do I keep my bot online?
BotWiz provides premium hosting integrated directly into our platform when using a premium subscription. This includes keeping your bot online for as long as you need, with a 99.99% uptime.\*
To manage your bot's status, navigate to the General Settings section of your dashboard, where you can choose to set it online, restart it, or take it offline. Restarting your bot is useful for if it is slow or not responding. Find out more about troubleshooting at [Debugging](https://docs.botwiz.dev/docs/misc/debugging)
.

\*Prior uptime statistics are not indicative of future uptime. Purchasing a premium package does not constitute any sort of service-level agreement with BotWiz in regard to uptime.
[](https://docs.botwiz.dev/docs#need-help-and-support)
Need Help & Support?
--------------------------------------------------------------------------------
If at any point our documentation or guides page doesn't answer your question, we have a [Discord server](https://discord.gg/7MENjP6jyW)
available to offer you support! This includes assistance with things such as:
* documentation and guide navigation,
* initial bot setup, and
* custom command and event creation
When creating a support post, we strongly encourage that you explain the issues that you experience to the fullest extent to ensure our team can assist you in a timely and effective manner.
###
[](https://docs.botwiz.dev/docs#support-information)
Support Information
Our Support Team is currently small, and while the vast majority of questions receive a response fairly swiftly— most within less than 12 hours— some more complex topics such as those involving complex event creation instructions/guides may take longer to address.
We're actively working on reducing these delays to ensure our customers are served as best as possible. Rest assured, improvements are coming! In the meantime, we kindly ask you for your patience and that you refrain from pinging staff members if not absolutely necessary. Your question will be answered as soon as possible.
BotWiz thanks you for your enthusiasm towards the platform and learning how it operates.
[](https://docs.botwiz.dev/docs#bug-reports-and-suggestions)
Bug Reports & Suggestions
-------------------------------------------------------------------------------------------
If at any point you encounter an issue in the platform, please join our [Discord server](https://discord.gg/7MENjP6jyW)
to report it. You can do this in the [bug reports channel](https://discord.com/channels/856011486077255690/1395783481916653729)
in our Discord server. Please provide a description of your bug, what steps you took to experience it, and paste in the URL to the page that this occured on.
Furthermore, you can feel free to visit our Discord Server in order to leave suggestions. You can submit suggestions in the [suggest channel](https://discord.com/channels/856011486077255690/1395783651660140694)
. We appreciate and welcome your ideas for new additions to our documentation, guides, or the BotWiz website itself.
When it comes to, bug reports and suggestions, our expert team **always** responds. In our response, we will provide information on whether your bug/suggestion is being reviewed, when the fix/new feature will be implemented, and (in rare cases), provide an estimation of a timeframe for implementation.
[Next2025](https://docs.botwiz.dev/docs/updates-and-changelogs/2025)
Last updated 4 months ago
---
# Collections | DashWiz Documentation | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/dashwiz-documentation/creations/collections.md)
.
Dashwiz adopts a collections model, enabling users to create multiple collections simultaneously. Each collection comprises various pages; for instance, a "servers" collection includes a default "servers" page. It's important to note that collection types offer unique sets of blocks and pages
[](https://docs.botwiz.dev/docs/dashwiz-documentation/creations/collections#why-collections)
Why Collections
-----------------------------------------------------------------------------------------------------------------
Collections are like templates, allowing you to easily switch between various designs with a single click. Each collection can contain multiple templates, each with its own distinct theme, such as a Christmas collection, April Fools collection, or a standard collection.
[](https://docs.botwiz.dev/docs/dashwiz-documentation/creations/collections#collection-types)
Collection Types
-------------------------------------------------------------------------------------------------------------------
There are three types of collections: public, servers, and dashboard. Each type behaves differently and offers unique elements and settings.
###
[](https://docs.botwiz.dev/docs/dashwiz-documentation/creations/collections#public-collections)
Public Collections
Public collections have pages that don't require authentication to access, this type of collection starts you of with a couple different pages out of the box.
####
[](https://docs.botwiz.dev/docs/dashwiz-documentation/creations/collections#landing-page)
Landing Page
The landing page is the page people will see if they don't specificly navigate to a page, you don't have to use our landing page template (it's pretty bare bone). You can also choose to select your own landing page in the page settings!

More about the page settings later!
Terms of Service
On this page, you'll introduce your own terms of service. We've provided a basic template to get you started, which you can customize to suit your needs.

If DashWiz determines that your terms of service are in violation of ours, we reserve the right to terminate your website. Please review our terms of service
Privacy Policy
On this page, you'll introduce your own privacy policy. We've provided a basic template to get you started, which you can customize to suit your needs.

If DashWiz determines that your privacy policy is in violation of ours, we reserve the right to terminate your website. Please review our terms of service
###
[](https://docs.botwiz.dev/docs/dashwiz-documentation/creations/collections#dashboard-collections)
Dashboard Collections
This is currently still in development, please come back at a later date!
###
[](https://docs.botwiz.dev/docs/dashwiz-documentation/creations/collections#servers-collections)
Servers Collections
The servers collection consists of a single behind a authentication layer which can be accessed at `https://BOT_ID.dashwiz.dev/servers`. A key feature on this page is the "Guild Grid," which displays all the guilds that the user owns and in which the bot is in. This is also the only collection where you can use the "Guild Grid" element.

Note: It won't show the mock data on the public side.
[](https://docs.botwiz.dev/docs/dashwiz-documentation/creations/collections#collection-settings)
Collection Settings
-------------------------------------------------------------------------------------------------------------------------
Each collection has its own settings. You can change the name, description, visibility status, and background color through this modal. By default, collections are published when created.

[PreviousWhitelabeling](https://docs.botwiz.dev/docs/dashwiz-documentation/whitelabeling)
[NextElements](https://docs.botwiz.dev/docs/dashwiz-documentation/creations/elements)
Last updated 1 year ago
---
# Elements | DashWiz Documentation | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/dashwiz-documentation/creations/elements.md)
.
Elements are the building blocks of your pages. We offer a wide variety of elements that allow you to create your perfect web page. Missing anything? Suggest new elements in [our Discord](https://discord.gg/bQhj7Fev8m)
.
[](https://docs.botwiz.dev/docs/dashwiz-documentation/creations/elements#add-elements)
Add Elements
--------------------------------------------------------------------------------------------------------
DashWiz offers a wide variety of elements to choose from. Our intuitive builder allows you to drag, resize, and even create your own custom elements. To add elements to your builder, click the "Add Element" button to access a popup displaying all available elements in the collection.

[](https://docs.botwiz.dev/docs/dashwiz-documentation/creations/elements#edit-elements)
Edit Elements
----------------------------------------------------------------------------------------------------------
Right-click any element in your builder and choose "Edit" to access its settings.

Click "Edit Element" to open a popup for modifying the element's settings

[](https://docs.botwiz.dev/docs/dashwiz-documentation/creations/elements#other-element-features)
Other Element Features
----------------------------------------------------------------------------------------------------------------------------
###
[](https://docs.botwiz.dev/docs/dashwiz-documentation/creations/elements#delete-element)
Delete Element
To delete an element, right-click on it and select "Delete" from

###
[](https://docs.botwiz.dev/docs/dashwiz-documentation/creations/elements#duplicate-element)
Duplicate Element
To duplicate an element's settings, layer, and grouping, click the "Duplicate Element

###
[](https://docs.botwiz.dev/docs/dashwiz-documentation/creations/elements#element-layering)
Element Layering
Elements are assigned to default layers, enabling overlap with lower layers. To adjust an element's layer, select the desired layer from

###
[](https://docs.botwiz.dev/docs/dashwiz-documentation/creations/elements#element-grouping)
Element Grouping
To group multiple elements together, hold the Shift key and drag over all the desired elements. Icons will appear at the bottom left of your builder. Click the group icon to group them. The grouped elements will always move together.

To ungroup elements, right-click on any element within the group and select "Remove from Grouping."

[PreviousCollections](https://docs.botwiz.dev/docs/dashwiz-documentation/creations/collections)
[NextPages](https://docs.botwiz.dev/docs/dashwiz-documentation/creations/pages)
Last updated 1 year ago
---
# Get Started | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/dashboard/get-started.md)
.
BotWiz has recently transitioned into a **paid only** platform. You are now required to purchase a **Premium Subscription** to enable your bot. For more info see BotWiz Changelogs 2025.
BotWiz may be easier than coding your own bot from scratch, but there are components that can be confusing for new members. In this page, we have put together a complete guide on how to get started and make your very first Discord bot using BotWiz!
We are determined to answer any and all questions that you might have about BotWiz. If at any point you would like one-on-one help with our bot creation tools, please visit our [Discord Server](https://discord.com/invite/YHVry73av9)
and open a support post.
[](https://docs.botwiz.dev/docs/dashboard/get-started#setting-up-your-first-bot)
Setting up your First Bot
---------------------------------------------------------------------------------------------------------------
Before you can begin implementing bot commands, events, and other features with BotWiz, you must first create a Discord bot through Discord. To do this, sign into the [Discord Developer Portal](https://discord.com/developers/applications)
using your Discord account, and click on 'New Application.' After you've created a Discord application, visit the 'Bot' tab. Here, you will be able to configure the application as a bot by defining its bot intents. Through the Discord Developer Portal, you will also be able to access the bot's token, and more, which will be necessary to configure BotWiz!
###
[](https://docs.botwiz.dev/docs/dashboard/get-started#enabling-your-bots-intents)
Enabling your Bot's Intents
By defining a bot's intents, you allow it to access message content, guild member information, and presence updates. This is essential for adding custom bot behavior, therefore, you **must** enable all three before you can configure the bot with BotWiz, and before the bot can appear online.
In order to define a bot's intents, from the top of the 'Bot' tab, scroll down until you see 'PRESENCE INTENT,' 'SERVER MEMBERS INTENT,' and 'MESSAGE CONTENT INTENT.' Once there, be sure to enable all three, as shown below:

This is an example of a bot with all three of their intents enabled. This is required for your bot to work.
[](https://docs.botwiz.dev/docs/dashboard/get-started#bot-tokens)
Bot Tokens
---------------------------------------------------------------------------------
All Discord bots use what is called a bot token to connect a bot's application code to the bot's Discord application itself. As you will come to learn, BotWiz handles the application code for your bot. Therefore, in order to give your bot custom bot behavior through application code, you will need to add the bot's token to BotWiz. This is done through the main landing page, but first, you need to create a bot token.
###
[](https://docs.botwiz.dev/docs/dashboard/get-started#generating-a-bot-token)
Generating a Bot Token
When creating a bot for the first time, you will need to generate a new bot token. In order to do this, from the top of the 'Bot' tab, scroll down until you see 'Reset Token.' Once there, select the 'Reset Token' option, and click 'Copy' to copy the bot token for use in the next step.
In general, be sure to keep this token confidential, as anyone with access to it can connect their own application code to your bot. If you believe that your bot's token has been compromised, it's considered best practice to immediately regenerate it using the same process above. This is to prevent unwanted users from accessing your bot and taking control of your Discord servers.
When regenerating your bot's token, do not forget to update this at BotWiz. You can do so by visiting your bot's Data & Security settings, and replacing your old token with your regenerated one.
Do not share your bot's token with **anyone**. Instead, feel free to use our [Teams](https://docs.botwiz.dev/docs/misc/teams)
feature.
###
[](https://docs.botwiz.dev/docs/dashboard/get-started#adding-your-token-at-botwiz)
Adding your Token at BotWiz
To start adding custom commands, events, and other behavior to your bot, you must first add the bot's most recently generated token, as per the last step, to BotWiz through the main landing page. Visit [BotWiz's main landing page](https://botwiz.dev/en/dashboard/bots)
and select "Click to add your first bot..." After doing so, it will walk you through all the necessary steps to create your first bot in BotWiz.

Afterwards, your bot will be registered with BotWiz, and you can immediately start creating your new custom commands and events.
[](https://docs.botwiz.dev/docs/dashboard/get-started#navigating-the-dashboard)
Navigating the Dashboard
-------------------------------------------------------------------------------------------------------------
Once you have registered a bot's token with BotWiz, you can view your bot's dashboard which provides you various information about the bot, such as command uses per week, and navigation to dashboard sub pages. In order to view a specific bot's dashboard, select the desired bot and it will navigate you to the Dashboard.
For every dashboard, you will see multiple pages that let you customize your bot completely, ranging from your bot's appearance down to how it operates. Navigating the dashboard can be a little overwhelming for new users, so below we've listed each dashboard subsection and what they do.
###
[](https://docs.botwiz.dev/docs/dashboard/get-started#main)
Main
The main section of the dashboard will include six pages meant for preparing your bot, such as its settings. These pages are typically used for starting or stopping your bot, purchasing premium, inviting your bot, and finding additional support resources for creating your custom commands and events. See the below tabs for all pages within the dashboard:
Subsection
Description
Dashboard
Find some statistics on your bot, and see what is being used the most.
Premium
Purchasing premium gives your bot countless more opportunities. [See here](https://botwiz.dev/#prices)
.
Bots
Redirect back to your bot list, for ease of access to modifying another bot.
Settings
Customize a bot's configuration and settings. See more on subpages within settings below:
Documentation
See all of BotWiz's documentation.
Invite
Invite your current bot to a server by clicking this page!
Under the settings subsection, you can customize various attributes about your bot, as described in the table below:
Subpage
Description
General
Start your bot and change your bots activity and status.
Customization
Customize your bot.
Data & Security
View your bot's token, intents, and refresh data.
Default Messages
Default messages to common command errors.
Premium
Purchasing premium gives your bot countless more options [See here](https://botwiz.dev/#prices)
.
Integrations
Find your OpenAI Token, Deepseek Token, and Anthropic Token.
###
[](https://docs.botwiz.dev/docs/dashboard/get-started#creations)
Creations
This section is entirely based upon your bot and its commands and events. Under the _**Builds**_ column, you can create custom commands, Discord events (e.g., for when a new user joins a server your bot is in), timed events, webhook events and custom events entirely from scratch. Visiting our _**Modules,**_ _**Templates**_ or _**Market**_ pages is a great way to implement professionally built systems with ease, to find a solid starting point for your own bot, or publcly share your builds with the BotWiz community! See the below tabs for all pages within this section:
Builds
Modules
Templates
Market
Page
Description
Command
Build completely custom commands from scratch with various tools.
Discord Event
Trigger personalized actions from events e.g., when a user boosts a guild!
Timed Event
Run scheduled or interval timed events, for reoccurring actions.
Webhook Event
Connect your bot with third-party services to run unique actions.
Custom Event
Steer your command into running a custom event of yours!
Instead of building systems from scratch, try out our pre-built ones!
Implement a starting point for your bot with our template features!
Publicly share your builds with the rest of the community!
###
[](https://docs.botwiz.dev/docs/dashboard/get-started#miscellaneous)
Miscellaneous
Featuring pages showcasing information about your bot, such as the guilds your application is currently in. Use these pages to manage your bots storage, team and troubleshoot your systems by using your bot logs (providing up-to-date errors, information and success notifications), and more. See the below chart for all pages within this section:
Page
Description
Variables
The place to create, edit and view all of your custom variables.
Logs
Mainly for troubleshooting creations, these logs will mention any errors you have.
Exports
A showcase of each export you have saved; with the ability to import them.
Team
Work on your bot with a team! Manage their permissions, invite members, etc.
Guilds
An up-to-date list of the servers your bot is currently in.
Data
View how much storage is being used by your bot.
Transcripts
See all transcripts that your bot has created using the transcript feature.
Bot API
Manage your bot's global slash commands here!
[](https://docs.botwiz.dev/docs/dashboard/get-started#navigating-a-builder)
Navigating a Builder
-----------------------------------------------------------------------------------------------------
A builder is a workplace where you can create commands and events from scratch using blocks. For each block, a unique action is carried out; such as sending a message, or triggering a custom event.
Currently, BotWiz has five unique builders: a builder for commands, Discord events, timed events, webhook events and custom events. For each, you can customize your creation with blocks. However, the command builder is slightly different to event builders, as it will also have [option blocks](https://docs.botwiz.dev/docs/blocks/options#introduction-to-options)
.
###
[](https://docs.botwiz.dev/docs/dashboard/get-started#builder-tools)
Builder Tools
Every builder has a set of menus incorporated, enabling you to access pages on the dashboard without needing to switch webpages! You will see a list of page options under each respective section. For example, under the "Actions" section, you will see options such as "Start Poll". See the below chart for all pages within this section:
Icon
Name
Description

[Actions](https://docs.botwiz.dev/docs/blocks/actions)
Find a list of actions to implement to your bot.

[Conditions](https://docs.botwiz.dev/docs/blocks/conditions)
Find a list of conditions to implement to your bot.

[Options](https://docs.botwiz.dev/docs/blocks/options)
Find a list of options to implement to your bot.

[Variables](https://docs.botwiz.dev/docs/creations/variables)
Easily view, edit and create new custom and unique variables.

Problems
See all current problems your builds has.

Logs
See all logs related to your build.

Migrations
Migrations allow you to import a share-code either for an event or a command, that you have received from someone.

Builds
Use this option to switch builders.
####
[](https://docs.botwiz.dev/docs/dashboard/get-started#main-builder-tools)
Main Builder Tools
At the top of your builder you will see a list of options which are the main tools for your building process. These options feature the exiting of the builder, help, purge, save builder, and builder settings. Without autosave enabled, you must make sure to save before exiting the builder!
Navigation Tool
Description
Exit Builder
Make sure to save your creation before exiting back to your dashboard!
Help
In need of help? Use this tool!
Purge
Wish to start over and purge this entire command? This is the tool for you.
Save Builder
Save your current build, ready for use immediately.
Settings
Use this menu to edit the background, co-create, format, and more.
###
[](https://docs.botwiz.dev/docs/dashboard/get-started#blocks-and-block-flow)
Blocks & Block Flow
To add blocks to your builder, you must first select an [action](https://docs.botwiz.dev/docs/blocks/actions)
or [condition](https://docs.botwiz.dev/docs/blocks/conditions)
. From here, you can click and drag a block onto your builder.
For every block you add (apart from [option](https://docs.botwiz.dev/docs/blocks/options)
blocks), you must connect them. To attach the very first block in your command or event, click and hold the red circle at the bottom of the 'main block' (the block that states your command or event name) and drag that down to your block's upper red circle.
Option blocks do not need to be connected in a builder as they will always appear when a command is used. Thus, they cannot run after the command has been entered.
See below as an example of connecting blocks together. In this command, once run, the bot will respond with a message and then pin a message. See how the very first block to run is the send message block, this is because it is connected to the main block.
Any subsequent blocks will follow afterwards. For instance, the pin message blocks runs after the message has been sent; not before or at the same time. The same logic occurs for condition blocks, whereby if placed after the send message block, it will run after the message is sent.

Block flow can be manipulated by editing your builder's settings. You can find these settings in the main builder tools section. In the _**Blocks**_ option, you can change the direction of your block flow. So instead of having your blocks flow vertically, you can change it to horizontally. Further, you can modify the spacing in-between your blocks for when you use the organization tool.
[](https://docs.botwiz.dev/docs/dashboard/get-started#learning-more-about-botwiz)
Learning more about BotWiz
-----------------------------------------------------------------------------------------------------------------
BotWiz has endless possibilities, it's just about knowing how to create them. Even blocks can be confusing at times, which is why we offer several resources to aid you at any time, at any level. The majority of your learning will come from experience. Build endlessly and explore more!
Though we may have helpful documentation, we may not provide all of the information you need. If at any point you need any additional help from our Support Team, please find us at our [Discord server](https://discord.com/invite/YHVry73av9)
. Simply open a post at our support channel and a response will be provided soon.
[PreviousTransitioning to a Paid Platform](https://docs.botwiz.dev/docs/updates-and-changelogs/2025/transitioning-to-a-paid-platform)
[NextSettings](https://docs.botwiz.dev/docs/dashboard/settings)
Last updated 8 months ago
---
# 2025 | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/updates-and-changelogs/2025.md)
.
[Transitioning to a Paid Platform](https://docs.botwiz.dev/docs/updates-and-changelogs/2025/transitioning-to-a-paid-platform)
---
# Welcome to DashWiz! | DashWiz Documentation | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/dashwiz-documentation/welcome-to-dashwiz.md)
.
Take your BotWiz bot to the next level with our powerful no-code website builder. Create, deploy, and manage your web pages with ease. Its never been easier to build a website for your Discord bot!
Instead of coding, you will be able to use simple builders and elements to establish web pages for your users to customize your bot in their guild. The possibilities are endless.
**Our documenation page is being worked on. Some pages are incomplete.**
We are working overtime to resolve this issue, please visit our [Support Server](https://discord.gg/YHVry73av9)
if you need any additional help, or would like to report any bugs or suggestions.
[](https://docs.botwiz.dev/docs/dashwiz-documentation#faqs)
FAQs
---------------------------------------------------------------------
###
[](https://docs.botwiz.dev/docs/dashwiz-documentation#is-dashwiz-free)
Is DashWiz free?
DashWiz offers free plans along with a variety of premium options. When signing up for a premium subscription, feel free to select the features you wish to pay for.
On a free plan, users can create custom and complex pages for their bot, however this will come with a few limitations, such as on the amount of collections that can be created. Though, websites with a free plan will still receive free hosting.
###
[](https://docs.botwiz.dev/docs/dashwiz-documentation#how-do-i-keep-my-website-online)
How do I keep my website online?
DashWiz provides free hosting, whether you are using a free plan or a premium subscription. This includes keeping your website online for as long as you need, with a 99% uptime.
We also provide you the option to hide your pages from your users, this helps negate confusion while you work on your website.
[](https://docs.botwiz.dev/docs/dashwiz-documentation#need-help-and-support)
Need Help & Support?
------------------------------------------------------------------------------------------------------
If at any point our documentation or guides page doesn't answer your question, we have a [Support Server](https://discord.com/invite/YHVry73av9)
available to offer you support! This includes:
* Helping you navigate our documentation, guides or websites;
* Helping you start your very first custom website at DashWiz; and
* Helping you understand how to create a custom collection or page.
When creating a support post, you **must** provide ample detail into your issue.
###
[](https://docs.botwiz.dev/docs/dashwiz-documentation#response-times)
Response Times
Currently, our Support Team is small. Although most posts receive a response within 12 hours, some posts are unique and require a heavy amount of support. If you wish to ask us how to create a complex creation, please expect to wait longer. Only a select few of our team can help with most queries.
**We do plan on decreasing these wait times**, do not worry! However, please remain patient, avoid pinging our team and you will have a reply soon enough. Thank you for your enthusiasm for learning DashWiz; we appreciate your patience!
[](https://docs.botwiz.dev/docs/dashwiz-documentation#bug-reports-and-suggestions)
Bug Reports & Suggestions
-----------------------------------------------------------------------------------------------------------------
If at any point you find a bug, please join our [Discord Server](https://discord.com/invite/YHVry73av9)
to report it. Every bug report must be reported at the channel called bugs. Here, please open a post and provide a description of your bug, what steps you took to experience it, and paste the URL you was using.
Feel free to visit our Discord Server for any suggestions. You can do so by entering the server, and heading to a channel called suggestions. Don't hesitate to create a post to publish your ideas on any new addition for our documentation, guides or ideas for DashWiz's website.
With our bug reports and suggestions, we **always** respond. You will hear back from us whether your report was accepted or denied. We do not provide ETAs for bug resolutions, or for when an accepted suggestion will be implimented. Please be patient!
[NextGet Started](https://docs.botwiz.dev/docs/dashwiz-documentation/dashboard/get-started)
Last updated 1 year ago
* [FAQs](https://docs.botwiz.dev/docs/dashwiz-documentation#faqs)
* [Is DashWiz free?](https://docs.botwiz.dev/docs/dashwiz-documentation#is-dashwiz-free)
* [How do I keep my website online?](https://docs.botwiz.dev/docs/dashwiz-documentation#how-do-i-keep-my-website-online)
* [Need Help & Support?](https://docs.botwiz.dev/docs/dashwiz-documentation#need-help-and-support)
* [Response Times](https://docs.botwiz.dev/docs/dashwiz-documentation#response-times)
* [Bug Reports & Suggestions](https://docs.botwiz.dev/docs/dashwiz-documentation#bug-reports-and-suggestions)
---
# Get Started | DashWiz Documentation | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/dashwiz-documentation/dashboard/get-started.md)
.
To get started with DashWiz you will need a [BotWiz](https://docs.botwiz.dev/docs/)
bot, these bots are also free and can even be used without DashWiz. After creating your BotWiz bot, you'll be able to create your first DashWiz website!
[](https://docs.botwiz.dev/docs/dashwiz-documentation/dashboard/get-started#navigating-the-dashboard)
Navigating the Dashboard
-----------------------------------------------------------------------------------------------------------------------------------
Once you have registered your bot with BotWiz and opened that bot on DashWIz, you can view your website's dashboard. To do so, select your bot in your [bot list](https://dashwiz.dev/dashboard)
. For each BotWiz bot you can have one website, you can customize, add domains and see statistics .
For every dashboard, you will see multiple pages that let you customize your website completely, ranging from your website's appearance down to how it operates. Navigating the dashboard can be a little overwhelming for new users, and so below is a list of each section and page and what they do.
This is still being worked on, please come back later!
[PreviousWelcome to DashWiz!](https://docs.botwiz.dev/docs/dashwiz-documentation)
[NextSettings](https://docs.botwiz.dev/docs/dashwiz-documentation/dashboard/settings)
Last updated 1 year ago
---
# Settings | DashWiz Documentation | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/dashwiz-documentation/dashboard/settings.md)
.
The settings page allows you to customize & edit your website's functionality. For example, add your own authentication.
[](https://docs.botwiz.dev/docs/dashwiz-documentation/dashboard/settings#authentication)
Authentication
------------------------------------------------------------------------------------------------------------
The authentication section allows you to customize the authentication page the users see, the style of this page will always be the same, this is due to that Discord is hosting it. However, we allow you to change the application that is used to authenticate the user, this means the profile image and name are from your application.

To allow people to authenticate on your website you will have to supply two values, a client ID and a client Secret, you can obtain these by going to the [Discord developer portal](https://discord.com/developers/applications/)
.
###
[](https://docs.botwiz.dev/docs/dashwiz-documentation/dashboard/settings#client-id)
Client ID
Navigate to the applications tab, and select the application you want to use.
The application you're using doesn't have to be the bot you added bot BotWiz!

After navigating to your application, go to the OAuth2 tab and copy the client ID.

Now that we have the client ID we can paste it into our client ID field.

###
[](https://docs.botwiz.dev/docs/dashwiz-documentation/dashboard/settings#client-secret)
Client Secret
Navigate back to the OAuth2 tab on the Discord developer portal and reset / copy your client secret.

Now paste this secret into the client secret field on DasWiz.

###
[](https://docs.botwiz.dev/docs/dashwiz-documentation/dashboard/settings#redirects)
Redirects
The last step to getting your authentication working is adding your redirects on the Discord developer portal. First navigate back to the DashWiz settings tab and copy the links below the "Discord Developer Portal" section.
To be safe add all the links, but you only have to add the one your users will use. This does mean that even though DashWiz always adds BOT\_ID.dashwiz.dev as a option for your users to get to your website, you don't have to add this one if you're using a custom domain.

Now go back to the Discord developer portal and add the 2 redirects to the Redirects section! (Don't forget to save)

And now you're done, your custom authentication should be working like expected!
This page is still being worked on, come back later for more settings!
[PreviousGet Started](https://docs.botwiz.dev/docs/dashwiz-documentation/dashboard/get-started)
[NextWhitelabeling](https://docs.botwiz.dev/docs/dashwiz-documentation/whitelabeling)
Last updated 1 year ago
* [Authentication](https://docs.botwiz.dev/docs/dashwiz-documentation/dashboard/settings#authentication)
* [Client ID](https://docs.botwiz.dev/docs/dashwiz-documentation/dashboard/settings#client-id)
* [Client Secret](https://docs.botwiz.dev/docs/dashwiz-documentation/dashboard/settings#client-secret)
* [Redirects](https://docs.botwiz.dev/docs/dashwiz-documentation/dashboard/settings#redirects)
---
# Pages | DashWiz Documentation | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/dashwiz-documentation/creations/pages.md)
.
Each page acts as a distinct canvas with its unique builder and settings. You can choose to hide or display pages based on your current workflow. Pages come with special settings that enable you to configure metadata, set visibility status, and more advanced options. More on that later.
[](https://docs.botwiz.dev/docs/dashwiz-documentation/creations/pages#page-settings)
Page Settings
-------------------------------------------------------------------------------------------------------
Each page has it's own settings popup, this popup allows you to change the metadata, color, title and description of your page.

[PreviousElements](https://docs.botwiz.dev/docs/dashwiz-documentation/creations/elements)
[NextBuilder](https://docs.botwiz.dev/docs/dashwiz-documentation/creations/builder)
Last updated 1 year ago
---
# Whitelabeling | DashWiz Documentation | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/dashwiz-documentation/whitelabeling.md)
.
We allow premium users to change the domain of the website, you can do this trough our whitelabeling tab. Here you'll be able to add your own custom subdomain to dashwiz.dev or add a whole custom domain.
[](https://docs.botwiz.dev/docs/dashwiz-documentation/whitelabeling#add-your-own-domain)
Add your own domain
-----------------------------------------------------------------------------------------------------------------
Start by clicking on "New Domain"

Now type in your own domain name.

After which DashWiz will do it's thing and add your domain. Here are the steps and what they mean.
###
[](https://docs.botwiz.dev/docs/dashwiz-documentation/whitelabeling#domain-check)
Domain Check
DashWiz will make sure that your domain is valid and not registered just yet.

###
[](https://docs.botwiz.dev/docs/dashwiz-documentation/whitelabeling#registering-domain)
Registering Domain
DashWiz will add the domain to cloudflare and make sure it's reachable.

###
[](https://docs.botwiz.dev/docs/dashwiz-documentation/whitelabeling#setting-up-domain)
Setting up Domain
DashWiz will check if the nameservers are set correctly, make sure to follow the instructions shown at this step, these are very important.

###
[](https://docs.botwiz.dev/docs/dashwiz-documentation/whitelabeling#validating-domain)
Validating Domain
Here DashWiz will check Cloudflare to validate that the domain has been registered and can be reached.

###
[](https://docs.botwiz.dev/docs/dashwiz-documentation/whitelabeling#ssl-certification)
SSL Certification
When DashWiz attempts to request an SSL certificate, it often fails initially because the nameservers specified during domain setup are still pending. Don't worry if you encounter this error. Simply wait for a while and try again. We will discuss this further below.

###
[](https://docs.botwiz.dev/docs/dashwiz-documentation/whitelabeling#nameservers)
Nameservers
It can take a while for the nameservers to update, this isn't a DashWiz issue but a general Cloudflare issue. As long that you see the "Make sure you have the following nameservers registered..." https won't work and you can't request a new SSL.

If the message disappears, click "Retry SSL." You should receive a success message. If not, contact support for assistance.

[PreviousSettings](https://docs.botwiz.dev/docs/dashwiz-documentation/dashboard/settings)
[NextCollections](https://docs.botwiz.dev/docs/dashwiz-documentation/creations/collections)
Last updated 1 year ago
* [Add your own domain](https://docs.botwiz.dev/docs/dashwiz-documentation/whitelabeling#add-your-own-domain)
* [Domain Check](https://docs.botwiz.dev/docs/dashwiz-documentation/whitelabeling#domain-check)
* [Registering Domain](https://docs.botwiz.dev/docs/dashwiz-documentation/whitelabeling#registering-domain)
* [Setting up Domain](https://docs.botwiz.dev/docs/dashwiz-documentation/whitelabeling#setting-up-domain)
* [Validating Domain](https://docs.botwiz.dev/docs/dashwiz-documentation/whitelabeling#validating-domain)
* [SSL Certification](https://docs.botwiz.dev/docs/dashwiz-documentation/whitelabeling#ssl-certification)
* [Nameservers](https://docs.botwiz.dev/docs/dashwiz-documentation/whitelabeling#nameservers)
---
# Builder | DashWiz Documentation | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/dashwiz-documentation/creations/builder.md)
.
[](https://docs.botwiz.dev/docs/dashwiz-documentation/creations/builder#moving)
Moving
-------------------------------------------------------------------------------------------
In the builder's grid pattern, each element can be moved up to 30 units on the X-axis and an unlimited distance on the Y-axis. To move an element, click and hold the move icon, then drag it to your desired location.


[](https://docs.botwiz.dev/docs/dashwiz-documentation/creations/builder#resizing)
Resizing
-----------------------------------------------------------------------------------------------
In the builder's grid pattern, each element can be up to 30 units wide and infinitely high, with specific minimum widths preset for each. Elements can be resized by clicking and dragging.


[](https://docs.botwiz.dev/docs/dashwiz-documentation/creations/builder#grid-lines)
Grid Lines
---------------------------------------------------------------------------------------------------
We've added a grid feature to ensure perfect alignment in your builds. Click the grid icon to precisely measure widths and distances from the sides.


[](https://docs.botwiz.dev/docs/dashwiz-documentation/creations/builder#previewing)
Previewing
---------------------------------------------------------------------------------------------------
You can hide all the builder icons and grids with one button, this way it's easy to make good looking photo's of your design.


[PreviousPages](https://docs.botwiz.dev/docs/dashwiz-documentation/creations/pages)
Last updated 1 year ago
* [Moving](https://docs.botwiz.dev/docs/dashwiz-documentation/creations/builder#moving)
* [Resizing](https://docs.botwiz.dev/docs/dashwiz-documentation/creations/builder#resizing)
* [Grid Lines](https://docs.botwiz.dev/docs/dashwiz-documentation/creations/builder#grid-lines)
* [Previewing](https://docs.botwiz.dev/docs/dashwiz-documentation/creations/builder#previewing)
---
# Moderation Team Application | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/moderation-team-application.md)
.
---
# Support Team Application | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/support-team-application.md)
.
---
# Premium | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/dashboard/premium.md)
.
---
# Premium Free Trial (BETA) | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/dashboard/premium-free-trial-beta.md)
.
[](https://docs.botwiz.dev/docs/dashboard/premium-free-trial-beta#frequently-asked-questions)
Frequently Asked Questions
-----------------------------------------------------------------------------------------------------------------------------
> Are there any restrictions currently imposed on the free trial?
No, the only free trial restriction currently is the time limit of seven (7) days. This provides time for new users to experience the platform.
> What bot will get the free trial activated on it?
The free trial is activated on either the first bot you create, or the first bot without a premium subscription that you open.
> How can I report issues that occur with free trials?
You can report these bugs using standard[BotWiz Bug Reporting Procedures](https://docs.botwiz.dev/docs#bug-reports-and-suggestions)
.
[PreviousSettings](https://docs.botwiz.dev/docs/dashboard/settings)
[NextCommands](https://docs.botwiz.dev/docs/creations/commands)
Last updated 4 months ago
---
# Documentation Team Application | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/documentation-team-application.md)
.
---
# Transitioning to a Paid Platform | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/updates-and-changelogs/2025/transitioning-to-a-paid-platform.md)
.
Over the past couple of months BotWiz's user base has grow exponentially, moving from **5,270** active users to **13,999** active users, which is a growth rate of approximate **165.79%** in just **~3 months**. Additionally, the total of applications/bots has risen from **13,834** to **22,986** which is a growth rate of approximately **66.15%**. While these numbers may seem low, the rate of growth in such a short (_unprecedented_) amount of time lead to system failures, repeated downtime and major issues.
BotWiz is committed to providing users with the best experience possible. With new issues appearing almost daily and our service becoming unreliable, severely unstable, and non-profitable, the tough decision was made to start the transition into making BotWiz a paid only platform. This is something we never intended on doing, but a step we needed to take to restore reliability in our service. Upon making this decision we posted a brief [announcement in our Discord server](https://discord.com/channels/856011486077255690/1348445391162576937/1422635122250748006)
explaining the situation and the steps we will be taking in order to mitigate the issue. A short while after this announcement was posted, we had a major setback which lead to the deadline for the transition being brought forward drastically. As such, on the `6th October 2025 (10/06/2025)` the transition to a paid platform was completed.
So, what exactly has changed. And what else will change in the coming future? Well, as part of the transition we have depreciated the formerly stable version of BotWiz and rolled out the Beta version to replace the depreciated stable version. This update rolled out a vast range of new features, improvements, and performance enhancements including:
* Support for **Components V2**
* Support for **Text Displays**, and **All Select Menus** in Modals
* A **Marketplace** for users to upload creations
* **improved Modules Management System (MMS)**,
* Numerous **performance and stability enhancements**
and so much more. Additionally, all restrictions previously enforced have been removed to signify the change from a free platform to a paid platform. These changes have not just affected the [site/dashboard](https://botwiz.dev/)
but have extended to the bots too; Seeing a **2-3x speed improvement** on responsiveness and interaction handling speed.
###
[](https://docs.botwiz.dev/docs/updates-and-changelogs/2025/transitioning-to-a-paid-platform#what-happens-to-free-users-bots)
What Happens to Free Users Bots?
We know that there will be a lot of uncertainty regarding the usage and accessibility of applications/bots that do not have an active Premium Subscription. However, we can safely reassure you that your applications/bots will not be removed. Adding onto this, free users will still be able to access the [dashboard](https://botwiz.dev/) at any time to create new flows, or copy existing flows to another provider/service if desired.
So what exactly has changed for free users? Well, not much. You can still do the same as previously. However, we have limited the space on servers to premium applications/bots only. This means if your application/bot does not have an active premium subscription, you will not be able to enable your application/bot. Additionally, due to support demand. We have restricted access to our support channels within our [Discord server](https://discord.gg/botwiz)
to premium users only.
While we know these changes will have a vast impact on a lot of users, with **99.86%** of users not having an active premium subscription at the time of writing this update (`6th November 2025 11/06/2025`). Changes had to be made to ensure our platform remains reliable for the users who use it, as well as to ensure it generates enough profit to sustain itself for the future.
###
[](https://docs.botwiz.dev/docs/updates-and-changelogs/2025/transitioning-to-a-paid-platform#so-whats-coming-next)
So, What's Coming Next?
Now we have reasonably recovered from the issues mentioned previously, we have our eye on some new goals and some massive updates and plans that we are actively working on in the background. As we progress forward with this new stage we will continue to roll out new patches and minor updates to ensure users can enjoy BotWiz and evolve their creations with new features and performance enhancements.
We invite you to stay updated about the latest features and improvements published via our [Discord server](https://discord.gg/botwiz)
, or our updates list.
[Previous2025](https://docs.botwiz.dev/docs/updates-and-changelogs/2025)
[NextGet Started](https://docs.botwiz.dev/docs/dashboard/get-started)
Last updated 8 months ago
* [What Happens to Free Users Bots?](https://docs.botwiz.dev/docs/updates-and-changelogs/2025/transitioning-to-a-paid-platform#what-happens-to-free-users-bots)
* [So, What's Coming Next?](https://docs.botwiz.dev/docs/updates-and-changelogs/2025/transitioning-to-a-paid-platform#so-whats-coming-next)
---
# Settings | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/dashboard/settings.md)
.
The settings page allows you to customize & edit your bot's functionality, customizing default error messages to data and security throughout your bot.
###
[](https://docs.botwiz.dev/docs/dashboard/settings#general)
General
The general page allows you to operate bot controls and customize the visual aspects of your bot, such as the **Activity** **& Status**.

###
[](https://docs.botwiz.dev/docs/dashboard/settings#customization)
Customization
The customization page allows you to edit the bots profile, such as the name, banner and the bio.

###
[](https://docs.botwiz.dev/docs/dashboard/settings#data-and-security)
Data & Security
The data & security page allows you to edit the 'backend' features of the bot, such as viewing & updating your bot token, refreshing bots data and deleting your bot.


###
[](https://docs.botwiz.dev/docs/dashboard/settings#default-messages)
Default Messages
The default messages page covers any default error messages your bot may send. These defaults can range from Command not found error messages to command cooldown messages.

List of Command Errors in Default Messages Page
Description
Command not found
This message is sent when a user tries to use a command that does not exist.
Command cooldown
This message is sent when a user tries to use a command that is on cooldown. Use {time\_remaining} to display the remaining time.
Command DM permission
This message is sent when someone uses a command in DM's while not allowed.
Command guild permission
This message is sent when someone uses a command in a guild while not allowed.
Command allowed role permission
This message is sent when someone uses a command which requires a role they don't have.
Command denied permission
This message is sent when someone uses a command which bans a role they have.
Command allowed channel permission
This message is sent when a command is ran in a channel that is not whitelisted.
Command denied channel permission
This message is sent when a command is ran in a channel that is banned.
Command allowed guild permission
This message is sent when a command is ran in a guild that is not whitelisted.
Command denied guild permission
This message is sent when a command is ran in a guild that is banned.
Command allowed permissions permission
This message is sent when a user runs this command while not having a permission.
Command denied permissions permission
This message is sent when a user runs this command with a blacklisted permission.
List of Button Errors on Default Messages Page
Description
Button trigger not found
This message triggers if the command / event that the button is linked to does not exist.
List of Menu Errors on Default Messages Page
Description
Menu trigger not found
This message triggers if the command / event that the menu is linked to does not exist.
###
[](https://docs.botwiz.dev/docs/dashboard/settings#premium)
Premium
The Premium page can be used to purchase premium features for your bot. Purchasing premium gives your bot countless more options [See here](https://botwiz.dev/#prices)
.
###
[](https://docs.botwiz.dev/docs/dashboard/settings#integrations)
Integrations
The integrations page is used to find information on your but like your OpenAI Token, Deepseek Token, and Anthropic Token.

[PreviousGet Started](https://docs.botwiz.dev/docs/dashboard/get-started)
[NextPremium Free Trial (BETA)](https://docs.botwiz.dev/docs/dashboard/premium-free-trial-beta)
Last updated 4 months ago
* [General](https://docs.botwiz.dev/docs/dashboard/settings#general)
* [Customization](https://docs.botwiz.dev/docs/dashboard/settings#customization)
* [Data & Security](https://docs.botwiz.dev/docs/dashboard/settings#data-and-security)
* [Default Messages](https://docs.botwiz.dev/docs/dashboard/settings#default-messages)
* [Premium](https://docs.botwiz.dev/docs/dashboard/settings#premium)
* [Integrations](https://docs.botwiz.dev/docs/dashboard/settings#integrations)
---
# Discord JS | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/misc/discord-js.md)
.
This page will be used to learn more about Discord JS, in terms of properties & finding how to refer to more information by using interaction, event and attachment variables. E.g., {interaction\[guild.name\]}.
[](https://docs.botwiz.dev/docs/misc/discord-js#navigating-the-discord-js-docs)
Navigating the Discord JS Docs
-------------------------------------------------------------------------------------------------------------------
[](https://docs.botwiz.dev/docs/misc/discord-js#properties-what-are-they)
Properties: what are they?
---------------------------------------------------------------------------------------------------------
###
[](https://docs.botwiz.dev/docs/misc/discord-js#variable-examples)
Variable Examples
[](https://docs.botwiz.dev/docs/misc/discord-js#multi-property-variables)
Multi-property Variables
-------------------------------------------------------------------------------------------------------
Last updated 1 year ago
* [Navigating the Discord JS Docs](https://docs.botwiz.dev/docs/misc/discord-js#navigating-the-discord-js-docs)
* [Properties: what are they?](https://docs.botwiz.dev/docs/misc/discord-js#properties-what-are-they)
* [Variable Examples](https://docs.botwiz.dev/docs/misc/discord-js#variable-examples)
* [Multi-property Variables](https://docs.botwiz.dev/docs/misc/discord-js#multi-property-variables)
---
# Builder | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/creations/commands/builder.md)
.
[](https://docs.botwiz.dev/docs/creations/commands/builder#builder-tools)
Builder Tools
--------------------------------------------------------------------------------------------
The Builder Tools allow you to edit your builders functionality. By clicking the icons, you can navigate the tool options and incorporate any desired actions, conditions and options into your command or event. See the chart below for all icons related to their function:
Icon
Name
Description

[Actions](https://docs.botwiz.dev/docs/blocks/actions)
Find a list of actions to implement to your bot.

[Conditions](https://docs.botwiz.dev/docs/blocks/conditions)
Find a list of conditions to implement to your bot.

[Options](https://docs.botwiz.dev/docs/blocks/options)
Find a list of options to implement to your bot.

[Variables](https://docs.botwiz.dev/docs/creations/variables)
Easily view, edit and create new custom and unique variables.

Problems
See all current problems your builds has.

Logs
See all logs related to your build.

Migrations
Migrate commands and events to your builder.

Builds
Use this option to switch builders.
###
[](https://docs.botwiz.dev/docs/creations/commands/builder#actions)
Actions
The Actions tab enables you to define the specific tasks and functions your bot can execute. Through this tab, you can add a variety of actions ranging from simple responses to complex workflows. Actions are essential for customizing your bot's behavior, allowing it to perform tasks like sending messages, modifying data, or interacting with third-party APIs. Use the Actions tab to enhance your bot's capabilities and automate processes seamlessly.

###
[](https://docs.botwiz.dev/docs/creations/commands/builder#conditions)
Conditions
The Conditions tab lets you specify the criteria under which certain actions or commands should be executed by your bot. By defining conditions, you can dictate how your bot responds to specific inputs or events. Leverage conditions to make your bot's interactions more dynamic and responsive, ensuring it acts appropriately in different scenarios.

###
[](https://docs.botwiz.dev/docs/creations/commands/builder#options)
Options
The Options tab offers a range of settings that let you fine-tune how your bot behaves when running a command. This is where you can define input preferences, prompting the user for specific details the bot needs to execute properly. For example, using the **Role Option**, the bot can ask the user to select a specific role—provided you’ve set up the necessary variables to link that input to your command logic. Options like these make your commands more flexible, interactive, and customizable based on user input.

###
[](https://docs.botwiz.dev/docs/creations/commands/builder#variables)
Variables
Variables allow you to store and reference custom values throughout your bot’s commands and events. Variables come in different types, each serving a specific purpose. When accessing the Variable tab, you'll encounter two main categories: **Custom** and **Unique**. Custom variables are shared across users and sessions, making them ideal for storing global data like usage counters or server settings. Unique variables, on the other hand, are temporary and specific to the current event or interaction, often used to handle things like user input or dynamic responses.

###
[](https://docs.botwiz.dev/docs/creations/commands/builder#problems)
Problems
The Problems tab displays any active issues with your custom command or event. Each problem listed helps identify errors or missing elements that may prevent your command from working correctly.

###
[](https://docs.botwiz.dev/docs/creations/commands/builder#logs)
Logs
The Logs tab allows you to view all current and previous errors your bot has encountered. For example if your bot cannot send a message to a channel, the error will show here.

###
[](https://docs.botwiz.dev/docs/creations/commands/builder#migrations)
Migrations
Migrations allow you to import a share-code either for an event or a command, that you have received from someone. Migrates also allows you to export a command / event that you have created to show off!
###
[](https://docs.botwiz.dev/docs/creations/commands/builder#builds)
Builds
Using this option will allow you to navigate between builds in your custom command or event directory. This can be extremely useful, especially when referencing other commands.
[](https://docs.botwiz.dev/docs/creations/commands/builder#command-tree)
Command Tree
------------------------------------------------------------------------------------------
The Builder Command Tree is a vital element to organizing and visualizing the structure of your custom commands or events. It clearly displays how each component connects and flows, making it easier to build, understand, and maintain complex command logic. The Command Tree follows a **sequential order**, meaning actions are executed from top to bottom—each action must occur before the one below it can run. This structured layout ensures logical progression and helps prevent errors during execution.
[](https://docs.botwiz.dev/docs/creations/commands/builder#command-options-and-settings)
Command Options and Settings
--------------------------------------------------------------------------------------------------------------------------
At the top of your builder, you will see various options to choose from—from exiting the builder to the settings for the builder. Each button serves its own purpose and this section will break down how each option's purpose and usage.
###
[](https://docs.botwiz.dev/docs/creations/commands/builder#exit-builder)
Exit Builder
When selecting the option to exit the Builder, you'll be prompted with a confirmation message to ensure you truly intend to leave. This safeguard is in place because any unsaved changes will be permanently lost upon exiting. It's recommended to review your work and save any progress before confirming your decision to exit the Builder.
It is strongly recommended that you save your work frequently to avoid losing progress. Since unsaved changes will be lost if you accidentally exit the Builder or encounter a disruption, saving often helps ensure your work is preserved and minimizes the risk of needing to rebuild important parts of your command or event.
###
[](https://docs.botwiz.dev/docs/creations/commands/builder#help)
Help
This button provides quick access to helpful resources while you're editing your command. It's strongly recommended that you review the official documentation for detailed guidance and make use of the BotWiz Discord server to ask questions, get assistance, or troubleshoot any issues you encounter during the building process. Taking advantage of these resources will help you build more effectively and avoid common mistakes.
###
[](https://docs.botwiz.dev/docs/creations/commands/builder#purge)
Purge
Selecting this button will clear **ALL** added features that you've added to your builder for that particular command or event.
If you have cleared your builder accidentally and wish to recover the purged work, do **NOT** press the **Save Builder** button, as that will save the current (empty) state of the build. Instead, simply press the **Exit Builder** button and navigate back into your builder and your previously configured command tree should be restored.
###
[](https://docs.botwiz.dev/docs/creations/commands/builder#save-builder)
Save Builder
Use this button to save your work within your builder.
It is strongly recommended that you save your work frequently to avoid losing progress. Since unsaved changes will be lost if you accidentally exit the Builder or encounter a disruption, saving often helps ensure your work is preserved and minimizes the risk of needing to rebuild important parts of your command or event.
###
[](https://docs.botwiz.dev/docs/creations/commands/builder#command-settings)
Command Settings
Pressing this button will prompt you with another page with various features within your builder.

Page
Description
General
Edit general features on your builder-such as the background pattern!
Blocks
Customizations
Default Values
Co-Create
Formatting
Hot Keys
Backups
[PreviousCommands](https://docs.botwiz.dev/docs/creations/commands)
[NextEvents](https://docs.botwiz.dev/docs/creations/events)
Last updated 4 months ago
* [Builder Tools](https://docs.botwiz.dev/docs/creations/commands/builder#builder-tools)
* [Actions](https://docs.botwiz.dev/docs/creations/commands/builder#actions)
* [Conditions](https://docs.botwiz.dev/docs/creations/commands/builder#conditions)
* [Options](https://docs.botwiz.dev/docs/creations/commands/builder#options)
* [Variables](https://docs.botwiz.dev/docs/creations/commands/builder#variables)
* [Problems](https://docs.botwiz.dev/docs/creations/commands/builder#problems)
* [Logs](https://docs.botwiz.dev/docs/creations/commands/builder#logs)
* [Migrations](https://docs.botwiz.dev/docs/creations/commands/builder#migrations)
* [Builds](https://docs.botwiz.dev/docs/creations/commands/builder#builds)
* [Command Tree](https://docs.botwiz.dev/docs/creations/commands/builder#command-tree)
* [Command Options and Settings](https://docs.botwiz.dev/docs/creations/commands/builder#command-options-and-settings)
* [Exit Builder](https://docs.botwiz.dev/docs/creations/commands/builder#exit-builder)
* [Help](https://docs.botwiz.dev/docs/creations/commands/builder#help)
* [Purge](https://docs.botwiz.dev/docs/creations/commands/builder#purge)
* [Save Builder](https://docs.botwiz.dev/docs/creations/commands/builder#save-builder)
* [Command Settings](https://docs.botwiz.dev/docs/creations/commands/builder#command-settings)
---
# Exports | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/misc/exports.md)
.
Exporting your commands and events can be useful when reaching out for support, transferring the code to another one of your bots, or for sharing with a friend using BotWiz.
As you can see here, we have created a basic kick command. We will be using this to demonstrate exporting and importing.

[](https://docs.botwiz.dev/docs/misc/exports#exporting-a-command-event)
Exporting a Command/Event
------------------------------------------------------------------------------------------------------
Follow these steps to export a command:
1
###
[](https://docs.botwiz.dev/docs/misc/exports#navigate-to-migrations)
Navigate to "Migrations"

2
###
[](https://docs.botwiz.dev/docs/misc/exports#set-a-name-and-description)
Set a name and description
It is important to set a recognizable name and a description that explains the functionality of the export.
3
###
[](https://docs.botwiz.dev/docs/misc/exports#exporting-command-event-content)
Exporting command/event content
**Exporting a section:**
Exporting a section allows you to only export a section of your command/event instead of having to import the whole command/event.
To export a section, you need to press **SHIFT** **+ DRAG** to highlight the section you want to export, then give your export a name and a description, and then click **Export Selected****.**
* * *
**Exporting entire command/event:**
To export the entire command/event, you can simply press Export All. This automatically exports all of your command/event's nodes.
4
###
[](https://docs.botwiz.dev/docs/misc/exports#sharing-your-commands-and-events)
Sharing your commands and events
Directly underneath the import/export menu, you can view your exported Migrations. By hovering over one of these migrations, you can import the migration into your current command, copy the migration's sharecode, or edit migration details. **Create a sharecode** if you are interested in importing this command somewhere else, such as on someone else's bot or into another bot that you own.

5
###
[](https://docs.botwiz.dev/docs/misc/exports#importing-your-migrations)
Importing your migrations
You can now import your migrations using the copied sharecode. Simply navigate back to the **Migrations** menu and select **Import**.
You can also import migrations by clicking the **Import** button on the **Exports** page.

[PreviousDebugging](https://docs.botwiz.dev/docs/misc/debugging)
[NextActions](https://docs.botwiz.dev/docs/blocks/actions)
Last updated 3 months ago
* [Exporting a Command/Event](https://docs.botwiz.dev/docs/misc/exports#exporting-a-command-event)
* [Navigate to "Migrations"](https://docs.botwiz.dev/docs/misc/exports#navigate-to-migrations)
* [Set a name and description](https://docs.botwiz.dev/docs/misc/exports#set-a-name-and-description)
* [Exporting command/event content](https://docs.botwiz.dev/docs/misc/exports#exporting-command-event-content)
* [Sharing your commands and events](https://docs.botwiz.dev/docs/misc/exports#sharing-your-commands-and-events)
* [Importing your migrations](https://docs.botwiz.dev/docs/misc/exports#importing-your-migrations)
---
# Commands | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/creations/commands.md)
.
When updating or creating a new command, you **must** restart your Discord. You can do so by pressing `**CTRL + R**` on your keyboard.
The Command page allows you to view and manage your custom commands for your bot. On this page, you can enable, disable, edit and create new custom commands.
All of your custom commands are listed on this page under the _**Command**_ section.

For this page in particular, this section of the guide will outline two categories:
* Creating a new command.
* Creating a folder for your commands.
[](https://docs.botwiz.dev/docs/creations/commands#creating-a-new-command)
Creating a new command
------------------------------------------------------------------------------------------------------
If you have just created your bot, you will have no commands here by default. To create a new command, click the **Create** button. From there, navigate to the **New Commands** button to open a modal to edit your command's features as shown below.



This will display a modal prompting you to enter a name, and description for your new command, as well as some check boxes to set it to ephemeral, or nsfw. Below you can find a breakdown of what each option means and how it affects the command.
Option
Breakdown
Name
The name you enter here, will be the phrase you use to trigger the command in discord using a / notion. For example I have a command named 'tester'. To run this command I would then use `/tester` in a discord channel my bot has access to.
Description
Due to discord limitations, a description for all commands is required. The description will be displayed under the / (slash) command popup in discord. It's best to pick a descriptive description so you and your members know exactly what the command does.
Type
Choosing the command type determines how the command will be executed. For example, a slash command is triggered by typing a **'/'** followed by the command name in Discord.
Integration Types
Defines how a command interacts with different systems or platforms within your bot’s setup.
NSFW
Enabling this will make it so the command can only be seen in the slash commands context menu, and used in NSFW channels. You can read more about this [here](https://support.discord.com/hc/en-us/articles/115000084051-Age-Restricted-Channels-and-Content)
.
Sub Command
A sub command is a specific action nested under a main (parent) command.
Sub Command Group
A sub command group is a collection of related sub commands grouped under a parent command.
Sub Command Parent
The sub command parent is the main command that holds one or more sub commands or sub command groups.
Sub Command Parent ID
The sub command parent ID is the internal identifier used to link a sub command or sub command group back to its parent.
After creating your first custom command, each custom commands you create will be displayed on the Commands page, along with options on the right side of the command panel. Here you can:
* Enable/Disable the command.
* Edit the command information.
* Go to your builder.

[](https://docs.botwiz.dev/docs/creations/commands#creating-a-folder-for-your-commands)
Creating a folder for your commands
--------------------------------------------------------------------------------------------------------------------------------
Organizing your commands in folders can be helpful in many aspects, especially when managing multiple commands. It makes navigation easier within the commands section and helps you quickly locate and manage related commands. Grouping commands by category is simple, and this section will walk you through how to create, edit, and assign commands to folders for better organization.
###
[](https://docs.botwiz.dev/docs/creations/commands#creating-your-folder)
Creating your folder
If you have just created your bot, you will have no folders here by default. To create a new folder, click the **Create** button. From there, navigate to the **New Folder** button to open a modal to edit your folder's features as shown below.



This will display a modal prompting you to enter a title for the folder and a color to designate to the folder. Once you have chosen your title and color, a new line will populate just below any commands you have made.

###
[](https://docs.botwiz.dev/docs/creations/commands#editing-your-folders)
Editing your folders
To edit your folder's name and color after creating it, simply press on the folder icon.

After clicking the icon, the **Update Folder** modal will open, allowing you to modify your folder. Once you've made all desired changes, simply click the **Update** button to save and apply them.

###
[](https://docs.botwiz.dev/docs/creations/commands#assigning-a-command-to-your-folder)
Assigning a command to your folder
To assign a command to a folder, press and hold your desired command, then drag it to the folder at which you want it assigned to. Once you have added a command to your folder, the folder icon will show a number indicating how many commands you currently have inside the folder.

[PreviousPremium Free Trial (BETA)](https://docs.botwiz.dev/docs/dashboard/premium-free-trial-beta)
[NextBuilder](https://docs.botwiz.dev/docs/creations/commands/builder)
Last updated 4 months ago
* [Creating a new command](https://docs.botwiz.dev/docs/creations/commands#creating-a-new-command)
* [Creating a folder for your commands](https://docs.botwiz.dev/docs/creations/commands#creating-a-folder-for-your-commands)
* [Creating your folder](https://docs.botwiz.dev/docs/creations/commands#creating-your-folder)
* [Editing your folders](https://docs.botwiz.dev/docs/creations/commands#editing-your-folders)
* [Assigning a command to your folder](https://docs.botwiz.dev/docs/creations/commands#assigning-a-command-to-your-folder)
---
# Events | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/creations/events.md)
.
[](https://docs.botwiz.dev/docs/creations/events#discord-events)
Discord Events
------------------------------------------------------------------------------------
These events are specifically triggered once a Discord-related action has taken place. When setting up a Discord event, you will have a wide range of options to choose from, e.g. an event for when a user has joined a server your bot is a member of.
In each Discord event, you can access specific variables such as `{added_member}`. These will be unique to the event, and allow you to access information such as the new member's username. Each Discord event, and variable, is linked to the [Discord JS Documentation](https://discord.js.org/docs/packages/discord.js/14.14.1/GuildMember:Class)
.
To find a full list of Discord events available at BotWiz, see [List of Discord Events](https://docs.botwiz.dev/docs/creations/events/list-of-discord-events)
.
To find out more about Discord's JS Documentation, see [Discord JS](https://docs.botwiz.dev/docs/misc/discord-js)
.
###
[](https://docs.botwiz.dev/docs/creations/events#creating-a-discord-event)
Creating a Discord Event
When creating a new Discord event, you must select an event type. This is for when the event will be triggered, such as for when a role has been created. Additionally, you can set a nickname for the event. This will allow you to keep track of your events, and what they do.

Creating a new Discord event menu. The event type is required, however setting a nickname is optional.
Discord events can be used to create welcomer messages, auto-roles for new members, logging messages for actions such as for when a member has been kicked, and much more! To get started on events like these, see our [BotWiz Guides](https://docs.botwiz.dev/botwiz-guides/)
.
[](https://docs.botwiz.dev/docs/creations/events#timed-events)
Timed Events
--------------------------------------------------------------------------------
Timed events allow you to run custom actions at a scheduled time or time interval. For instance, you can send a message everyday at 6pm your local time. Timed events work like other builders, allowing you to use action and condition blocks, but since this is an event, options can not be used.
###
[](https://docs.botwiz.dev/docs/creations/events#creating-a-timed-event)
Creating a Timed Event
When starting a new timed event, there are only a few options. Firstly, you'll want to select which guild this event will run in and then you can toggle whether this event should run as an interval or on a schedule. Also, with each timed event, you can always set a name.
For an interval, you can input the seconds, minutes, hours or days. To whichever interval you set, this means that the event will trigger every x time set, e.g, if the interval is set to 30 minutes, the event will run every 30 minutes. Do note however, intervals must have at least 30 seconds to work.

Creating a new scheduled timed event.
For a scheduled event, this will run every day at x time you set at the timezone you select. For scheduled events, you can pick to have your bot send a message at 11:00 and 12:00 each day for example. This can be useful for auto-purging channels for instance.
Timed events are not entirely accurate as delays may occur. Please be mindful.
[](https://docs.botwiz.dev/docs/creations/events#webhook-events)
Webhook Events
------------------------------------------------------------------------------------
Webhooks allow you to communicate with third-party services, for setting up systems such as Discord Status updates, or custom reminders. Webhooks are fairly complicated as you will need an understanding of APIs in order to fully configure a webhook. Please see [API](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/api)
to find out more.
Without a third party, a webhook can be used for common events such as a counting channel. Meaning, webhooks can be used to just send a message, imposing the user as a bot, as shown below.

Sending a webhook with a member's information.
###
[](https://docs.botwiz.dev/docs/creations/events#third-party-requests)
Third-Party Requests
For each API request you make, you must use your Webhook Authorization Key as authorization. You can find this key in your bot's Settings > Data & Security. When sending a request, you **must** have a webhook event set up. You can find your webhook URL at your webhook events page.
If you choose to enter any variables in your API request's body, you can use `{interaction[variable_name]}` for example.
Sending Request
**POST** URL: https://webhook.botwiz.dev/BOT\_ID/WEBHOOK\_EVENT\_TOKEN Content-Type: application/json Authorization: WEBHOOK\_KEY Body: {
"Variable\_name”: “variable value”, "Variable\_name2”: “variable value2”, }
Only 6 requests a minute can be submitted.
[](https://docs.botwiz.dev/docs/creations/events#custom-events)
Custom Events
----------------------------------------------------------------------------------
Custom events, unlike other events, are triggered by your other creations. Useful for organizing a large command into multiple builds, custom events can be triggered from any command; meaning multiple commands can run a custom event.
A custom event is unique in comparison to other events, as it has its own block. This block is the one you use to trigger a custom event from inside of another creation (e.g., command or event).

You **must** have a [custom event](https://botwiz.dev/dashboard/bots?destination=custom-events)
before using this block; so you have one to select from.

When using a custom event block, you can pass over data from your command into your event. To refer to any information you enter, you can use `{interaction[name]}` in your custom event. Using the example format below, the 'name' can be 'member', or 'hello'.
All other interactions (e.g., `{interaction[channel.id]}`), modal or unique variables can be used in your custom events as if you were editing the original build that triggers this event.
[PreviousBuilder](https://docs.botwiz.dev/docs/creations/commands/builder)
[NextList of Discord Events](https://docs.botwiz.dev/docs/creations/events/list-of-discord-events)
Last updated 4 months ago
* [Discord Events](https://docs.botwiz.dev/docs/creations/events#discord-events)
* [Creating a Discord Event](https://docs.botwiz.dev/docs/creations/events#creating-a-discord-event)
* [Timed Events](https://docs.botwiz.dev/docs/creations/events#timed-events)
* [Creating a Timed Event](https://docs.botwiz.dev/docs/creations/events#creating-a-timed-event)
* [Webhook Events](https://docs.botwiz.dev/docs/creations/events#webhook-events)
* [Third-Party Requests](https://docs.botwiz.dev/docs/creations/events#third-party-requests)
* [Custom Events](https://docs.botwiz.dev/docs/creations/events#custom-events)
Copy
{
member: {interaction[member.id]}
channel: {interaction[channel.id]}
hello: {unique_hello}
example: example
}
---
# Debugging | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/misc/debugging.md)
.
They allow you to view all of your successes, errors and any information your bot receives.
Bot logs can be triggered by any command or event and can be used to debug an error you may be encountering. Some errors cause fatal errors with commands; others can go unnoticed. Which means your command could work with a slight error, or the command will just not respond.

[](https://docs.botwiz.dev/docs/misc/debugging#troubleshooting)
Troubleshooting
------------------------------------------------------------------------------------
Troubleshooting errors can be useful to debug commands, with fixing small errors to make the command efficient or to simply make the command work.
[PreviousEvent Variables](https://docs.botwiz.dev/docs/creations/variables/event-variables)
[NextExports](https://docs.botwiz.dev/docs/misc/exports)
Last updated 4 months ago
---
# Voice Actions | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/blocks/actions/voice-actions.md)
.
---
# Advanced Variables | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/creations/variables/advanced-variables.md)
.
Advanced variables are a set of variables that typically is only used for set use-cases. These are considered advanced as most users may not find a use for them. Below you can find a list of all current advanced variables BotWiz has to offer.
square-xmark
**These variables have been deprecated. You can use the new variables by searching for their equivalent in the Variables menu.**
Variable
Equivalent After Deprecation
Use Case
{adv\_bot}
{bot}
Returns the Discord.js bot object. This does **NOT** include the bot's authorization token. View more [here](https://discord.js.org/docs/packages/discord.js/14.15.3/Client:Class)
.
{adv\_botPing}
{botPing}
Returns the current ping of the bot in milliseconds
{adv\_botStatus}
{botStatus}
Returns the current status of the bot (Idle, do not disturb, online, etc)
{adv\_botActivityType}
{botActivityType}
Returns the current activity type for the bot (Streaming, Playing, etc)
{adv\_botActivity}
{botActivity}
Returns the current activity for the bot (the custom status)
{adv\_botUpdateTime}
No equivalent at this time
Returns the current set interval for the bot's activity rotation (if defined)
{adv\_isInGuild\[string,boolean\]}
No equivalent at this time
Returns a true/false boolean indicating if the user is in the same guild as the bot. Setting the final argument to true will make this variable search all the guilds the bot is in; otherwise, it will just search the guild where the interaction was created.
The first argument takes a user ID. The second argument takes a boolean.
[PreviousFunction Variables](https://docs.botwiz.dev/docs/creations/variables/function-variables)
[NextEvent Variables](https://docs.botwiz.dev/docs/creations/variables/event-variables)
Last updated 4 months ago
---
# Unique Variables | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/creations/variables/unique-variables.md)
.
Unique variables can be created via the Variables navigation in the builders toolbar. There are no set limits on the total character count or positions a unique variable can hold. Users can create an unlimited amount of unique variables to help create and deploy advanced commands and events.
Unlike Event variables, Unique Variables can be used anywhere in the builder where you created it. You can also opt for the values to be guild specific or spread across all the guilds your bot is a member of.

Image shows the navigation to the variables tab
###
[](https://docs.botwiz.dev/docs/creations/variables/unique-variables#usage)
Usage
To use a custom variable you can reference it using `{unique_[name]}`. Ensure you replace `**[name]**`with the name you chose for the unique variable when creating it.
Arrays always start at 0 and increase with each value. So keep this in mind when trying to provide an index value for your array reference. For example:
> If you store "apple" as the first value in the array, you would instinctively use 1 as the index. However, due to arrays starting at 0, the correct index for it would be 0. To simplify this, simply take away - 1 from the number you get when counting how many values are in the array. This is an easy way to find the correct index for the value you wish to retrieve.
###
[](https://docs.botwiz.dev/docs/creations/variables/unique-variables#array-variable-usage)
Array Variable Usage
Referencing custom arrays is simple. You must use a function to perform the action you wish to perform, a list of functions can be found on this page. Any function that accepts an array can be used with unique array variables.
[PreviousBot Variables](https://docs.botwiz.dev/docs/creations/variables/custom-variables/bot-variables)
[NextFunction Variables](https://docs.botwiz.dev/docs/creations/variables/function-variables)
Last updated 1 year ago
* [Usage](https://docs.botwiz.dev/docs/creations/variables/unique-variables#usage)
* [Array Variable Usage](https://docs.botwiz.dev/docs/creations/variables/unique-variables#array-variable-usage)
---
# Custom Variables | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/creations/variables/custom-variables.md)
.
Custom variables can be created via the [Bot Variables](https://docs.botwiz.dev/docs/creations/variables/custom-variables/bot-variables)
page. There are multiple different types of custom variables which is covered [here](https://docs.botwiz.dev/docs/creations/variables/custom-variables/bot-variables#type)
. There are no set limits on the total character count or positions a variable can hold. Users can create an unlimited amount of custom variables to help create and deploy advanced commands and events.
Unlike Event variables, Custom Variables can be used anywhere, in events, or commands. You can also opt for the values to be guild specific or spread across all the guilds your bot is a member of.
###
[](https://docs.botwiz.dev/docs/creations/variables/custom-variables#usage)
Usage
To use a custom variable you can reference it using `{custom_[variableName]}`. Ensure you replace `**[variableName]**` with the name you chose for the custom variable when creating it on the Bot Variables page.
Arrays always start at 0 and increase with each value. So keep this in mind when trying to provide an index value for your array reference. For example:
> If you store "apple" as the first value in the array, you would instinctively use 1 as the index. However, due to arrays starting at 0, the correct index for it would be 0. To simplify this, simply take away - 1 from the number you get when counting how many values are in the array. This is an easy way to find the correct index for the value you wish to retrieve.
###
[](https://docs.botwiz.dev/docs/creations/variables/custom-variables#array-variable-usage)
Array Variable Usage
Referencing custom arrays is simple. You must use a function to perform the action you wish to perform, a list of functions can be found on this page. Any function that accepts an array can be used with custom array variables.
[PreviousInteraction & Default Variables](https://docs.botwiz.dev/docs/creations/variables/interaction-and-default-variables)
[NextBot Variables](https://docs.botwiz.dev/docs/creations/variables/custom-variables/bot-variables)
Last updated 4 months ago
* [Usage](https://docs.botwiz.dev/docs/creations/variables/custom-variables#usage)
* [Array Variable Usage](https://docs.botwiz.dev/docs/creations/variables/custom-variables#array-variable-usage)
---
# Interaction & Default Variables | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/creations/variables/interaction-and-default-variables.md)
.
Basic variables consist of regular/most commonly used variables such as: {interaction} or {channel}. These are usable with any event or command interaction.
Below you can find a full list of basic variables.
Variable
Use Case
{interaction}
Returns the interaction object for the command, button or select menu trigger. This includes the Member, User, Channel, and Guild objects.
When using the {interaction} variable, please note that every button, select menu and modal click will change the value of the variable. This results in the interaction data being overwritten with new data for the newly created interaction.
###
[](https://docs.botwiz.dev/docs/creations/variables/interaction-and-default-variables#interaction-examples)
Interaction Examples
Member
Channel
Guild
You can find the full list of member properties [here](https://discord.js.org/docs/packages/discord.js/14.15.3/GuildMember:Class).
Variable
Example
Use case
`[member.displayName]`
Jamie
Returns the user's displayName in the server the interaction was used in.
`[member.id]`
718039190935306351
Returns the ID of the user who used the interaction.
You can find the full list of channel properties [here](https://discord.js.org/docs/packages/discord.js/14.15.3/GuildChannel:Class)
.
Variable
Example
Use Case
`[channel.parentId]`
1161086203890778192
Returns the category ID of the channel the interaction was used in.
`[channel.name]`
💬┃general
Returns the channel name that the interaction was used in.
`[channel.id]`
1161086224690315365
Returns the channel ID that the interaction was used in.
You can find the full list of Guild properties [here](https://discord.js.org/docs/packages/discord.js/14.15.3/Guild:Class)
.
Variable
Example
Use Case
`[guild.name]`
BotWiz.dev
Returns the name of the server that the interaction was used in.
`[guild.createdAt]`
Mon Jul 08 2024 12:35:06 GMT+0000 (Coordinated Universal Time)
Returns the date the server was created at.
`[guild.id]`
856011486077255690
Returns the ID of the server where the interaction was used.
To use properties within the **Interaction** variable you will need to use the following format:
Copy
{interaction[]}
###
[](https://docs.botwiz.dev/docs/creations/variables/interaction-and-default-variables#default-variable-examples)
Default Variable Examples
These variables allow quick access to Discord objects. It returns the complete Discord object, with the exception of the `{bot}` variable, which has been modified to exclude the token for security purposes.
Each variable also gives you the option to target a specific object, not just the default object. An example of how to get a members display name would be:
Copy
{member[MEMBER_ID][displayName]}
All variables have an optional ID option, except for the role variable.
Variable
Default Return
Allows Target ID
Requires ID
{user}
The user mention of the executor of that command or event. <@USER\_ID>
{member}
The member mention of the executor of that command or event. <@MEMBER\_ID>
{guild}
The guild name of the guild that the event or command was executed in.
{channel}
The channel mention of the channel that the event or command was executed in. <#CHANNEL\_ID>
{bot}
The bot id of your bot.
{role\[ROLE\_ID\]}
The role id of a specified role in the guild the command or event was executed in.
[PreviousVariables](https://docs.botwiz.dev/docs/creations/variables)
[NextCustom Variables](https://docs.botwiz.dev/docs/creations/variables/custom-variables)
Last updated 1 year ago
* [Interaction Examples](https://docs.botwiz.dev/docs/creations/variables/interaction-and-default-variables#interaction-examples)
* [Default Variable Examples](https://docs.botwiz.dev/docs/creations/variables/interaction-and-default-variables#default-variable-examples)
---
# Bot Variables | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/creations/variables/custom-variables/bot-variables.md)
.
The Variables page allows you to create [custom variables](https://docs.botwiz.dev/docs/creations/variables/custom-variables)
which can be used in any command, event or timed event on your bot.

BotWiz allows you to create multiple different types of variables each having its own unique purpose and plus points. Creating a variable is super easy, on the Bot Variables page, the first section on the page will allow you to create a custom variable.
You can customize the following options for the new custom variable:
* Name
* Type
* Default Value
* Scope
###
[](https://docs.botwiz.dev/docs/creations/variables/custom-variables/bot-variables#name)
Name
This input will allow you to pick a custom name for the variable which you will use to reference the variable to retrieve data from it. This can be done by entering: `{custom_[name]}` into any text input block on any command or event for the bot. **Ensure you replace** `**[name]**` **with the name you entered for the custom variable when creating it.**
###
[](https://docs.botwiz.dev/docs/creations/variables/custom-variables/bot-variables#type)
**Type**
Option
Information
Text
Sets the variable to store a string, allowing it to accept any value, from numbers, letters or symbols.
Number
Sets the variable to store a number, allowing only numbers to be stored. This also allows the variable to be used in the [Calculate variable](https://docs.botwiz.dev/docs/blocks/actions/variable-actions/calculate-variable)
block.
Channel
Sets the variable to work in a specific channel, this allows you to store data for a specific channel, rather than for the entire server.
User
Sets the variable to store values for a specific user.
Array
Sets the variable to store an array / list of values, this allows you to store multiple values in separate positions.
When you select a channel, user or array type. It will then allow you to again specify if it is a user, or channel specific variable.
###
[](https://docs.botwiz.dev/docs/creations/variables/custom-variables/bot-variables#default-value)
Default Value
Setting a default value will make the variable start with the value specified in this input rather than starting as `null`. By setting it to 0 it would mean the users start off without a single warning and it will display 0 rather than `blank`.
###
[](https://docs.botwiz.dev/docs/creations/variables/custom-variables/bot-variables#scope)
Scope
Option
Information
Guild
Sets the variable to store data in each guild the bot is in. This means you are only able to update that guilds data in said variable by using a command or event in that specific guild.
Global
Sets the variable to store data on a global basis. Meaning anytime the variable is updated, the changes will be reflected in all guilds the bot is in.
###
[](https://docs.botwiz.dev/docs/creations/variables/custom-variables/bot-variables#viewing-existing-variables)
Viewing existing variables
You can view all your existing custom variables at the bottom of the variables page.

Image shows the variables page with existing variables.
Clicking on one of the variables will allow you to edit or delete the variable. When editing, you can change everything about the variable as if you were re-making it.
Once the variable is deleted, there is no way to get it or its data back. They are removed from our systems too.
[PreviousCustom Variables](https://docs.botwiz.dev/docs/creations/variables/custom-variables)
[NextUnique Variables](https://docs.botwiz.dev/docs/creations/variables/unique-variables)
Last updated 1 year ago
* [Name](https://docs.botwiz.dev/docs/creations/variables/custom-variables/bot-variables#name)
* [Type](https://docs.botwiz.dev/docs/creations/variables/custom-variables/bot-variables#type)
* [Default Value](https://docs.botwiz.dev/docs/creations/variables/custom-variables/bot-variables#default-value)
* [Scope](https://docs.botwiz.dev/docs/creations/variables/custom-variables/bot-variables#scope)
* [Viewing existing variables](https://docs.botwiz.dev/docs/creations/variables/custom-variables/bot-variables#viewing-existing-variables)
---
# Variables | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/creations/variables.md)
.
Variables are important to use with BotWiz as it adds customisation and functionality to your bot.
In the following subpages you will learn about:
* Interaction Variables
* Custom variables
* Unique variables
* Function Variables
* Advanced Variables
* Event Variables
Option
Information
Text
Sets the variable to store a string, allowing it to accept any value, from numbers, letters or symbols.
Number
Sets the variable to store a number, allowing only numbers to be stored. This also allows the variable to be used in the [Calculate variable](https://docs.botwiz.dev/docs/blocks/actions/variable-actions/calculate-variable)
block.
Array
Sets the variable to store an array / list of values, this allows you to store multiple values in separate positions. (Starting at 0)
User
Sets the variable to store values for a specific user.
Channel
Sets the variable to work in a specific channel, this allows you to store data for a specific channel, rather than for the entire server.
Object
An **object variable** is a type of variable used to store and manipulate complex data structures.
####
[](https://docs.botwiz.dev/docs/creations/variables#custom-variables)
Custom Variables
To create a **Custom Variable** click on the `**+ Create Variable**` button, A modal will pop up asking for the following data:
Data
Description
Name
The name of your variable.
Type
The type of variable you want to store.
Default Value
This is an optional value, but you can set this as you see fit.
Scope
This has 2 options: Guild - The variable will be available only in the server where the variable value was created. Global - The variable will be available in any server your bot is in.
####
[](https://docs.botwiz.dev/docs/creations/variables#unique-variables)
Unique Variables
You can create unique variables the same way to create custom variables in the builder.
Unique variables are unique to the builder, which means the unique variables you create can only be used inside that builder.
[PreviousList of Discord Events](https://docs.botwiz.dev/docs/creations/events/list-of-discord-events)
[NextInteraction & Default Variables](https://docs.botwiz.dev/docs/creations/variables/interaction-and-default-variables)
Last updated 11 months ago
---
# Music Actions | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/blocks/actions/music-actions.md)
.
---
# Teams | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/misc/teams.md)
.
---
# Function Variables | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/creations/variables/function-variables.md)
.
Some functions will require certain things to be inputted, this could be a date, the unit it outputs the value in, and more.
Note: Functions cannot have spaces in them when typed unless it's between two speech marks ("like this").
Function
Usage
Description
{func\_hasRoles()}
{func\_hasRoles(\[1231035953372467240,1185606519811756082\])}
Check if a user has the roles in the array (list the IDs).
Parameter: \[USER\_ID\]
{func\_randomItem()}
{func\_randomItem(\[1,2,3\])}
Get a random item from the array. Parameter: \[Number\]
{func\_atPosition(\[\]), \[\]}
{func\_atPosition(\[a,b,c\]), \[1\]}
Get the element at the specified index. (1 in the example).
{func\_size(\[\])}
{func\_size(\[1,2,3\])}
Get the size of the array \[1, 2, 3\].
{func\_replace()}
{func\_replace(hello world, world universe)}
Replaces world with universe in the string.
Parameter: \[First\_OCC or ALL\_OCC, test\]
{func\_toUpperCase()}
{func\_toUpperCase(hello)}
Converts the string to uppercase.
(Result: HELLO)
{func\_toLowerCase()}
{func\_toLowerCase(HELLO)}
Converts the string to lowercase.
(Result: hello)
{func\_toTitleCase()}
{func\_toTitleCase(hello world)}
Converts the string to title case.
(Result: Hello World)
{func\_trim()}
{func\_trim( hello )}
Removes the spaces before and after a string. (Result: hello)
{func\_substring()}
{func\_substring(hello world, 0, 5)}
Extracts the selected string from the larger string. (hello from world)
{func\_length()}
{func\_length(hello)}
Returns the string's length.
(Result: 5)
{func\_split()}
{func\_split(a-b-c, -)}
Splits the string at the specified character into an array.
(Result: \[a,b,c\])
{func\_concat()}
{func\_concat(hello, world)}
Concatenates (joins) hello and world.
{func\_contains()}
{func\_contains(hello world, world)}
Checks if the string contains another string. (if it contains world)
{func\_startsWith()}
{func\_startsWith(hello world, hello)}
Checks if a string starts with another string.
{func\_endsWith()}
{func\_endsWith(hello world, world)}
Checks if a string ends with another string.
{func\_indexOf()}
{func\_indexOf(\[1,2,3\]), \[1\]}
Returns the index of the number 1 which in this case is 0
{func\_lastIndexOf()}
{func\_lastIndexOf(hello world hello,hello)}
Returns the last index of a string in another string. (If it appears more than once, otherwise it's the same as the one above)
{func\_charAt()}
{func\_charAt(hello,1)}
Returns the character that is in the specified index (index being 1 in this example)
{func\_scramble()}
{func\_scramble(hello)}
Scrambles the string given.
{func\_reverse()}
{func\_revers(hello)}
Reverses the string given. (Result: elloh)
{func\_repeat()}
{func\_repeat(hello, 3)}
Repeats the string the amount of times given. (In this case: 3)
{func\_generateRandomString()}
{func\_generateRandom
String(3)}
Generates a random string with the specified length (In this case: 3)
{func\_equation()}
{func\_equation(5 + 3 / 2)}
Solves the given equation and returns the answer.
{func\_randomNumber()}
{func\_randomNumber(1, 5)}
Returns a random number in the given range.
{func\_roundNumber()}
{func\_round
Number(3.14159, 2)}
Rounds the number to the given number of decimal places. (Result: 3.14)
{func\_isNumber()}
{func\_isNumber(123)}
Checks if a number is valid.
{func\_ISOtoUnix()}
{func\_ISOtoUnix(Your Date)}
Converts the ISO date to Unix.
{func\_UnixToISO()}
{func\_UnixToISO(Your Date)}
Converts the Unix date to ISO.
{func\_isSameDate()}
{func\_isSameDate(date, date)}
Checks if 2 dates are the same.
{func\_currentTime()}
X
Returns the current time in HH:mm:ss format.
{func\_currentDateTime()}
X
Returns the current time in YYYY-MM-DD HH:mm:ss format.
{func\_currentTimestamp()}
X
Returns the current timestamp in seconds.
{func\_currentTimestampMillis()}
X
Returns the current timestamp in milliseconds.
{func\_formatDate()}
{func\_formatDate(2024-01-01, MM/DD/YYYY)
Formats the date into the desired format.
{func\_addTime()}
{func\_addTime(date, number, unit)}
Adds the desired amount of time to a date.
{func\_subtractTime()}
{func\_subtractTime(date, number, unit)}
Removes the desired amount of time from a date.
{func\_differenceTime()}
{func\_differenceTime(date1, date2, unit)}
Calculates the difference between 2 dates in the specified unit.
{func\_isBeforeDate()}
{func\_isBeforeDate(date1, date2)}
Checks if date1 is before date2.
{func\_isAfterDate()}
{func\_isAfterDate(date1, date2)}
Checks if date1 is after date2.
{func\_isSameDate()}
{func\_isSameDate(date1, date2)}
Checks if date1 and date2 are the same date.
{func\_indexOfString()}
{func\_indexOfString(hello world, world)}
Returns the last index of the string
[PreviousUnique Variables](https://docs.botwiz.dev/docs/creations/variables/unique-variables)
[NextAdvanced Variables](https://docs.botwiz.dev/docs/creations/variables/advanced-variables)
Last updated 1 year ago
---
# Event Variables | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/creations/variables/event-variables.md)
.
Event variable are specific to just events. These will not be usable in commands nor will they display in the variable list for a command. Below you can find a complete and up-to-date list of variables that are usable in events.
All variables are exact returns from Discord.js, meaning you are able to access all properties of the variable object while using it. You can find a list of all properties returned by each variable [here](https://discord.js.org/docs/packages/discord.js/14.15.3)
.
###
[](https://docs.botwiz.dev/docs/creations/variables/event-variables#channel)
Channel
Variable
Description
{created\_channel}
Channel Created
{deleted\_channel}
Channel Deleted
{updated\_old\_channel} & {updated\_new\_channel}
Channel Updated
###
[](https://docs.botwiz.dev/docs/creations/variables/event-variables#guild)
Guild
Variable
Description
{auditLog\_entry}
Guild Audit Log Entry Create
{guild\_available}
Guild Available
{guild\_create}
Guild Create
{guild\_delete}
Guild Delete
{guild\_integration\_update}
Guild Integration Update
{ban\_add}
Guild Ban Add
{ban\_remove}
Guild Ban Remove
{added\_member}
Guild Member Add/Join
{removed\_member}
Guild Member Remove/Leave
{updated\_old\_member} &
{updated\_new\_member}
Guild Member Updated
{scheduled\_event\_create}
Guild Scheduled Event Create
{scheduled\_event\_delete}
Guild Scheduled Event Delete
{scheduled\_event\_update}
Guild Scheduled Event Update
{scheduled\_event\_user\_add}
Guild Scheduled Event User Add
{scheduled\_event\_user\_remove}
Guild Scheduled Event User Remove
{guild\_unavailable}
Guild Unavailable
{guild\_new} & {guild\_old}
Guild Update
###
[](https://docs.botwiz.dev/docs/creations/variables/event-variables#invite)
Invite
Variable
Description
{invite\_create}
Invite Create
{invite\_delete}
Invite Delete
###
[](https://docs.botwiz.dev/docs/creations/variables/event-variables#message)
Message
Variable
Description
{created\_message}
Message Create
{deleted\_message}
Message Delete
{message\_bulk\_delete}
Message Bulk Delete
{message\_reaction\_add}
Message Reaction Add
{message\_reaction\_remove}
Message Reaction Remove
{message\_reaction\_remove\_all}
Message Reaction Remove All
{message\_reaction\_remove\_emoji}
Message Reaction Remove Emoji
{updated\_new\_message} & {updated\_old\_message}
Message Update
###
[](https://docs.botwiz.dev/docs/creations/variables/event-variables#role)
Role
Variable
Description
{created\_role}
Role Create
{deleted\_role}
Role Delete
{update\_old\_role} & {updated\_new\_role}
Role Update
###
[](https://docs.botwiz.dev/docs/creations/variables/event-variables#stage-instance)
Stage Instance
Variable
Description
{stage\_instance\_create}
Stage Instance Create
{stage\_instance\_delete}
Stage Instance Delete
{stage\_instance\_update\_old}
Stage Instance Update
###
[](https://docs.botwiz.dev/docs/creations/variables/event-variables#sticker)
Sticker
Variable
Description
{create\_sticker}
Sticker Create
{deleted\_sticker}
Sticker Delete
{old\_sticker} & {new\_sticker}
Sticker Update
###
[](https://docs.botwiz.dev/docs/creations/variables/event-variables#thread)
Thread
Variable
Description
{created\_thread}
Thread Create
{old\_thread} & {new\_thread}
Thread Update
{deleted\_thread}
Thread Delete
{new\_member\_update\_thread} & {old\_member\_update\_thread}
Thread Member Update
{members\_update\_thread}
Thread Member**s** Update
###
[](https://docs.botwiz.dev/docs/creations/variables/event-variables#typing)
Typing
Variable
Description
{typing}
Typing Starts
###
[](https://docs.botwiz.dev/docs/creations/variables/event-variables#user)
User
Variable
Description
{updated\_new\_user} & {updated\_old\_user}
User Update
###
[](https://docs.botwiz.dev/docs/creations/variables/event-variables#voice-state)
Voice State
Variable
Description
{updated\_old\_state}
Voice State Update
###
[](https://docs.botwiz.dev/docs/creations/variables/event-variables#webhook)
Webhook
Variable
Description
{webhook}
Webhooks Update
[PreviousAdvanced Variables](https://docs.botwiz.dev/docs/creations/variables/advanced-variables)
[NextDebugging](https://docs.botwiz.dev/docs/misc/debugging)
Last updated 1 year ago
* [Channel](https://docs.botwiz.dev/docs/creations/variables/event-variables#channel)
* [Guild](https://docs.botwiz.dev/docs/creations/variables/event-variables#guild)
* [Invite](https://docs.botwiz.dev/docs/creations/variables/event-variables#invite)
* [Message](https://docs.botwiz.dev/docs/creations/variables/event-variables#message)
* [Role](https://docs.botwiz.dev/docs/creations/variables/event-variables#role)
* [Stage Instance](https://docs.botwiz.dev/docs/creations/variables/event-variables#stage-instance)
* [Sticker](https://docs.botwiz.dev/docs/creations/variables/event-variables#sticker)
* [Thread](https://docs.botwiz.dev/docs/creations/variables/event-variables#thread)
* [Typing](https://docs.botwiz.dev/docs/creations/variables/event-variables#typing)
* [User](https://docs.botwiz.dev/docs/creations/variables/event-variables#user)
* [Voice State](https://docs.botwiz.dev/docs/creations/variables/event-variables#voice-state)
* [Webhook](https://docs.botwiz.dev/docs/creations/variables/event-variables#webhook)
---
# Message or Embed Actions | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/blocks/actions/message-or-embed-actions.md)
.
Message or embed action blocks are instances where the bot performs actions such as sending a message, editing an existing one, or starting a poll. Below, you’ll find a list of available blocks along with a brief description of what each one does.
Action Block
Description
Modal
Open a form for users to answer questions.
Start Poll
Start a custom Discord poll.
Stop Poll
End an ongoing Discord poll.
Send Message
Get your bot to send a custom message.
Add Reaction
Add a reaction to a message.
Remove Reaction
Remove a reaction from a message.
Forward Message
Forward a message.
Publish Message
Publish a message.
Delete Message
Delete a message.
Copy Message
Copy a message.
Edit Message
Edit a message.
Pin Message
Pin a message.
[PreviousActions](https://docs.botwiz.dev/docs/blocks/actions)
[NextModal](https://docs.botwiz.dev/docs/blocks/actions/message-or-embed-actions/modal)
Last updated 10 months ago
---
# List of Discord Events | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/creations/events/list-of-discord-events.md)
.
[](https://docs.botwiz.dev/docs/creations/events/list-of-discord-events#client-bot-events)
Client / Bot Events
-------------------------------------------------------------------------------------------------------------------
These Discord events relate to the bot, e.g. an event for when the bot joins a server.
Event Type
Description
Event Variable
Guild Joined
Run when the bot joins a new Discord server.
Guild Left
Run when the bot is removed from a Discord server.
Client Ready
Your bot has started up, and is ready to work!
App Command Perms Update
Run when a command's permissions are edited.
###
[](https://docs.botwiz.dev/docs/creations/events/list-of-discord-events#automod-rules)
Automod Rules
Automoderation rules can be added to your bot to ensure your servers are moderated and secure. To learn more about automoderation rules, see [Create & Delete an Auto Mod Rule](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/create-and-delete-an-auto-mod-rule)
.
Event Type
Description
Event Variable
Rule Triggered
Run when an automod rule has been triggered.
Rule Created
Run when an automod rule has been created.
Rule Updated
Run when an automod rule has been updated.
Rule Deleted
Run when an automod rule has been removed.
[](https://docs.botwiz.dev/docs/creations/events/list-of-discord-events#guild-server-events)
Guild / Server Events
-----------------------------------------------------------------------------------------------------------------------
Event Type
Description
Event Variable
Guild Available
Guild Unavailable
Guild Updated
Run when an update is made to a guild.
Invite Created
Run when a server invite is created.
Invite Deleted
Run when a server invite is deleted.
###
[](https://docs.botwiz.dev/docs/creations/events/list-of-discord-events#server-scheduled-events)
Server Scheduled Events
Event Type
Description
Event Variable
Event Created
Run when an event is created in a server.
Event Updated
Run when an event is updated in a server.
Event Deleted
Run when an event is deleted in a server.
User Added
Run when a user subscribes to a server event.
User Removed
Run when a user unsubscribes from an event.
###
[](https://docs.botwiz.dev/docs/creations/events/list-of-discord-events#boost-events)
Boost Events
Event Type
Description
Event Variable
Boost Event
Run when a user boosts a server.
Boost Tier 1
Run when a server reaches Boost Tier 1.
Boost Tier 2
Run when a server reaches Boost Tier 2.
Boost Tier 3
Run when a server reaches Boost Tier 3.
###
[](https://docs.botwiz.dev/docs/creations/events/list-of-discord-events#emoji-and-sticker-events)
Emoji & Sticker Events
Event Type
Description
Event Variable
Emoji Created
Run when an emoji is added to a guild.
Emoji Updated
Run when an emoji is updated in a guild.
Emoji Deleted
Run when an emoji is deleted from a guild.
Sticker Created
Run when an sticker is added to a guild.
Sticker Updated
Run when an sticker is updated in a guild.
Sticker Deleted
Run when an sticker is deleted from a guild.
###
[](https://docs.botwiz.dev/docs/creations/events/list-of-discord-events#guild-discovery-events)
Guild Discovery Events
Server Discovery allows your Discord server to reach more users by becoming public in the Discovery page. When applying for server discovery, you can find a set of requirements you must follow in your server's settings, or to find out more, visit Discord's [Enabling Server Discovery](https://support.discord.com/hc/en-us/articles/360030843331-Enabling-Server-Discovery)
guide.
A Server Discovery grace period will last for four weeks. A grace period means that your server will not be removed from Discovery immediately. However, if after four weeks your server fails to meet the requirements, it will automatically be removed from Discovery.
Event Type
Description
Event Variable
Disqualified
Run when a guild is removed from discovery.
Re-qualified
Run when a guild is re-added to discovery.
Grace Period Initial Warning
A warning for when a server's grace period has started.
Grace Period Final Warning
This warning will be sent during the end of a server's grace period.
###
[](https://docs.botwiz.dev/docs/creations/events/list-of-discord-events#stage-instance-events)
Stage Instance Events
Event Type
Description
Event Variable
Stage Created
Run when a stage instance is created.
Stage Updated
Run when a stage instance is updated.
Stage Deleted
Run when a stage instance is deleted.
###
[](https://docs.botwiz.dev/docs/creations/events/list-of-discord-events#misc-guild-events)
Misc Guild Events
Event Type
Description
Event Variable
Raid Reported
Run when a guild receives a raid detection.
Integration Updated
If your server's integrations (e.g., webhooks and bots) has updated, this event will run.
Audit Log Entry Created
Ran once an action such as a member timeout or role creation has occured.
Webhooks Updated
Triggered if the server's webhooks have been updated or changed.
[](https://docs.botwiz.dev/docs/creations/events/list-of-discord-events#guild-member-events)
Guild Member Events
---------------------------------------------------------------------------------------------------------------------
Event Type
Description
Event Variable
Member Join
Once a member has joined, this event will run.
Member Update
Ran once a member has updated (e.g., name).
Member Leave
Begins when a member has left the server.
Member Kicked
Once a member is kicked, this event will run.
Member Banned
Once a member is banned, this event will run.
Ban Removed
If a ban is revoked, this event will trigger.
###
[](https://docs.botwiz.dev/docs/creations/events/list-of-discord-events#misc-member-events)
Misc Member Events
Event Type
Description
Event Variable
Member Available
Member Chunk Received
Presence Updated
User Joined Voice
[](https://docs.botwiz.dev/docs/creations/events/list-of-discord-events#channel-events)
Channel Events
-----------------------------------------------------------------------------------------------------------
Event Type
Description
Event Variable
Channel Created
Channel Deleted
Channel Updated
Follow Added
Pins Updated
###
[](https://docs.botwiz.dev/docs/creations/events/list-of-discord-events#thread-events)
Thread Events
Event Type
Description
Event Variable
Thread Created
Thread Deleted
Thread Updated
List Synced
Member Updated
[](https://docs.botwiz.dev/docs/creations/events/list-of-discord-events#message-events)
Message Events
-----------------------------------------------------------------------------------------------------------
Event Type
Description
Event Variable
Message Created
Message Updated
Message Deleted
Bulk Deleted
Typing Start
Typing Stop
###
[](https://docs.botwiz.dev/docs/creations/events/list-of-discord-events#message-reaction-events)
Message Reaction Events
Event Type
Description
Event Variable
Reaction Added
Reaction Removed
All Reactions Removed
Emoji Reaction Removed
[PreviousEvents](https://docs.botwiz.dev/docs/creations/events)
[NextVariables](https://docs.botwiz.dev/docs/creations/variables)
Last updated 4 months ago
* [Client / Bot Events](https://docs.botwiz.dev/docs/creations/events/list-of-discord-events#client-bot-events)
* [Automod Rules](https://docs.botwiz.dev/docs/creations/events/list-of-discord-events#automod-rules)
* [Guild / Server Events](https://docs.botwiz.dev/docs/creations/events/list-of-discord-events#guild-server-events)
* [Server Scheduled Events](https://docs.botwiz.dev/docs/creations/events/list-of-discord-events#server-scheduled-events)
* [Boost Events](https://docs.botwiz.dev/docs/creations/events/list-of-discord-events#boost-events)
* [Emoji & Sticker Events](https://docs.botwiz.dev/docs/creations/events/list-of-discord-events#emoji-and-sticker-events)
* [Guild Discovery Events](https://docs.botwiz.dev/docs/creations/events/list-of-discord-events#guild-discovery-events)
* [Stage Instance Events](https://docs.botwiz.dev/docs/creations/events/list-of-discord-events#stage-instance-events)
* [Misc Guild Events](https://docs.botwiz.dev/docs/creations/events/list-of-discord-events#misc-guild-events)
* [Guild Member Events](https://docs.botwiz.dev/docs/creations/events/list-of-discord-events#guild-member-events)
* [Misc Member Events](https://docs.botwiz.dev/docs/creations/events/list-of-discord-events#misc-member-events)
* [Channel Events](https://docs.botwiz.dev/docs/creations/events/list-of-discord-events#channel-events)
* [Thread Events](https://docs.botwiz.dev/docs/creations/events/list-of-discord-events#thread-events)
* [Message Events](https://docs.botwiz.dev/docs/creations/events/list-of-discord-events#message-events)
* [Message Reaction Events](https://docs.botwiz.dev/docs/creations/events/list-of-discord-events#message-reaction-events)
---
# Delete & Pin a Message | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/blocks/actions/message-or-embed-actions/delete-and-pin-a-message.md)
.
In this page, both the delete message and pin message blocks will be explained. However, you must first understand what a message ID is. For starters, a message ID is a way you can refer to a specific message, and how your bot knows which message to delete or pin for example.
To find a message ID for a message that has already been sent by anyone, simply right click the message on Discord and click to copy its ID. If you do not have this option, you must visit your Discord Settings > Advanced and toggle your Developer Mode on.

For message blocks, you can refer to their 'message ID', by using the create message variable. You can find this variable in any create message block, and it will be something like `{create_message_00000}`. For each create message block, you can edit this variable's referance code.

[](https://docs.botwiz.dev/docs/blocks/actions/message-or-embed-actions/delete-and-pin-a-message#delete-a-message)
Delete a Message
----------------------------------------------------------------------------------------------------------------------------------------
For each delete message block, you have the option to either state a message ID or select a message block in the builder. The difference between the two options, is that you should refer to a message ID when the message will not be sent by the bot during your current builder (e.g. command).
When using the message selector, this is an easy tool where you can easily pick any message block in your builder. Once it's selected, that message will be deleted once your block is run.

A delete message block example from a builder.
[](https://docs.botwiz.dev/docs/blocks/actions/message-or-embed-actions/delete-and-pin-a-message#pin-a-message)
Pin a Message
----------------------------------------------------------------------------------------------------------------------------------
Pinning a message works exactly the same as deleting a message. You can either state a message ID, or simply select a message in the builder. When pinning a message, it will show in your channel's pinned messages as shown below.

Pinned messages for a channel.
[PreviousSend & Edit a Message](https://docs.botwiz.dev/docs/blocks/actions/message-or-embed-actions/send-and-edit-a-message)
[NextStart & End Poll](https://docs.botwiz.dev/docs/blocks/actions/message-or-embed-actions/start-and-end-poll)
Last updated 1 year ago
* [Delete a Message](https://docs.botwiz.dev/docs/blocks/actions/message-or-embed-actions/delete-and-pin-a-message#delete-a-message)
* [Pin a Message](https://docs.botwiz.dev/docs/blocks/actions/message-or-embed-actions/delete-and-pin-a-message#pin-a-message)
---
# Start & End Poll | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/blocks/actions/message-or-embed-actions/start-and-end-poll.md)
.
These blocks are solely related to starting and ending Discord polls. Discord polls are where your members can vote on different options, which can be useful for voting for an upcoming server event, theme or voting on a winner for a server competition.

A new Discord poll, with a plain message.
In each poll, a member can vote once and either select one answer or multiple (depending on what you choose). Anyone will be able to see the results, and after the poll ends, a Discord notification is usually provided to notify the poll host and participants of the outcome after the timer is up.
[](https://docs.botwiz.dev/docs/blocks/actions/message-or-embed-actions/start-and-end-poll#start-poll)
Start Poll
----------------------------------------------------------------------------------------------------------------------
When configuring a start poll block, there are three main areas. Firstly, the message that is sent with your poll, where your message and poll should be sent, and your poll builder.
Starting with the message builder, this works exactly like a send message block; letting you make a message, embeds and components all in one. For more help on finding your way around a message builder, see [Send & Edit a Message](https://docs.botwiz.dev/docs/blocks/actions/message-or-embed-actions/send-and-edit-a-message)
.
To avoid sending a message at all, you can simply add a space in the message content.
Next, you can set your poll and message to reply to another. For instance, you can have your poll respond to a specific message, the command, or the last button. Otherwise, you can select your poll to be sent to the current channel, a specific channel or as a direct message.

Lastly, the poll builder lets you thoroughly customize your new poll. Letting you set the question, and up to 10 options for users to select from. With each option, you can select an emoji (or leave it blank), and select a label for each answer.
To allow multiple answers, toggle the option at the buttom of the builder. Additionally, you can modify the duration of the poll. Once this duration is finished, the poll will automatically end and a notification will be provided notifying participants and the host of the results.

When creating a new poll, you will see this poll builder.
[](https://docs.botwiz.dev/docs/blocks/actions/message-or-embed-actions/start-and-end-poll#stop-poll)
Stop Poll
--------------------------------------------------------------------------------------------------------------------
Stop poll blocks are only able to end polls that have been created within the current builder. For instance, an end poll block will only have a block selector, and so you can only pick start poll blocks from your command or event.

A stop poll block inside of a builder.
To end a poll from another builder, you must use an API. To find out more, please visit [API](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/api)
.
[PreviousDelete & Pin a Message](https://docs.botwiz.dev/docs/blocks/actions/message-or-embed-actions/delete-and-pin-a-message)
[NextRole Actions](https://docs.botwiz.dev/docs/blocks/actions/role-actions)
Last updated 1 year ago
* [Start Poll](https://docs.botwiz.dev/docs/blocks/actions/message-or-embed-actions/start-and-end-poll#start-poll)
* [Stop Poll](https://docs.botwiz.dev/docs/blocks/actions/message-or-embed-actions/start-and-end-poll#stop-poll)
---
# Modal | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/blocks/actions/message-or-embed-actions/modal.md)
.
Modal action blocks allow you to send a form to the interacting user. Modals are especially useful for systems like modmail or ticket system.

With a modal, users using your command will experience a form like this.
To start creating your modal, you can place a modal action block in any builder. Modal blocks can **only** be placed after an interaction, where a user has interacted with an event of command, such as:
1. When a command has been run (modal blocks will not work at the start of an event); or
2. When a trigger (e.g., button or select menu) as been used.
Modal blocks don’t need to be placed directly after an interaction. You can insert other blocks, such as a condition block, in between. However, if you place an action block (for example, a send message block) immediately after an interaction, the modal will not function.
[](https://docs.botwiz.dev/docs/blocks/actions/message-or-embed-actions/modal#creating-your-modal)
Creating your Modal
---------------------------------------------------------------------------------------------------------------------------
Every modal block comes with access to our Modal Builder. After selecting a modal block, simply press the **Modal Builder** button to begin creating your form. Within the builder, you can adjust your modal’s settings and preview a live representation of how it will appear in Discord.


For each modal you create, you **must** enter a title, custom ID and at least one label. As shown in the example above, a modal title will appear at the top of the form, where each label has eight customizable options.
For each modal, only five questions can be created, as per Discord limitations.
[](https://docs.botwiz.dev/docs/blocks/actions/message-or-embed-actions/modal#custom-ids-and-field-identifiers)
Custom IDs & Field Identifiers
---------------------------------------------------------------------------------------------------------------------------------------------------
As mentioned, for every modal you must enter a custom ID. Custom IDs are a way to differentiate your current modal against other modals you may have in your builder. This is essential, as you may wish to use a modal variable to refer back to a user's answer.
Modal variables are a variable specific to each modal you create, and they can be used for referring to a user's answer to any field/question. Using the example image above, you can view the modal variable called `{modal_he74anu04dc_1}`. If I used that variable in my builder, it will return the answer a user has given for the question.
Field identifiers, similar to custom IDs, differentiate a modal's fields/questions. For example, a modal with multiple questions will need numerous unique field identifiers so that you can refer to a user's answer to one, or more, questions.

In the example above, the field identifiers `1` has been used to represent the question number. With this identifier, I can use `{modal_he74anu04dc_1}` to return the user's answer to the field/question.
[](https://docs.botwiz.dev/docs/blocks/actions/message-or-embed-actions/modal#creating-fields)
Creating Fields
-------------------------------------------------------------------------------------------------------------------
Fields are your questions; for each field you create, you create a new question. With each field, you will have eight customizable options, allowing you to create intricate questions. However, every question requires you to enter a label, type and field identifier.
Labels are simply the question title, and the field type will distinguish whether you would like a short answer or a long answer. These are all you require to successfully create a modal question! However, the other optional components will let you customize your question a bit more.
###
[](https://docs.botwiz.dev/docs/blocks/actions/message-or-embed-actions/modal#optional-components)
Optional Components
These components are entirely optional, and are not required to be filled in when creating a new field.
Component
Description
Placeholder
Text visible before an answer has been given; usually added for guidance.
Minimum Length
Set a minimum number of characters that must be entered.
Maximum Length
Set the maximum amount of characters a user can use in their answer.
Required
Toggle whether the question must be answered or not.
Default Value
Set a default answer for a question. These can be edited by the user.
####
[](https://docs.botwiz.dev/docs/blocks/actions/message-or-embed-actions/modal#placeholders-vs-default-values)
Placeholders vs Default Values
Placeholders are only visible when a user has not yet entered an answer. These can be used to aid a user into providing an appropriate answer, or to explain the question further.
However, default values are where you would automatically answer the question for the user. These values can be edited, but will be useful for pre-answering a question or starting off an answer.
[PreviousMessage or Embed Actions](https://docs.botwiz.dev/docs/blocks/actions/message-or-embed-actions)
[NextSend & Edit a Message](https://docs.botwiz.dev/docs/blocks/actions/message-or-embed-actions/send-and-edit-a-message)
Last updated 10 months ago
* [Creating your Modal](https://docs.botwiz.dev/docs/blocks/actions/message-or-embed-actions/modal#creating-your-modal)
* [Custom IDs & Field Identifiers](https://docs.botwiz.dev/docs/blocks/actions/message-or-embed-actions/modal#custom-ids-and-field-identifiers)
* [Creating Fields](https://docs.botwiz.dev/docs/blocks/actions/message-or-embed-actions/modal#creating-fields)
* [Optional Components](https://docs.botwiz.dev/docs/blocks/actions/message-or-embed-actions/modal#optional-components)
---
# Send & Edit a Message | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/blocks/actions/message-or-embed-actions/send-and-edit-a-message.md)
.
Both the send and edit message action blocks are similar, both featuring a message builder as their main component. Here, you can start to create a new message that can contain embeds, buttons, select menus and much more.
[](https://docs.botwiz.dev/docs/blocks/actions/message-or-embed-actions/send-and-edit-a-message#message-builder)
Message Builder
-------------------------------------------------------------------------------------------------------------------------------------
Starting at the message content, a message builder has four tabs: content, embeds, components and flags. Each tab will allow you to customise your message further, and even change the way it acts (e.g., whether you would like your message to be hidden).

A message built with content and a single embed featuring a title and description.
With each message, you must either have content or an embed with a description.
###
[](https://docs.botwiz.dev/docs/blocks/actions/message-or-embed-actions/send-and-edit-a-message#embeds)
Embeds
Embeds are essentially boxes of text, yet unlike any other message, embeds are much more customisable. Within a single embed, you can set a title, colour, footer, add fields etc. On a message builder, a single message can have up to ten embeds.
In a single embed, you can edit the author, body, fields, footer and images. Starting with the author, you can edit its name, icon URL and URL. Author properties will be visible at the top of the embed, as shown below.

A message sent with content and an embed with author properties.
Next, the body of an embed is one of the most important parts of an embed, allowing you to set a title, description, URL and colour. Embed descriptions can have up to 4000 characters each, and titles will automatically be bold. With an author set and multiple body components, this is how an embed looks:

An updated embed with additional components, including a title and description.
Moving onto an embed's fields, fields can be a way to organize your embed's description into sections. With each field you create, you can name it and set it's value (description). However, fields can also be toggled to be inline. Meaning, the fields will instead line up horizontally. See below for an example.

An embed with an author, body and inlined fields.
Footers, similar to authors, allow you to set a icon URL along with some text. Though, footers will appear at the bottom of an embed, and a timestamp can be toggled. The timestamp will signify when the embed was sent e.g., "Today at 3:59 PM".
Footer timestamps are relative, meaning that they will change with time. For instance, after a day passes, the timestamp will automatically change to "Yesterday at 3:59 PM" without the embed being marked as edited.

An embed featuring everything apart from any images.
Lastly, you can add images to your embed. Featuring two different types, the first image will be shown at the bottom of an embed above the footer. Next, a thumbnail image can be set which will appear in the top right corner.
You can overcome the requirement of an embed description by setting the description to simply a space character. From here, you can create distinctive types of embeds, such as an image-only embed. Used mainly for decoration, it goes to show how customisable embeds are!

A simple embed with an image.
Only an embed description can feature Discord fonts, such as **bold** or _italic_. This includes the ability to tag members, channels and other formats such as timestamps.
###
[](https://docs.botwiz.dev/docs/blocks/actions/message-or-embed-actions/send-and-edit-a-message#components)
Components
Featuring multiple types, components allow you to add buttons and select menus to your message. These components can be used to offer the interacting user a selection of actions or options. For example, a user select menu will allow the member to pick a user from the current server.

BotWiz's automatic support embed for users requesting help.
In the image above, there are four buttons available for users to pick from. Each button serves a different purpose, and some are locked for some users by using permission or role conditions. Unlike select menus, buttons are simple, whereby users can only interact by clicking it.
Select menus, however, can be more complicated. Featuring several different types: string, channel, role, user and mentionable, users can interact with select menus in multiple ways. For a string select menu, users can pick from multiple options that you create.

A string select menu with two simple options to choose from.
With each select menu you create, you will always be able to set a placeholder. Without an option pre-set (such as in the example above), the placeholder on a select menu will be visible. For example, in the image below, the placeholder is "Make a selection here...".

All other select menu types, such as the channel select menu, will permit you to select from a list of channels. Handy for selecting a user to moderate, for example, a mentionable select menu provides a list of both members and roles for the member to choose from.
To refer to what a user selected in a select menu, you can use `{interaction[values.0]}`. The number in the variable will be which component you grab the value of, and this starts counting at 0. So, if your select menu is the 2nd component, you can use `{interaction[values.1]}`.
For multi-select menus, you can use `{interaction[selected]}` to refer to the options selected.
###
[](https://docs.botwiz.dev/docs/blocks/actions/message-or-embed-actions/send-and-edit-a-message#flags)
Flags
Flags are simply a list of settings for your message, such as enabling whether you want the message's replies to be hidden. Or, toggling the pings on the message, to avoid accidental pings. Below is an example of the flags page, and all of the options you can modify.

The optional flags you can attune for each message.
[](https://docs.botwiz.dev/docs/blocks/actions/message-or-embed-actions/send-and-edit-a-message#send-a-message)
Send a Message
-----------------------------------------------------------------------------------------------------------------------------------
Apart from the message builder, a send message block will have more options to customize. Starting with the message location, you can select whether you want your message to be a reply. Its important to note, that ephemeral (hidden) messages must be set as replies.
Else, messages that do not reply to another can be set to send to the current channel, a specific guild channel, to a channel ID or to a user's DMs. Variables can also be used for a channels location.
Lastly, your bot can auto-react to your new message if you add emojis in the reactions tab. This can include regular and custom emojis from any server your bot is in.
[](https://docs.botwiz.dev/docs/blocks/actions/message-or-embed-actions/send-and-edit-a-message#edit-a-message)
Edit a Message
-----------------------------------------------------------------------------------------------------------------------------------
This block has a few options, as you simply select the message you wish to edit and modify the message builder into your new message. When selecting a message, you can either enter a message ID, variable or select a block from your current builder.
[PreviousModal](https://docs.botwiz.dev/docs/blocks/actions/message-or-embed-actions/modal)
[NextDelete & Pin a Message](https://docs.botwiz.dev/docs/blocks/actions/message-or-embed-actions/delete-and-pin-a-message)
Last updated 1 year ago
* [Message Builder](https://docs.botwiz.dev/docs/blocks/actions/message-or-embed-actions/send-and-edit-a-message#message-builder)
* [Embeds](https://docs.botwiz.dev/docs/blocks/actions/message-or-embed-actions/send-and-edit-a-message#embeds)
* [Components](https://docs.botwiz.dev/docs/blocks/actions/message-or-embed-actions/send-and-edit-a-message#components)
* [Flags](https://docs.botwiz.dev/docs/blocks/actions/message-or-embed-actions/send-and-edit-a-message#flags)
* [Send a Message](https://docs.botwiz.dev/docs/blocks/actions/message-or-embed-actions/send-and-edit-a-message#send-a-message)
* [Edit a Message](https://docs.botwiz.dev/docs/blocks/actions/message-or-embed-actions/send-and-edit-a-message#edit-a-message)
---
# Removing & Adding a Role to Everyone | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/blocks/actions/role-actions/removing-and-adding-a-role-to-everyone.md)
.
For each of these blocks, setting them up is simple as you will only need to select the role you wish to add or remove from everyone. When selecting a role, you can access roles from each server the bot is in. To add or remove multiple roles from everyone, you must place multiple blocks down.

Both the Add and Remove a role to everyone, you must select a Role Type and Guild Role / ID.
For the Role Type, you can pick either a guild-role, or a role ID. Once selected, you can either select the role you wish to add or remove from a list of roles the bot has access to, or by inputting a role ID. To find a role ID, you can head to your Server Settings > Roles, and right click a role to find it's ID.

Add / Remove Role to Everyone blocks.
[PreviousRole Actions](https://docs.botwiz.dev/docs/blocks/actions/role-actions)
[NextEdit a Role](https://docs.botwiz.dev/docs/blocks/actions/role-actions/edit-a-role)
Last updated 1 year ago
---
# Delete or Remove a Role | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/blocks/actions/role-actions/delete-or-remove-a-role.md)
.
[](https://docs.botwiz.dev/docs/blocks/actions/role-actions/delete-or-remove-a-role#deleting-a-role)
Deleting a Role
-------------------------------------------------------------------------------------------------------------------------
[](https://docs.botwiz.dev/docs/blocks/actions/role-actions/delete-or-remove-a-role#removing-a-role)
Removing a Role
-------------------------------------------------------------------------------------------------------------------------
Last updated 1 year ago
* [Deleting a Role](https://docs.botwiz.dev/docs/blocks/actions/role-actions/delete-or-remove-a-role#deleting-a-role)
* [Removing a Role](https://docs.botwiz.dev/docs/blocks/actions/role-actions/delete-or-remove-a-role#removing-a-role)
---
# Create or Add a Role | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/blocks/actions/role-actions/create-or-add-a-role.md)
.
**Our documenation page is undergoing a rework. Some pages are incomplete.**
We are working overtime to resolve this issue, please visit our [Support Server](https://discord.gg/YHVry73av9)
if you need any additional help, or would like to report any bugs or suggestions.
[](https://docs.botwiz.dev/docs/blocks/actions/role-actions/create-or-add-a-role#creating-a-role)
Creating a Role
----------------------------------------------------------------------------------------------------------------------
[](https://docs.botwiz.dev/docs/blocks/actions/role-actions/create-or-add-a-role#adding-a-role)
Adding a Role
------------------------------------------------------------------------------------------------------------------
Last updated 1 year ago
* [Creating a Role](https://docs.botwiz.dev/docs/blocks/actions/role-actions/create-or-add-a-role#creating-a-role)
* [Adding a Role](https://docs.botwiz.dev/docs/blocks/actions/role-actions/create-or-add-a-role#adding-a-role)
---
# Edit a Role | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/blocks/actions/role-actions/edit-a-role.md)
.

[](https://docs.botwiz.dev/docs/blocks/actions/role-actions/edit-a-role#general)
General
---------------------------------------------------------------------------------------------
####
[](https://docs.botwiz.dev/docs/blocks/actions/role-actions/edit-a-role#role-type)
Role Type
Use a Role that already exist in a guild or provide an id.

####
[](https://docs.botwiz.dev/docs/blocks/actions/role-actions/edit-a-role#role-name)
Role Name
The name of the role.

####
[](https://docs.botwiz.dev/docs/blocks/actions/role-actions/edit-a-role#role-color-and-role-hoist)
Role color & Role Hoist
The role color & if role is shown in guild user list.

Position
The position in guild role hierarchy.

####
[](https://docs.botwiz.dev/docs/blocks/actions/role-actions/edit-a-role#mentionable)
Mentionable
If the role can be mentioned by users within the guild

Permissions & Reasoning
Select permissions the role will receive and the reasoning of why this role was edited.

[PreviousRemoving & Adding a Role to Everyone](https://docs.botwiz.dev/docs/blocks/actions/role-actions/removing-and-adding-a-role-to-everyone)
[NextChannel Actions](https://docs.botwiz.dev/docs/blocks/actions/channel-actions)
Last updated 2 years ago
---
# Role Actions | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/blocks/actions/role-actions.md)
.
Role action blocks are where the bot for example creates a role, adds a role to a user or removes a role from everyone in a server. In total, there are currently seven role action blocks you can chose from. See the following list for a list of each, including a brief description of what each block does.
Action Block
Description
Removing a Role from Everyone
Remove a specific role from everyone in the server.
Adding a Role to Everyone
Add a role to everyone that is currently in the server.
Create a Role
Have your bot create a brand new role for your guild!
Add a Role
Add any role to a member of your server.
Delete a Role
Delete an existing role. Note that this action cannot be undone.
Remove a Role
Remove a specific role from a member.
Edit a Role
Edit a role, e.g., by changing its name, colour and permissions.
[PreviousStart & End Poll](https://docs.botwiz.dev/docs/blocks/actions/message-or-embed-actions/start-and-end-poll)
[NextRemoving & Adding a Role to Everyone](https://docs.botwiz.dev/docs/blocks/actions/role-actions/removing-and-adding-a-role-to-everyone)
Last updated 1 year ago
---
# Purge Messages | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/blocks/actions/channel-actions/purge-messages.md)
.
Messages 2 weeks old are unable to be removed as this is a Discord limitation.
[PreviousDelete Channel](https://docs.botwiz.dev/docs/blocks/actions/channel-actions/delete-channel)
[NextMember Actions](https://docs.botwiz.dev/docs/blocks/actions/member-actions)
Last updated 1 year ago
---
# Delete Channel | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/blocks/actions/channel-actions/delete-channel.md)
.

[](https://docs.botwiz.dev/docs/blocks/actions/channel-actions/delete-channel#general)
General
---------------------------------------------------------------------------------------------------
####
[](https://docs.botwiz.dev/docs/blocks/actions/channel-actions/delete-channel#channel-type)
Channel Type
Select a Channel that already exist in a guild or provide an id.

[PreviousEdit Channel](https://docs.botwiz.dev/docs/blocks/actions/channel-actions/edit-channel)
[NextPurge Messages](https://docs.botwiz.dev/docs/blocks/actions/channel-actions/purge-messages)
Last updated 2 years ago
---
# Channel Actions | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/blocks/actions/channel-actions.md)
.
Channel action blocks are where the bot for example creates a channel, deletes a channel or purges messages from a channel. In total, there are currently four channel action blocks you can chose from. See the following list for a list of each, including a brief description of what each block does.
Action Block
Description
Create a Channel
Edit a Channel
Delete a Channel
Purge Messages
[PreviousEdit a Role](https://docs.botwiz.dev/docs/blocks/actions/role-actions/edit-a-role)
[NextCreate Channel](https://docs.botwiz.dev/docs/blocks/actions/channel-actions/create-channel)
Last updated 1 year ago
---
# Edit Channel | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/blocks/actions/channel-actions/edit-channel.md)
.

[](https://docs.botwiz.dev/docs/blocks/actions/channel-actions/edit-channel#general)
General
-------------------------------------------------------------------------------------------------
####
[](https://docs.botwiz.dev/docs/blocks/actions/channel-actions/edit-channel#channel-type)
Channel Type
The channel, you can either use ID or select an existing channel.

####
[](https://docs.botwiz.dev/docs/blocks/actions/channel-actions/edit-channel#channel-name)
Channel Name
The new name of the channel.

####
[](https://docs.botwiz.dev/docs/blocks/actions/channel-actions/edit-channel#type-of-channel)
Type of channel
The type of the channel.

####
[](https://docs.botwiz.dev/docs/blocks/actions/channel-actions/edit-channel#category)
Category
The category the channel should be switched under
Similar to a channels, the categories' have their own id's!

Channel topic & 18+
The channel topic will show as a small "description" of the channel. Using 18+ will only allow users with 18+ Discord accounts to view the following channel.

**Channel position**
The position of where the channel will be changed to.

**Channel slow mode**
The slow mode which users can send message between certain times in seconds.

[PreviousCreate Channel](https://docs.botwiz.dev/docs/blocks/actions/channel-actions/create-channel)
[NextDelete Channel](https://docs.botwiz.dev/docs/blocks/actions/channel-actions/delete-channel)
Last updated 2 years ago
---
# Create Channel | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/blocks/actions/channel-actions/create-channel.md)
.

[](https://docs.botwiz.dev/docs/blocks/actions/channel-actions/create-channel#general)
General
---------------------------------------------------------------------------------------------------
####
[](https://docs.botwiz.dev/docs/blocks/actions/channel-actions/create-channel#channel-name)
Channel Name
The name of the channel.

####
[](https://docs.botwiz.dev/docs/blocks/actions/channel-actions/create-channel#type-of-channel)
Type of channel
The type of the channel.

####
[](https://docs.botwiz.dev/docs/blocks/actions/channel-actions/create-channel#category)
Category
The category the channel should be made under
Similar to a channels, the categories' have their own IDs!

Channel topic & 18+
The channel topic will show as a small "description" of the channel. Using 18+ will only allow users with 18+ Discord accounts to view the following channel.

**Channel position**
The position of where the channel will be.

**Channel slow mode**
The slow mode which users can send message between certain times in seconds.

Use the variable provided at the top of the block to access the newly created channel's information, such as it's ID.

This variable is unique for every create channel block.
[PreviousChannel Actions](https://docs.botwiz.dev/docs/blocks/actions/channel-actions)
[NextEdit Channel](https://docs.botwiz.dev/docs/blocks/actions/channel-actions/edit-channel)
Last updated 2 years ago
---
# Loop Actions | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/loop-actions.md)
.
[](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/loop-actions#start-a-loop)
Start a Loop
---------------------------------------------------------------------------------------------------------
[](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/loop-actions#break-a-loop)
Break a Loop
---------------------------------------------------------------------------------------------------------
[](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/loop-actions#after-a-loop)
After a Loop
---------------------------------------------------------------------------------------------------------
Last updated 1 year ago
* [Start a Loop](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/loop-actions#start-a-loop)
* [Break a Loop](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/loop-actions#break-a-loop)
* [After a Loop](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/loop-actions#after-a-loop)
---
# Delete Variable | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/blocks/actions/variable-actions/delete-variable.md)
.
####
[](https://docs.botwiz.dev/docs/blocks/actions/variable-actions/delete-variable#variable)
Variable
The variable you are deleting the value for.

[PreviousCalculate Variable](https://docs.botwiz.dev/docs/blocks/actions/variable-actions/calculate-variable)
[NextSet Variable](https://docs.botwiz.dev/docs/blocks/actions/variable-actions/set-variable)
Last updated 2 years ago
---
# Variable Actions | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/blocks/actions/variable-actions.md)
.
[](https://docs.botwiz.dev/docs/blocks/actions/variable-actions#set-variable)
Set Variable
-----------------------------------------------------------------------------------------------
[](https://docs.botwiz.dev/docs/blocks/actions/variable-actions#calculate-variable)
Calculate Variable
-----------------------------------------------------------------------------------------------------------
[](https://docs.botwiz.dev/docs/blocks/actions/variable-actions#delete-variable)
Delete Variable
-----------------------------------------------------------------------------------------------------
[PreviousUnban Member](https://docs.botwiz.dev/docs/blocks/actions/member-actions/unban-member)
[NextCalculate Variable](https://docs.botwiz.dev/docs/blocks/actions/variable-actions/calculate-variable)
Last updated 1 year ago
* [Set Variable](https://docs.botwiz.dev/docs/blocks/actions/variable-actions#set-variable)
* [Calculate Variable](https://docs.botwiz.dev/docs/blocks/actions/variable-actions#calculate-variable)
* [Delete Variable](https://docs.botwiz.dev/docs/blocks/actions/variable-actions#delete-variable)
---
# Ban Member | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/blocks/actions/member-actions/ban-member.md)
.

####
[](https://docs.botwiz.dev/docs/blocks/actions/member-actions/ban-member#user-type)
User Type
Enter the type of user you are banning, the executor or are you going to provide a User ID this is who is going to be banned.

####
[](https://docs.botwiz.dev/docs/blocks/actions/member-actions/ban-member#delete-message-seconds-ago)
Delete Message Seconds Ago
Enter a optional number of seconds to delete the users message of.

####
[](https://docs.botwiz.dev/docs/blocks/actions/member-actions/ban-member#delete-messages-days-ago)
Delete messages Days Ago
Enter a optional number of days to delete the users message of.

####
[](https://docs.botwiz.dev/docs/blocks/actions/member-actions/ban-member#reason)
Reason
Enter the reason you are banning the user, this will show in Audit Log.

[PreviousMember Actions](https://docs.botwiz.dev/docs/blocks/actions/member-actions)
[NextKick Member](https://docs.botwiz.dev/docs/blocks/actions/member-actions/kick-member)
Last updated 2 years ago
---
# Function | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/function.md)
.
---
# Kick Member | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/blocks/actions/member-actions/kick-member.md)
.

####
[](https://docs.botwiz.dev/docs/blocks/actions/member-actions/kick-member#user-type)
User Type
Enter the user type of who your going to kick, like the executor or a user ID.

####
[](https://docs.botwiz.dev/docs/blocks/actions/member-actions/kick-member#reason)
Reason
Enter the reason for kicking the user, this will show in Audit Log

[PreviousBan Member](https://docs.botwiz.dev/docs/blocks/actions/member-actions/ban-member)
[NextMember Nickname](https://docs.botwiz.dev/docs/blocks/actions/member-actions/member-nickname)
Last updated 2 years ago
---
# Set Variable | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/blocks/actions/variable-actions/set-variable.md)
.

####
[](https://docs.botwiz.dev/docs/blocks/actions/variable-actions/set-variable#variable)
Variable
The variable that you are going to set a value for.

####
[](https://docs.botwiz.dev/docs/blocks/actions/variable-actions/set-variable#value)
Value
The value you are setting that variable at.

[PreviousDelete Variable](https://docs.botwiz.dev/docs/blocks/actions/variable-actions/delete-variable)
[NextAction Blocks](https://docs.botwiz.dev/docs/blocks/actions/action-blocks)
Last updated 2 years ago
---
# Member Actions | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/blocks/actions/member-actions.md)
.
[](https://docs.botwiz.dev/docs/blocks/actions/member-actions#ban-a-member)
Ban a Member
---------------------------------------------------------------------------------------------
[](https://docs.botwiz.dev/docs/blocks/actions/member-actions#kick-a-member)
Kick a Member
-----------------------------------------------------------------------------------------------
[](https://docs.botwiz.dev/docs/blocks/actions/member-actions#member-nickname)
Member Nickname
---------------------------------------------------------------------------------------------------
[](https://docs.botwiz.dev/docs/blocks/actions/member-actions#timeout-member)
Timeout Member
-------------------------------------------------------------------------------------------------
[](https://docs.botwiz.dev/docs/blocks/actions/member-actions#unban-member)
Unban Member
---------------------------------------------------------------------------------------------
[PreviousPurge Messages](https://docs.botwiz.dev/docs/blocks/actions/channel-actions/purge-messages)
[NextBan Member](https://docs.botwiz.dev/docs/blocks/actions/member-actions/ban-member)
Last updated 1 year ago
* [Ban a Member](https://docs.botwiz.dev/docs/blocks/actions/member-actions#ban-a-member)
* [Kick a Member](https://docs.botwiz.dev/docs/blocks/actions/member-actions#kick-a-member)
* [Member Nickname](https://docs.botwiz.dev/docs/blocks/actions/member-actions#member-nickname)
* [Timeout Member](https://docs.botwiz.dev/docs/blocks/actions/member-actions#timeout-member)
* [Unban Member](https://docs.botwiz.dev/docs/blocks/actions/member-actions#unban-member)
---
# Timeout Member | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/blocks/actions/member-actions/timeout-member.md)
.

####
[](https://docs.botwiz.dev/docs/blocks/actions/member-actions/timeout-member#user-type)
User Type
Select how your going to tell the bot who to timeout, the executor or a user ID.

####
[](https://docs.botwiz.dev/docs/blocks/actions/member-actions/timeout-member#duration)
Duration
Enter how long the timeout is for in minutes.

####
[](https://docs.botwiz.dev/docs/blocks/actions/member-actions/timeout-member#reason)
Reason
Enter the reason for timing out the user, this will show in Audit Log.

[PreviousMember Nickname](https://docs.botwiz.dev/docs/blocks/actions/member-actions/member-nickname)
[NextUnban Member](https://docs.botwiz.dev/docs/blocks/actions/member-actions/unban-member)
Last updated 2 years ago
---
# Waiting & Logging | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/waiting-and-logging.md)
.
[](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/waiting-and-logging#wait)
Wait
------------------------------------------------------------------------------------------------
[](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/waiting-and-logging#log)
Log
----------------------------------------------------------------------------------------------
Last updated 1 year ago
* [Wait](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/waiting-and-logging#wait)
* [Log](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/waiting-and-logging#log)
---
# Member Nickname | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/blocks/actions/member-actions/member-nickname.md)
.

####
[](https://docs.botwiz.dev/docs/blocks/actions/member-actions/member-nickname#user-type)
User Type
Select how your going to tell the bot who to set the nickname of, the executor or user ID.

####
[](https://docs.botwiz.dev/docs/blocks/actions/member-actions/member-nickname#nickname)
Nickname
Enter the new nickname to set.

####
[](https://docs.botwiz.dev/docs/blocks/actions/member-actions/member-nickname#reason)
Reason
Enter the reason for setting the nickname, this will show in Audit Log.

[PreviousKick Member](https://docs.botwiz.dev/docs/blocks/actions/member-actions/kick-member)
[NextTimeout Member](https://docs.botwiz.dev/docs/blocks/actions/member-actions/timeout-member)
Last updated 2 years ago
---
# Timed & Custom Event | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/timed-and-custom-event.md)
.
[](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/timed-and-custom-event#custom-event)
Custom Event
-------------------------------------------------------------------------------------------------------------------
Trigger this block to execute a custom event. These events can be created on the Custom Events page of the dashboard. You can also pass custom data to the event using JSON format.
[](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/timed-and-custom-event#timed-event)
Timed Event
-----------------------------------------------------------------------------------------------------------------
Trigger this block to execute a timed event. Unlike the Timed Events page on your dashboard, you can only use the seconds, minutes, hours, and days format. These events only run once and can only have 10 running a the same time.
[PreviousCreate & Delete an Auto Mod Rule](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/create-and-delete-an-auto-mod-rule)
[NextConditions](https://docs.botwiz.dev/docs/blocks/conditions)
Last updated 1 year ago
* [Custom Event](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/timed-and-custom-event#custom-event)
* [Timed Event](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/timed-and-custom-event#timed-event)
---
# Calculate Variable | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/blocks/actions/variable-actions/calculate-variable.md)
.

####
[](https://docs.botwiz.dev/docs/blocks/actions/variable-actions/calculate-variable#variable)
Variable
Select the variable to run a equation on from the dropdown, if none appears you need to make a variable in [Interaction & Default Variables](https://docs.botwiz.dev/docs/creations/variables/interaction-and-default-variables)
####
[](https://docs.botwiz.dev/docs/blocks/actions/variable-actions/calculate-variable#round)
Round
The option to round the variable off to the nearest whole number.

####
[](https://docs.botwiz.dev/docs/blocks/actions/variable-actions/calculate-variable#equation)
Equation
This is the part where you are going to run the math equation for on the variable, must be a number variable to run the equation on. Use "variable + 4" for instance. Do not reference the variable but use the word "variable".

[PreviousVariable Actions](https://docs.botwiz.dev/docs/blocks/actions/variable-actions)
[NextDelete Variable](https://docs.botwiz.dev/docs/blocks/actions/variable-actions/delete-variable)
Last updated 2 years ago
---
# Action Blocks | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/blocks/actions/action-blocks.md)
.
Action blocks are where the bot for example waits inbetween actions, starts a loop, triggeres a custom event or runs an API. In total, there are currently ten action blocks you can chose from. See the following list for a list of each, including a brief description of what each block does.
Action Block
Description
API
Wait
Function
Logging
Start a Loop
Break a Loop
After a Loop
Custom Event
Create an Auto Mod Rule
Delete an Auto Mod Rule
[PreviousSet Variable](https://docs.botwiz.dev/docs/blocks/actions/variable-actions/set-variable)
[NextAPI](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/api)
Last updated 1 year ago
---
# Conditions | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/blocks/conditions.md)
.
Conditions allow you to check values, e.g. to check if the command has been run in a specific channel. This allows to to set unique actions depending on values. Each condition is a different type, such as a chance or channel condition.
In each condition, an else condition will automatically be made. This means, if no condition was met, any actions connected to the else condition will run instead. For example, if you have a channel condition to make sure the command was run in a staff-only channel, and it was not, the else condition will be triggered.

Example of a chance condition block with a 20% condition and an else condition.
[](https://docs.botwiz.dev/docs/blocks/conditions#introduction-to-conditions)
Introduction to Conditions
-------------------------------------------------------------------------------------------------------------
For a quick explanation of each condition block, please see below.
Condition Type
Description & Example
Chance
Your condition will be the % chance of if the connected blocks will run. E.g., 20% will result in your connected blocks running 20% of the time.
Channel
This will allow you to check if the command or event was ran in a specific channel. For example, you can limit your commands to staff-only channels.
Comparison
This will let you check any value against another; this includes variables. E.g., you can check if `1` is greater than `2`. If not, the else condition will run.
Options
If you have any option blocks in your command, you can check what the command executor has selected and run specific actions.
Permissions
Unlike command permissions, this lets you check the permissions of a user. E.g., you can check the permissions of someone who used a button.
Role
Similarly to the permissions condition, this lets you check the roles a user has. For example, you can check if the user has an admin role.
User
A user condition lets you check whether the interacting user is someone specific. E.g., this is useful to see if the interacting user is the ticket opener.
###
[](https://docs.botwiz.dev/docs/blocks/conditions#how-do-conditions-work)
How do Conditions Work?
In any condition block you use, you can toggle whether multiple conditions will run if they are met. By default, the first condition that is met will be triggered, and all other conditions will be ignored. Additionally, every condition block will have a list of existing conditions you have made.
To edit any of your existing conditions, select the condition you wish to edit in the condition's list and simply change the value. In this same menu, you can also delete a condition.

Each condition will have a list of conditions, as shown. To edit a condition, click an existing condition from the list.
When setting up any condition, you must know how to find an ID. See below if you are unsure.
How do I find an ID?[](https://docs.botwiz.dev/docs/blocks/conditions#how-do-i-find-an-id)
First, you must head to your Discord settings and head to Advanced and toggle Developer Mode on. Now, you can right click users, channels, roles, guilds (servers) and messages to find their IDs. On mobile, you can tap and hold on to see your options and copy an ID.
To find role IDs, you may need to visit your server settings. Once there, you can right click any role and copy its ID. These IDs are necessary for filling a role condition block.
[](https://docs.botwiz.dev/docs/blocks/conditions#chance-condition)
Chance Condition
-----------------------------------------------------------------------------------------
Useful for economy and utility commands, the chance condition block lets you randomize the actions that are run. For example, with a 20%, 30% and 50% condition (as shown below), my 50% message block is most likely to be shown as it has the highest chance.

Visual example of how a chance condition works.
Each condition should amount to 100%, else the block may not work as intented.
[](https://docs.botwiz.dev/docs/blocks/conditions#channel-condition)
Channel Condition
-------------------------------------------------------------------------------------------
A channel condition allows you to run specific actions depending on the current channel (e.g., the channel the command was run in). If the current channel does not match any of your conditions, the 'else' condition will trigger.
When adding a new condition to a channel condition block, you **must** enter a channel ID. Channel IDs are a unique code per channel on Discord, and they are used so that bots understand which channel to take action on. Since some channels can have the same name, IDs distinguish them.
In the example below, I have added a channel condition. If my command is run in the channel I have selected, my message will send. If not, nothing will happen as I have no blocks in my else condition.

If the current channel is equal to my channel condition, a message will send.
###
[](https://docs.botwiz.dev/docs/blocks/conditions#staff-only-example)
Staff-only Example
If I wanted a staff-only command, I can use a channel condition. In the following example, I have added my staff channel IDs and connected a send message block. If the command was not run in a staff channel, a message will not be sent as no blocks are attached to my else condition.

Setting a message block to only trigger in specific channels. Else, no message will be sent.
[](https://docs.botwiz.dev/docs/blocks/conditions#comparison-condition)
Comparison Condition
-------------------------------------------------------------------------------------------------
Comparison conditions will allow you to compare one value with another. Not only can you check if your first value is equal to the second, but you can also check if it is less than, not equal to, contains, starts with and more!
For example, custom variables can hold data for instances such as a custom economy. You can create a custom variable for storing a user's balance, and from there, you can use a comparison condition to check a user's balance, e.g., if the user's balance is greater than 1,000.
###
[](https://docs.botwiz.dev/docs/blocks/conditions#comparison-type)
Comparison Type
In a comparison condition, as previously mentioned, you can change the way you compare the two values together. For instance, you can check if the first value contains the second value. Or, if your first value is equal to your second. To put that into perspective, here are all of the types that you can select:
Comparison Type
Description
\== Equal to
Checks if both values are equal to each other.
\>= Greater than or equal to
Checks if the first value is >= your second value.
<= Less than or equal to
Checks if the first value is <= your second value.
!= Is not equal to
Checks if the first value is != your second value.
< Less than
Checks if your first value is less than your second value.
\> Greater Than
Checks if your first value is greater than your second value.
() Contains
Checks if your first value contains your second value.
!() Does not contain
Checks if your first value does not contain your second value.
$ Starts with
Checks if your first value starts with your second value.
^ Ends with
Checks if your first value ends with your second value.
!$ Does not start with
Checks if your first value does not start with your second value.
!^ Does not end with
Checks if your first value does not end with your second value.
For both the '() Contains', and '!() Does not contain' types, these can accept both arrays and strings. For instance, you can check if a message contains a word or phrase. Or, if an array contains a value.
###
[](https://docs.botwiz.dev/docs/blocks/conditions#setting-up-a-comparison-condition)
Setting up a Comparison Condition
Start by figuring our what your first value will be. This will be the value your compare against, such as if this value is equal to another; enter this value in the 'compare value' textbox shown below. Next, place your second value in the 'comparison value' textbox and set your comparison type.
In the example below, once this comparison condition block is executed, the condition will be found as 'hello' is equal to 'HELLO' with the ignore case option enabled. Any blocks I connect to this new condition will run, as opposed to any blocks connected to my else condition.

Comparison condition block example, this is what you must enter per condition.
Unlike comparison values, your compare value will be constant. E.g., you can check if your compare value is equal to, contains or is greater than different comparison values. If you'd like to compare a new compare value against a comparison value, you must make multiple blocks.
[](https://docs.botwiz.dev/docs/blocks/conditions#option-condition)
Option Condition
-----------------------------------------------------------------------------------------
Option conditions are only viable if your command has option blocks. An option block is where a user can enter information at the start of their command, such as by selecting a user to moderate. With an option condition, you can check against the options the command executor entered.

This is how options look when running a command on Discord.
For example, with a text option block, you can set pre-defined options for a command executor to choose from. With a option condition, you can check to see which option the command user chose.

Setting preset choices on a text option block.
For instance, with three preset choices, you will need three total conditions from one option condition block. For each condition, you can run unique actions based upon the option the command executor chose! For a greater understanding on how to set up an option condition, please see below.

Setting up a multi-choice option condition.
[](https://docs.botwiz.dev/docs/blocks/conditions#permissions-condition)
Permissions Condition
---------------------------------------------------------------------------------------------------
Permissions condition checks to see if the current, or if a selected, user has a permission, e.g. if they have the administrator permission. This can be useful for staff-only buttons, whereby you can make sure that the interacting user has the permissions required.
Remember, to refer to the interacting user you can use `{interaction[user.id]}`. Otherwise, you can enter any user ID when creating a permission condition. To check for multiple permissions, e.g., if the user has manage roles **or** kick member permissions, you can make multiple conditions.

This is what you must enter per condition you create on a permissions condition block.
To check if a user has manage roles **and** kick member permissions for example, you must use multiple permissions condition blocks; one after the other. See the example below to see how.

Here, I am checking to see if a user has both the ManageRoles and KickMembers permissions.
[](https://docs.botwiz.dev/docs/blocks/conditions#role-condition)
Role Condition
-------------------------------------------------------------------------------------
Instead of checking permissions, why not check if a user has a role? By using a role condition block, you can check if a user has a staff role for example or not! This can be useful for ensuring only users with a set role can use components or commands.
Like the permissions condition, with each condition you make in a singular role condition block, this will check if the user has any of the roles listed. To check if a user has one or more roles, you will need to use multiple role condition blocks, one after the other. For example:

In this example, I am checking if the user has a Staff Role and if they are a Moderator.
[](https://docs.botwiz.dev/docs/blocks/conditions#user-condition)
User Condition
-------------------------------------------------------------------------------------
User conditions allow you to check if the interacting user is someone specific. This can be useful for developer-only commands, whereby you check to see if the command executor is a developer. To set up a user condition, just enter the user IDs you wish to perform unique actions with.
For instance, you can have unique actions run depending on who the interacting user is. Else, other actions can be run for users who are not listed in the user condition. See below for an example.

Above, I am checking to see if the current user one of the developers.
[PreviousTimed & Custom Event](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/timed-and-custom-event)
[NextOptions](https://docs.botwiz.dev/docs/blocks/options)
Last updated 1 year ago
* [Introduction to Conditions](https://docs.botwiz.dev/docs/blocks/conditions#introduction-to-conditions)
* [How do Conditions Work?](https://docs.botwiz.dev/docs/blocks/conditions#how-do-conditions-work)
* [Chance Condition](https://docs.botwiz.dev/docs/blocks/conditions#chance-condition)
* [Channel Condition](https://docs.botwiz.dev/docs/blocks/conditions#channel-condition)
* [Staff-only Example](https://docs.botwiz.dev/docs/blocks/conditions#staff-only-example)
* [Comparison Condition](https://docs.botwiz.dev/docs/blocks/conditions#comparison-condition)
* [Comparison Type](https://docs.botwiz.dev/docs/blocks/conditions#comparison-type)
* [Setting up a Comparison Condition](https://docs.botwiz.dev/docs/blocks/conditions#setting-up-a-comparison-condition)
* [Option Condition](https://docs.botwiz.dev/docs/blocks/conditions#option-condition)
* [Permissions Condition](https://docs.botwiz.dev/docs/blocks/conditions#permissions-condition)
* [Role Condition](https://docs.botwiz.dev/docs/blocks/conditions#role-condition)
* [User Condition](https://docs.botwiz.dev/docs/blocks/conditions#user-condition)
---
# Options | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/blocks/options.md)
.
When running a command, have you ever wanted anyone to tag a channel, or a member? With options, you can! Depending on the type of option you use, you can ask the user who runs your command to attach a file, tag a member, add some text and more.

Multiple options in a command. Featuring a text option, channel option and attachment option.
In the command builder, there are nine option blocks you can choose from. Each are customizable, allowing you to set a name, description, set as required and on some, you can define pre-set choices for users to select from.
Option blocks can only be accessed in the command builder, not in any event builders.
[](https://docs.botwiz.dev/docs/blocks/options#introduction-to-options)
Introduction to Options
----------------------------------------------------------------------------------------------------
Below is a list of all of our option blocks and a brief description on each.
Option
Description
Attachment
Run the command and add in a file, e.g. attach an image.
Boolean
Useful for asking the interacting user true or false questions.
Channel
Have an option to tag a channel each time the command is run.
Integer
Forces a whole number to be inputted for this option. E.g., `1`, `0` or `-1`.
Mentionable
Search and tag either a member or a role from your server.
Number
Ask the user to enter any numbers including even, odd, negative and more.
Role
Use a role option to easily tag a role each time you use your command.
Text
Text options have no limitations. Any characters can be used in this option.
Member
Have an option to easily mention a member from your server.
With each option, you can refer back to what the command user entered. For instance, if you have a text option in your command named `text`, you can return its value by using `{option_text}`.
Some options can return unique information, such as for attachments, you can find whether the file was marked as a spolier; to do so, you can use `{option_name[spoiler]}`. This is done by refering to a JS property. E.g., `spolier` is a property of an attachment.
For every option, the properties will be diverse as attachments, members, roles etc have different values. Each option's properties will be explained further for each option, but to find more about Discord JS properties, visit [Discord JS](https://docs.botwiz.dev/docs/misc/discord-js)
.
In this page, `{option_name}` is provided frequently as an example. Make sure to replace `name` with one of _your_ option's names. Otherwise, these variables will not work for you.
###
[](https://docs.botwiz.dev/docs/blocks/options#preset-choices)
Preset Choices
To add a preset choice, write the choice you'd like to add and press enter. From here, an option condition can be used to determine which choice the user picked and you can decide to add actions depending on the choice selected.

Preset choices in a text option.
Configuring the option condition is straightforward. Start by selecting your option with the preset choices and typing in the first choice e.g. `option 1`. Repeat this step for as many preset choices you have, and once you are finished you should have an option block similar to the example below.

An option condition to check which choice the command user selected.
You are only able to define pre-set choices on the integer, number and text options.
###
[](https://docs.botwiz.dev/docs/blocks/options#required-options)
Required Options
By default, options will be optional to answer. Meaning, the user that uses the command does not need to fill in your option and they can run the command even if your option is left blank. When setting options to required, users must complete your option.
For unrequired options, you can use an option condition block ([Option Condition](https://docs.botwiz.dev/docs/blocks/conditions#option-condition)
) to check if your option was completed or not. To do so, you will need to check if your `{option_name}` is equal to null. When using your option condition, select your own option by using the target option dropdown.

Setting up an option condition.
With this option condition, your null condition will be triggered if your option was left empty. Otherwise, your else condition will run as an option will been filled out. Therefore, you can now run unique actions based upon if the user completed an option.
###
[](https://docs.botwiz.dev/docs/blocks/options#reordering-options)
Reordering Options
Once you have a few options created in your command, you can change the order in which they appear when you run your command. For example, my command currently starts by asking the user to select a number of winners for a giveaway. Instead, I want to start by asking for the host.

To reorder options, you can simply edit the command (by using the [pencil icon](https://botwiz.dev/dashboard/bots?destination=commands)
) and head to the options tab. To reorder your options, use the up and down arrows at the right side of each option. For your required options, they will have a locked icon; whereas unrequired options will have an unlocked icon.

[](https://docs.botwiz.dev/docs/blocks/options#attachment-option)
Attachment Option
----------------------------------------------------------------------------------------
Need a file attached, such as for proof for a ban command? Use an attachment option and allow users to upload files such as an image. With this attachment option, if your attachment file is an image, you can refer to an image by using the variable `{option_name[url]}`.

Command with an attachment option.
With attachment options, you can access more than just the url. For example, you can grab it's content type, description and if it has been marked as a spolier e.g., by using the variable`{option_name[spolier]}`. With each variable, make sure to replace `name` with your option's name.
To find every property you can access (e.g., `spolier` is a property), visit the [Official Discord JS](https://discord.js.org/docs/packages/discord.js/14.14.1/Attachment:Class#ephemeral)
page or see our [Discord JS](https://docs.botwiz.dev/docs/misc/discord-js)
walkthrough guide talking about using variables and properties.
###
[](https://docs.botwiz.dev/docs/blocks/options#filesize-limits)
Filesize Limits
Per Discord's limitations, the maximum file size for non-Nitro users is 25MB. Those with Nitro Basic can upload files up to 50MB, and Nitro subscribers can upload files up to 500MB. With these limitations in mind, all images and GIFs will be small enough to upload, even if you do not have a Nitro subscription.
[](https://docs.botwiz.dev/docs/blocks/options#boolean-option)
Boolean Option
----------------------------------------------------------------------------------
Need the user to answer a yes or no question, or select weither something is true or false? Introducing boolean options! Ask questions related to your command and you can use an [Option Condition](https://docs.botwiz.dev/docs/blocks/conditions#option-condition)
later on to distinguish their answer. E.g., for a giveaway command, you can ask if you'd like it to start now!

Boolean option example within a command.
Unlike an attachment option, boolean options do not have any other information you can grab.
When checking to see whether the command executor chose true or false, start by placing an option condition block. From here, create a new condition as shown below. After, if the user chose `True` your condition will fire. Otherwise, your else condition will run.

Setting up an option condition to configure the command user's selection.
[](https://docs.botwiz.dev/docs/blocks/options#channel-option)
Channel Option
----------------------------------------------------------------------------------
Useful for tagging a giveaway channel, for example, the channel option allow users who use the command to tag a channel. With this option, a list of channels, including categories, will pop up. Users will only be able to select a channel, and no other text can be entered.

A command with a required channel option.
Depending on the channel's type that was selected, e.g. whether it was a category, voice channel or text channel, depends on what you can return when using Discord JS properties. To find all of the properties you can use, see this [Discord JS documentation](https://discord.js.org/docs/packages/discord.js/14.14.1/TextChannel:Class)
page.
For instance, you can find the last message, last pin timestamp and the channel's topic by using a variable such as `{option_name[topic]}`. In this variable, just replace `topic` with the property you wish to use e.g., `{option_name[lastMessage]}`.

Some of the properties you can access with a text channel.
When using `{option_name}` it will return the channel's ID. To tag the channel in a message, please use `<#{option_name}>`. For more on message formatting, how to tag emojis, users and other formats, see this [Discord Developer Documentation](https://discord.com/developers/docs/reference#message-formatting)
page.
[](https://docs.botwiz.dev/docs/blocks/options#integer-option)
Integer Option
----------------------------------------------------------------------------------
Integer options, unlike number options, ask command users to enter a whole number (e.g. `1`, `0` or `-1`). Other numbers such as `1.2` are unable to be entered for this option, as shown below. Therefore, this option is great for asking for a number of giveaway winners for example.

[](https://docs.botwiz.dev/docs/blocks/options#mentionable-option)
Mentionable Option
------------------------------------------------------------------------------------------
Mentionable options allow users to select any role or member. Unlike other options, you are unable to enter pre-set choices for a mentional option. However, similar to an attchment option, there are properties available to gather further information.

A mentionable option being used in a command.
For example, if a role is given you can find properties such as its colour, time the role was created, icon, and name. To find a list of all role properties, visit this [Discord JS](https://discord.js.org/docs/packages/discord.js/14.14.1/Role:Class)
page. E.g., to find a role's colour, you can use the variable `{option_name[color]}`.
Likewise, if a member is selected, you can find a member's avatar, display color, id, nickname, status and more. To find every property you can use, feel free to visit this [Discord JS](https://discord.js.org/docs/packages/discord.js/14.14.1/GuildMember:Class)
page. E.g., you can find a member's status by using the variable `{option_name[presence.status]}`.
To find out more about properties and what variables you can use, visit [Discord JS](https://docs.botwiz.dev/docs/misc/discord-js)
.
###
[](https://docs.botwiz.dev/docs/blocks/options#member-or-role)
Member or Role?
Since the user running the command and pick from any member or role, sometimes you may need to find out which - a member or role - they picked. This is especially important for using the correct variables, e.g. `{option_name[color]}` vs `{option_name[presence.status]}`, as only one variable works with roles and the other with members.
There are multiple ways to check whether the ID returned is a role or a member, but the easiest way would be to use a comparison condition. In this condition, you can check to see if `{option_name[color]}` is undefined. If so, the ID is a member's ID. Yet if it is not undefined, the ID belongs to a role.

A visual example on how to set up your comparison condition block.
[](https://docs.botwiz.dev/docs/blocks/options#number-option)
Number Option
--------------------------------------------------------------------------------
For a number option, you can enter any number values such as `1`, `0`, `0.1`, `-1` etc. Handy for managing an economy, these options restrict users from entering non-numeric content. With a number option, you can define pre-set choices for command users to choose from.

A command featuring a number option.
[](https://docs.botwiz.dev/docs/blocks/options#role-option)
Role Option
----------------------------------------------------------------------------
Similar to a channel option, role options force users to select a role from the server. Helpful for commands such as an add-role command, the role option prohibits users from entering anything other than a role, and it automatically provides a list of roles ready for selection.

Role condition in a command.
Role options allow you to possess its properties. For instance, you can gather additional information on the role such as its name, colour, time of creation, and more. To do so, you can use a variable such as `{option_name[name]}` to access the role's name.
There are more properties than those mentioned above (e.g., a role's name is a property). To found out more on Discord JS properties, visit [Discord JS](https://docs.botwiz.dev/docs/misc/discord-js)
. However, to find a full list of properties for a role, please visit this official [Discord JS](https://discord.js.org/docs/packages/discord.js/14.14.1/Role:Class)
page.
[](https://docs.botwiz.dev/docs/blocks/options#text-option)
Text Option
----------------------------------------------------------------------------
Text options are free of limitations, meaning that any character can be used. Thus, these options can be useful for moderative commands, for example, as you can add a custom reason. Unlike other options, text options let you configure pre-set choices.

A command using a text option.
[](https://docs.botwiz.dev/docs/blocks/options#member-option)
Member Option
--------------------------------------------------------------------------------
Member options allow you to select a server member. This is useful for commands that require user-specific actions, such as sending a direct message or selecting a user to moderate. Like role options, member options restrict input to server members only, and provide a brief list of members to pick from.

A preview of how a member option looks in a command.
You can also retrieve various details about the member using variables such as `{option_name[user.username]}`, `{option_name[displayName]}`, and more using guild member properties. For a list of these properties, please refer to this [Discord JS](https://discord.js.org/docs/packages/discord.js/14.14.1/GuildMember:Class)
documentation page.
[PreviousConditions](https://docs.botwiz.dev/docs/blocks/conditions)
Last updated 1 year ago
* [Introduction to Options](https://docs.botwiz.dev/docs/blocks/options#introduction-to-options)
* [Preset Choices](https://docs.botwiz.dev/docs/blocks/options#preset-choices)
* [Required Options](https://docs.botwiz.dev/docs/blocks/options#required-options)
* [Reordering Options](https://docs.botwiz.dev/docs/blocks/options#reordering-options)
* [Attachment Option](https://docs.botwiz.dev/docs/blocks/options#attachment-option)
* [Filesize Limits](https://docs.botwiz.dev/docs/blocks/options#filesize-limits)
* [Boolean Option](https://docs.botwiz.dev/docs/blocks/options#boolean-option)
* [Channel Option](https://docs.botwiz.dev/docs/blocks/options#channel-option)
* [Integer Option](https://docs.botwiz.dev/docs/blocks/options#integer-option)
* [Mentionable Option](https://docs.botwiz.dev/docs/blocks/options#mentionable-option)
* [Member or Role?](https://docs.botwiz.dev/docs/blocks/options#member-or-role)
* [Number Option](https://docs.botwiz.dev/docs/blocks/options#number-option)
* [Role Option](https://docs.botwiz.dev/docs/blocks/options#role-option)
* [Text Option](https://docs.botwiz.dev/docs/blocks/options#text-option)
* [Member Option](https://docs.botwiz.dev/docs/blocks/options#member-option)
---
# Create & Delete an Auto Mod Rule | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/create-and-delete-an-auto-mod-rule.md)
.
####
[](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/create-and-delete-an-auto-mod-rule#rule-name)
Rule Name
This is the name of the rule that is shown in the configuration.

####
[](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/create-and-delete-an-auto-mod-rule#trigger-type)
Trigger Type
This is the type of auto mod rule that this trigger will follow.

####
[](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/create-and-delete-an-auto-mod-rule#keyboard-filter)
Keyboard Filter
This is for the Keyword selection in the trigger type, enter words and these will be blocked.

####
[](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/create-and-delete-an-auto-mod-rule#mention-limit)
Mention Limit
If the Mention trigger is selected, enter a number of the max amount of times a user can get mentioned before it triggers.

####
[](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/create-and-delete-an-auto-mod-rule#action-type)
Action Type
Enter the punishment for user.

Type
Response
Block Message
This will block the message from being sent in the Discord Server.
Send Alert Message
This will send a predefined.
####
[](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/create-and-delete-an-auto-mod-rule#reason)
Reason
Enter the reason for creating this auto mod rule, this will be displayed in auto mod.

[PreviousAPI](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/api)
[NextTimed & Custom Event](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/timed-and-custom-event)
Last updated 2 years ago
---
# Unban Member | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/blocks/actions/member-actions/unban-member.md)
.

####
[](https://docs.botwiz.dev/docs/blocks/actions/member-actions/unban-member#user-type)
User Type
The user type of the user you are unbanning, must be selected to User ID.

####
[](https://docs.botwiz.dev/docs/blocks/actions/member-actions/unban-member#reason)
Reason
The reason for unbanning the user.

[PreviousTimeout Member](https://docs.botwiz.dev/docs/blocks/actions/member-actions/timeout-member)
[NextVariable Actions](https://docs.botwiz.dev/docs/blocks/actions/variable-actions)
Last updated 2 years ago
---
# Actions | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/blocks/actions.md)
.
**Our documentation page is undergoing a rework. Some pages are incomplete.**
We are working overtime to resolve this issue, please visit our [Support Server](https://discord.gg/YHVry73av9)
if you need any additional help, or would like to report any bugs or suggestions.
Action blocks let you define what your bot should do, such as sending a message or performing a task. They can be used in any builder, whether you’re setting up a new event or creating a command.
The following subpages break down each category, such as message blocks and channel blocks. Each section provides detailed explanations of every block along with step-by-step setup instructions. If you ever get stuck or need extra guidance, our [Discord Server](https://discord.gg/botwiz)
is available for one-on-one support.
Some pages may explain multiple action blocks. E.g. [Delete & Pin a Message](https://docs.botwiz.dev/docs/blocks/actions/message-or-embed-actions/delete-and-pin-a-message)
will explain the 'Delete Message' and 'Pin Message' blocks.
[](https://docs.botwiz.dev/docs/blocks/actions#list-of-our-action-blocks)
List of our Action Blocks
--------------------------------------------------------------------------------------------------------
For those new to BotWiz, below you can find a list of our available action blocks. Each can be performed by your bot whenever a command or event has been executed! With each block listed, a brief explanation will be provided along with a link to its subpage.
###
[](https://docs.botwiz.dev/docs/blocks/actions#message-or-embed)
Message or Embed
Action Block
Description
Subpage Link
Modal
Open a form for users to answer questions.
[Modal](https://docs.botwiz.dev/docs/blocks/actions/message-or-embed-actions/modal)
Start Poll
Start a custom Discord poll.
[Start Poll](https://docs.botwiz.dev/docs/blocks/actions/message-or-embed-actions/start-and-end-poll#start-poll)
Stop Poll
End an ongoing Discord poll.
[Start & End Poll](https://docs.botwiz.dev/docs/blocks/actions/message-or-embed-actions/start-and-end-poll#end-poll)
Send Message
Get your bot to send a custom message.
[Send & Edit a Message](https://docs.botwiz.dev/docs/blocks/actions/message-or-embed-actions/send-and-edit-a-message)
Add Reaction
Add a reaction to a message.
Remove Reaction
Remove a reaction from a message.
Forward Message
Forward a message.
Publish Message
Publish a message.
Delete Message
Delete a message.
[Delete a Message](https://docs.botwiz.dev/docs/blocks/actions/message-or-embed-actions/delete-and-pin-a-message#delete-a-message)
Copy Message
Copy a message.
Edit Message
Edit a message.
Pin Message
Pin a message.
[Pin a Message](https://docs.botwiz.dev/docs/blocks/actions/message-or-embed-actions/delete-and-pin-a-message#pin-a-message)
###
[](https://docs.botwiz.dev/docs/blocks/actions#voice-actions)
Voice Actions
Action Block
Description
Subpage Link
Join Channel
Join a channel.
Leave Channel
Leave a channel.
Mute
Mute a member.
Unmute
Unmute a member.
Deafen
Deafen a member.
Undeafen
Undeafen a member.
Disconnect
Disconnect a member from a channel.
Request to Speak
Request to speak in a stage channel.
Remove request to Speak
Remove request to speak in a stage channel.
Suppress
Suppress a user or channel.
Remove Suppress
Remove suppress from a user or channel.
###
[](https://docs.botwiz.dev/docs/blocks/actions#role-actions)
Role Actions
Action Block
Description
Subpage Link
Add Roles to Everyone
Assign a role to every user in the server.
[Removing & Adding a Role to Everyone](https://docs.botwiz.dev/docs/blocks/actions/role-actions/removing-and-adding-a-role-to-everyone)
Add Role
Assign a role to a user.
[Create or Add a Role](https://docs.botwiz.dev/docs/blocks/actions/role-actions/create-or-add-a-role)
Create Role
Create a new guild role.
[Create or Add a Role](https://docs.botwiz.dev/docs/blocks/actions/role-actions/create-or-add-a-role)
Delete Role
Delete a guild role.
[Delete or Remove a Role](https://docs.botwiz.dev/docs/blocks/actions/role-actions/delete-or-remove-a-role)
Edit Role
Edit a guild role.
[Edit a Role](https://docs.botwiz.dev/docs/blocks/actions/role-actions/edit-a-role)
Remove Roles
Remove a role from a user.
[Delete or Remove a Role](https://docs.botwiz.dev/docs/blocks/actions/role-actions/delete-or-remove-a-role)
Remove Roles from Everyone
Remove a role from everyone in the server.
[Removing & Adding a Role to Everyone](https://docs.botwiz.dev/docs/blocks/actions/role-actions/removing-and-adding-a-role-to-everyone)
###
[](https://docs.botwiz.dev/docs/blocks/actions#channel-actions)
Channel Actions
Action Block
Description
Subpage Link
Create Channel
Create a guild channel.
[Create Channel](https://docs.botwiz.dev/docs/blocks/actions/channel-actions/create-channel)
Delete Channel
Delete a guild channel.
[Delete Channel](https://docs.botwiz.dev/docs/blocks/actions/channel-actions/delete-channel)
Edit Channel
Edit a guild channel.
[Edit Channel](https://docs.botwiz.dev/docs/blocks/actions/channel-actions/edit-channel)
Purge
Purge messages in a guild channel.
[Purge Messages](https://docs.botwiz.dev/docs/blocks/actions/channel-actions/purge-messages)
###
[](https://docs.botwiz.dev/docs/blocks/actions#member-actions)
Member Actions
Action Block
Description
Subpage Link
Manage Nickname
Update a member's nickname in a guild.
[Member Nickname](https://docs.botwiz.dev/docs/blocks/actions/member-actions/member-nickname)
Timeout Member
Timeout / mute a guild member.
[Timeout Member](https://docs.botwiz.dev/docs/blocks/actions/member-actions/timeout-member)
Kick Member
Kick a member from a guild.
[Kick Member](https://docs.botwiz.dev/docs/blocks/actions/member-actions/kick-member)
Unban Member
Unban a member from a guild.
[Unban Member](https://docs.botwiz.dev/docs/blocks/actions/member-actions/unban-member)
Ban Member
Ban a member from a guild.
[Ban Member](https://docs.botwiz.dev/docs/blocks/actions/member-actions/ban-member)
###
[](https://docs.botwiz.dev/docs/blocks/actions#variable-actions)
Variable Actions
Action Block
Description
Subpage Link
Calculate Variable
Run an equation on a variable.
[Calculate Variable](https://docs.botwiz.dev/docs/blocks/actions/variable-actions/calculate-variable)
Delete Variable
Remove the values from a variable.
[Delete Variable](https://docs.botwiz.dev/docs/blocks/actions/variable-actions/delete-variable)
Set Variable
Set a variable to a specific value.
[Set Variable](https://docs.botwiz.dev/docs/blocks/actions/variable-actions/set-variable)
###
[](https://docs.botwiz.dev/docs/blocks/actions#action-blocks)
Action Blocks
Action Block
Description
Subpage Link
API
Use external API in your build.
[API](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/api)
Break Loop
End an ongoing loop early.
[Break a Loop](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/loop-actions#break-a-loop)
Loop
Start a loop.
[Start a Loop](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/loop-actions#start-a-loop)
Wait
Wait before the next block starts.
[Wait](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/waiting-and-logging#wait)
Logging
Create custom logs for your bot logs.
[Waiting & Logging](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/waiting-and-logging)
[PreviousExports](https://docs.botwiz.dev/docs/misc/exports)
[NextMessage or Embed Actions](https://docs.botwiz.dev/docs/blocks/actions/message-or-embed-actions)
Last updated 10 months ago
* [List of our Action Blocks](https://docs.botwiz.dev/docs/blocks/actions#list-of-our-action-blocks)
* [Message or Embed](https://docs.botwiz.dev/docs/blocks/actions#message-or-embed)
* [Voice Actions](https://docs.botwiz.dev/docs/blocks/actions#voice-actions)
* [Role Actions](https://docs.botwiz.dev/docs/blocks/actions#role-actions)
* [Channel Actions](https://docs.botwiz.dev/docs/blocks/actions#channel-actions)
* [Member Actions](https://docs.botwiz.dev/docs/blocks/actions#member-actions)
* [Variable Actions](https://docs.botwiz.dev/docs/blocks/actions#variable-actions)
* [Action Blocks](https://docs.botwiz.dev/docs/blocks/actions#action-blocks)
---
# API | BotWiz Documentation
For the complete documentation index, see [llms.txt](https://docs.botwiz.dev/docs/llms.txt)
. This page is also available as [Markdown](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/api.md)
.
The API block allows you to send restful HTTP requests to 3rd party servers to append, delete or retrieve information from the server side. APIs are super handy when you need to communicate with an outside service that is not natively integrated with BotWiz. Sending HTTP requests with BotWiz is super simple. Below is a general outline on how to use this block and send successful requests. Given APIs can be complex, this guide will be elongated to cover as much as possible to make it as easy as possible to understand.
[](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/api#what-is-an-api)
What is an API?
-----------------------------------------------------------------------------------------------------
Before sending requests to servers, it is relatively important to understand how a HTTP request works. For those who know what a HTTP request is and how it works, [click here](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/api#sending-http-requests) to skip this section.
The Hypertext Transfer Protocol (HTTP) is designed to enable communications between clients and servers. HTTP works as a request-response protocol between a client and server.
> **Example:** A client (browser) sends an HTTP request to the server; then the server returns a response to the client. The response contains status information about the request and may also contain the requested content.
[](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/api#request-methods)
Request Methods
------------------------------------------------------------------------------------------------------
Simple enough right? Well, each HTTP request must be sent with a designated 'method'. Each method does different things and means different things. Annoying right? Yes, we know. A list of each request type/method can be found below.
###
[](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/api#common-request-methods)
Common Request Methods
GET
POST
PUT
DELETE
PATCH
GET is used to request data from a specified resource. This method cannot accept any bodies on the request. As such all query parameters must be sent in the URL. Like the example below: `/test/demo_form?name1=value1&name2=value2`
**Some notes on GET requests:**
* **GET** requests can be cached
* **GET** requests have length restrictions
* **GET** requests are only used to request data (not modify)
* **GET** requests cannot pass any data via the request body
POST is used to send data to a server to create/update a resource. Most commonly used to 'post/send' data to a server, rather than update.
The data sent to the server with POST is stored in the request body of the HTTP request:

Request Body for a POST request in BotWiz
As you can tell from the start, the request body works by sending key/value pairs in the request. Think of this as JSON keys and entries. As that is exactly what it is, BotWiz just removes the need to use {} or "" in the request. Taking something from this:
And turning it into:
> Key: key Value: value
**Some notes on POST requests:**
* **POST** requests are never cached
* **POST** requests have no restrictions on data length
* **POST** requests transmit data via the request body object.
* POST requests can still send values via query params (In the URL)
PUT is used to send data to a server to create/update a resource.
The difference between POST and PUT is that PUT requests are idempotent. That is, calling the same PUT request multiple times will always produce the same result. In contrast, calling a POST request repeatedly have side effects of creating the same resource multiple times.
The DELETE method deletes the specified resource. This wont be as commonly used in BotWiz as typically it is only used if you control the data server for the resource you are sending the request to.
The PATCH method is used to apply partial modifications to a resource. This is commonly used in Discord endpoints in which you update a resource. Such as message, channel or guild, etc.
###
[](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/api#not-so-common-request-methods-not-used-in-botwiz)
Not So Common Request Methods _(Not used in BotWiz)_
HEAD
OPTIONS
CONNECT
TRACE
HEAD is almost identical to GET, but without the response body.
In other words, if GET /users returns a list of users, then HEAD /users will make the same request but will not return the list of users.
A HEAD request is useful for checking what a GET request will return before actually making a GET request - a HEAD request can read the Content-Length header to check the size of the file, without actually downloading the file.
The OPTIONS method describes the communication options for the target resource.
The CONNECT method is used to start a two-way communications (almost like a tunnel) with the requested resource. This is different from a websocket.
The TRACE method is used to perform a message loop-back test that tests the path for the target resource (useful for debugging purposes).
Now you know all the types, you can start to use HTTP requests more confidently. You can get started using the API block in BotWiz to send requests to servers.

API block in BotWiz
[](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/api#sending-http-requests)
Sending HTTP Requests
------------------------------------------------------------------------------------------------------------------
To get started sending HTTP requests with BotWiz, you first need to add the API block to your command/event tree, the block is pictured above for reference. Once you have added the API block to your command/event tree, you can configure the request by clicking on the block itself to open the configuration menu.

API block configuration menu
###
[](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/api#setup-tab)
Setup Tab
Once open, you will be greeted by a couple different options, if this is your first time using HTTP requests, this may seem confusing at first glance. However, it is super simple to setup and use. On the first page 'Setup' which is open by default you will be greeted by 3 input boxes.
* **Name** The name of the API block, used to reference the response with {api\_**api\_name\_here**\[response\]}
* URL The URL/Address for the resource you are sending a request to
* Method The [method/type](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/api#request-methods)
of request it will be
When picking a name for your API block, it is best to keep it simple, and note that it MUST be unique, you cannot have 2 or more API blocks in the same command/event with the same name, or this will confuse the responses and may lead to issues down the line.
###
[](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/api#url-parameters)
URL Parameters
The second page/tab you will see is the URL Parameters tab. This is used to add query params to your URL, used mainly for GET requests, but widely used across all methods which accept URL params.

URL Parameters Tab
The URL parameters are accepted in Key/Value form to keep it simple. To shorten it all down and keep it as simple as possible, essentially this will append the key and value to the end of the URL when sending the request. It could end up looking something like this:
`/test/demo_form?name1=value1&name2=value2`
###
[](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/api#http-headers)
HTTP Headers
HTTP Headers are used to pass important data to the servers you are sending a request to, data such as: Authentication tokens, request data type, and other bits of information the server may need to respond and process your request correctly.
This is most commonly used for stating the data type, and authenticating the request when using endpoints which require keys or tokens.
**Never share any authentication key with anyone. Make sure to keep this secret at all times! BotWiz allows you to use {bot\_token} to send your bots token in an API request without the need to copy and paste it. Only use this variable in Discord APIs, other APIs do not need it.**

HTTP Headers Tab
As you can see, this also works in a Key/Value pair. Exactly the same as the URL Parameters. This is also the same for Request Body, which is the next section we will cover.
###
[](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/api#request-body)
Request Body
The request body is usable on all request methods besides HEAD, and GET. The request body allows you to send data to the server, This data is sent as JSON and parsed on the receiving end. If you need to send data with your request, it will most likely be a POST or PUT request that uses the request body to send such data.

Request Body
###
[](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/api#test-request)
Test Request
The test request tab is used to send a request to the server from the builder so you can see the response of the request. This is useful for testing the request, or viewing the data it will return so you can correctly reference it in your event or command.
Test requests send like a normal request, the only difference is it is sent by the builder and not the bot.
**The use of any variables aside from** `**{bot_token}**` **will not work in a test request.**
[](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/api#retrieving-response-data)
Retrieving Response Data
------------------------------------------------------------------------------------------------------------------------
Once you have sent a successful request, you can use it's response in your commands or events. Note the requested data is specific to that interaction, meaning once the command or event finishes its trigger, the request data is deleted to make room for the next run.
Request data cannot be transferred from one command, to another. Or one event, to another, unless you save the response from the HTTP call to a custom variable, however unless needed, it is advised you do not do this as storing data will mean it does not get updated without you specifically making it.
To display the data from the request you can use the API response variable, this looks like:
`{api_``**your_api_name**``[response]}`
Remember to replace 'your\_api\_name' with the name you have chosen for the API block when setting it up. After response you will use dot '.' notations to add another argument to the variable lick such:
`{api_``**your_api_name**``[response.example]}`
The above is an example of me retrieving the value stored in the 'example' key of the JSON response the server sends back. Everything that comes after response should match with what is returned in the response from the server the request was sent to. For example, I have sent a request and received this response:
I want to access the title of this response, to do this i would write out the variable as such:
`{api_``**your api name**``[response.title]}`
This will retrieve the data from title and return "delectus aut autem". When working with responses that return an array of objects, it is slightly different. Here is an example:
As you can see, there are some responses that have been returned as an array with objects inside them (Objects use `{}` and arrays use `[]`}. This is all in JSON format. Learn more about it [here](https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Objects/JSON)
.
To access a value in an array, we must specify the arrays name, and the position of the object/data value in which we want. It is important to explain now that arrays ALWAYS start at 0. Now that we know this, lets say I want to access the second user in the users array (Bryan) and then retrieve the name of his country. This is how I would do it.
`{api_``**your api name**``[response.data.users.1.country.name]}`
As you can see, I have defined the index/position number for the user object I want to access. This is important when working with arrays, or the bot will not know which one to return, and instead will return null, the variable or even \[Object object\].
Lets say I want to get the only object in the countries array. This is how I would do it:
`{api_``**your api name**``[response.data.countries.0.iso3]}`
This will return 'RUS' as the value.
[PreviousAction Blocks](https://docs.botwiz.dev/docs/blocks/actions/action-blocks)
[NextCreate & Delete an Auto Mod Rule](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/create-and-delete-an-auto-mod-rule)
Last updated 2 years ago
* [What is an API?](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/api#what-is-an-api)
* [Request Methods](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/api#request-methods)
* [Common Request Methods](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/api#common-request-methods)
* [Not So Common Request Methods (Not used in BotWiz)](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/api#not-so-common-request-methods-not-used-in-botwiz)
* [Sending HTTP Requests](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/api#sending-http-requests)
* [Setup Tab](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/api#setup-tab)
* [URL Parameters](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/api#url-parameters)
* [HTTP Headers](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/api#http-headers)
* [Request Body](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/api#request-body)
* [Test Request](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/api#test-request)
* [Retrieving Response Data](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/api#retrieving-response-data)
Copy
{
"key": "value"
}
Copy
{
"userId": 1,
"id": 1,
"title": "delectus aut autem",
"completed": false
}
Normal Object Response
Copy
{
"userId": 1,
"id": 1,
"title": "delectus aut autem",
"completed": false
}
Response Object With Arrays
Copy
{
"data": {
"users": [\
{\
"firstName": "Bryan",\
"countryCode": "PW",\
"country": {\
"name": "Palau"\
},\
"company": {\
"name": "Mastercard"\
}\
},\
{\
"firstName": "Bryan",\
"countryCode": "CG",\
"country": {\
"name": "Congo (the)"\
},\
"company": {\
"name": "China Construction Bank"\
}\
},\
{\
"firstName": "Bryan",\
"countryCode": "BV",\
"country": {\
"name": "Bouvet Island"\
},\
"company": {\
"name": "Chevron"\
}\
}\
],
"countries": [\
{\
"iso3": "RUS"\
}\
]
}
}
---
# Unknown
\# BotWiz Documentation ## BotWiz Documentation - \[Welcome to BotWiz!\](https://docs.botwiz.dev/docs/welcome-to-botwiz.md) - \[Support Team Application\](https://docs.botwiz.dev/docs/support-team-application.md) - \[Moderation Team Application\](https://docs.botwiz.dev/docs/moderation-team-application.md) - \[Documentation Team Application\](https://docs.botwiz.dev/docs/documentation-team-application.md) - \[2025\](https://docs.botwiz.dev/docs/updates-and-changelogs/2025.md): See the latest updates and changelogs for 2025. - \[Transitioning to a Paid Platform\](https://docs.botwiz.dev/docs/updates-and-changelogs/2025/transitioning-to-a-paid-platform.md): This update provides an overview of what's going to change as BotWiz transitions into a paid platform. - \[Get Started\](https://docs.botwiz.dev/docs/dashboard/get-started.md): Making your first Discord bot with BotWiz. - \[Settings\](https://docs.botwiz.dev/docs/dashboard/settings.md) - \[Premium Free Trial (BETA)\](https://docs.botwiz.dev/docs/dashboard/premium-free-trial-beta.md): This page documents information on BotWiz free trials. - \[Premium\](https://docs.botwiz.dev/docs/dashboard/premium.md) - \[Commands\](https://docs.botwiz.dev/docs/creations/commands.md) - \[Builder\](https://docs.botwiz.dev/docs/creations/commands/builder.md): The BotWiz Builder is the core tool for customizing your commands and events. It allows you to define how they respond, behave, and interact with users—giving full control over your bot's function. - \[Events\](https://docs.botwiz.dev/docs/creations/events.md) - \[List of Discord Events\](https://docs.botwiz.dev/docs/creations/events/list-of-discord-events.md) - \[Variables\](https://docs.botwiz.dev/docs/creations/variables.md) - \[Interaction & Default Variables\](https://docs.botwiz.dev/docs/creations/variables/interaction-and-default-variables.md): This is the list of basic variables that are supported at BotWiz. - \[Custom Variables\](https://docs.botwiz.dev/docs/creations/variables/custom-variables.md): Custom variables allow users to store unique data of any sort - \[Bot Variables\](https://docs.botwiz.dev/docs/creations/variables/custom-variables/bot-variables.md): Create and manage custom data variables to store useful information on your bot to use all over BotWiz! - \[Unique Variables\](https://docs.botwiz.dev/docs/creations/variables/unique-variables.md): Unique variables allow users to store unique data of any sort in a command or event execution. - \[Function Variables\](https://docs.botwiz.dev/docs/creations/variables/function-variables.md): Below you'll find a list of BotWiz's helpful functions which allow you to get values and complete processes much quicker. - \[Advanced Variables\](https://docs.botwiz.dev/docs/creations/variables/advanced-variables.md): View a list of all current advanced variables - \[Event Variables\](https://docs.botwiz.dev/docs/creations/variables/event-variables.md): View a list of all current event variables - \[Teams\](https://docs.botwiz.dev/docs/misc/teams.md) - \[Debugging\](https://docs.botwiz.dev/docs/misc/debugging.md): A list of errors, succes and information that your bot has saved. - \[Exports\](https://docs.botwiz.dev/docs/misc/exports.md) - \[Discord JS\](https://docs.botwiz.dev/docs/misc/discord-js.md) - \[Actions\](https://docs.botwiz.dev/docs/blocks/actions.md) - \[Voice Actions\](https://docs.botwiz.dev/docs/blocks/actions/voice-actions.md) - \[Music Actions\](https://docs.botwiz.dev/docs/blocks/actions/music-actions.md) - \[Message or Embed Actions\](https://docs.botwiz.dev/docs/blocks/actions/message-or-embed-actions.md) - \[Modal\](https://docs.botwiz.dev/docs/blocks/actions/message-or-embed-actions/modal.md) - \[Send & Edit a Message\](https://docs.botwiz.dev/docs/blocks/actions/message-or-embed-actions/send-and-edit-a-message.md) - \[Delete & Pin a Message\](https://docs.botwiz.dev/docs/blocks/actions/message-or-embed-actions/delete-and-pin-a-message.md) - \[Start & End Poll\](https://docs.botwiz.dev/docs/blocks/actions/message-or-embed-actions/start-and-end-poll.md) - \[Role Actions\](https://docs.botwiz.dev/docs/blocks/actions/role-actions.md) - \[Removing & Adding a Role to Everyone\](https://docs.botwiz.dev/docs/blocks/actions/role-actions/removing-and-adding-a-role-to-everyone.md) - \[Create or Add a Role\](https://docs.botwiz.dev/docs/blocks/actions/role-actions/create-or-add-a-role.md) - \[Delete or Remove a Role\](https://docs.botwiz.dev/docs/blocks/actions/role-actions/delete-or-remove-a-role.md) - \[Edit a Role\](https://docs.botwiz.dev/docs/blocks/actions/role-actions/edit-a-role.md): Edit a role within a guild. - \[Channel Actions\](https://docs.botwiz.dev/docs/blocks/actions/channel-actions.md) - \[Create Channel\](https://docs.botwiz.dev/docs/blocks/actions/channel-actions/create-channel.md): Create a channel within a guild - \[Edit Channel\](https://docs.botwiz.dev/docs/blocks/actions/channel-actions/edit-channel.md): Edit a channel within a guild - \[Delete Channel\](https://docs.botwiz.dev/docs/blocks/actions/channel-actions/delete-channel.md): Delete a channel within a guild. - \[Purge Messages\](https://docs.botwiz.dev/docs/blocks/actions/channel-actions/purge-messages.md) - \[Member Actions\](https://docs.botwiz.dev/docs/blocks/actions/member-actions.md) - \[Ban Member\](https://docs.botwiz.dev/docs/blocks/actions/member-actions/ban-member.md): Use this block to ban a member in your Discord Server. - \[Kick Member\](https://docs.botwiz.dev/docs/blocks/actions/member-actions/kick-member.md): Kick a member in your Discord Server - \[Member Nickname\](https://docs.botwiz.dev/docs/blocks/actions/member-actions/member-nickname.md): This will change a members nickname - \[Timeout Member\](https://docs.botwiz.dev/docs/blocks/actions/member-actions/timeout-member.md): Timeout a member in your Discord. - \[Unban Member\](https://docs.botwiz.dev/docs/blocks/actions/member-actions/unban-member.md): Unban Member - \[Variable Actions\](https://docs.botwiz.dev/docs/blocks/actions/variable-actions.md) - \[Calculate Variable\](https://docs.botwiz.dev/docs/blocks/actions/variable-actions/calculate-variable.md): Run a equation on a variable - \[Delete Variable\](https://docs.botwiz.dev/docs/blocks/actions/variable-actions/delete-variable.md): Delete a variables value. - \[Set Variable\](https://docs.botwiz.dev/docs/blocks/actions/variable-actions/set-variable.md): Set a variables value. - \[Action Blocks\](https://docs.botwiz.dev/docs/blocks/actions/action-blocks.md) - \[API\](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/api.md): Learn all things APIs in BotWiz! - \[Function\](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/function.md) - \[Loop Actions\](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/loop-actions.md) - \[Waiting & Logging\](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/waiting-and-logging.md) - \[Create & Delete an Auto Mod Rule\](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/create-and-delete-an-auto-mod-rule.md) - \[Timed & Custom Event\](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/timed-and-custom-event.md) - \[Conditions\](https://docs.botwiz.dev/docs/blocks/conditions.md) - \[Options\](https://docs.botwiz.dev/docs/blocks/options.md) ## DashWiz Documentation - \[Welcome to DashWiz!\](https://docs.botwiz.dev/docs/dashwiz-documentation/welcome-to-dashwiz.md) - \[Get Started\](https://docs.botwiz.dev/docs/dashwiz-documentation/dashboard/get-started.md) - \[Settings\](https://docs.botwiz.dev/docs/dashwiz-documentation/dashboard/settings.md) - \[Whitelabeling\](https://docs.botwiz.dev/docs/dashwiz-documentation/whitelabeling.md) - \[Collections\](https://docs.botwiz.dev/docs/dashwiz-documentation/creations/collections.md) - \[Elements\](https://docs.botwiz.dev/docs/dashwiz-documentation/creations/elements.md) - \[Pages\](https://docs.botwiz.dev/docs/dashwiz-documentation/creations/pages.md) - \[Builder\](https://docs.botwiz.dev/docs/dashwiz-documentation/creations/builder.md)
---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/welcome-to-botwiz.md). # Welcome to BotWiz! Take your Discord server to the next level with our powerful no-code bot builder. Create, deploy, and manage your bots with ease. It's never been easier to build a bot for your Discord server! Instead of coding, you will be able to use simple connectors, variables, and blocks to establish complex actions for your bot to undertake and perform. This includes the ability to make a fully customizable moderation, economy, utility or fun bot! The possibilities are endless. {% hint style="warning" icon="triangle-exclamation" %} \*\*Our documentation page is undergoing a rework. Some pages may be incomplete at this time.\*\* We are working overtime to resolve this issue, please visit our \[Support Server\](https://discord.gg/7MENjP6jyW) if you need any additional help, or would like to report any bugs or suggestions. {% endhint %} ## FAQs ### Is BotWiz free? At this time, BotWiz is no longer offering free plans. Bacio has stated that \[this may change\](https://discord.com/channels/856011486077255690/1348445391162576937/1468914270384295938) in the near future; however, nothing is confirmed. You can continue to develop bots on BotWiz for completely free but deploying them is restricted to exclusively premium users.\\ \\ For updates on this and for competitions and giveaways for a chance to win BotWiz premium, please join the BotWiz \[Discord server\](https://discord.gg/7MENjP6jyW). Find out more information on premium and methods through which it can be obtained at \[Premium\](/docs/dashboard/premium.md). ### How do I keep my bot online? BotWiz provides premium hosting integrated directly into our platform when using a premium subscription. This includes keeping your bot online for as long as you need, with a 99.99% uptime.\\\* To manage your bot's status, navigate to the General Settings section of your dashboard, where you can choose to set it online, restart it, or take it offline. Restarting your bot is useful for if it is slow or not responding. Find out more about troubleshooting at \[Debugging\](/docs/misc/debugging.md).

\\\*Prior uptime statistics are not indicative of future uptime. Purchasing a premium package does not constitute any sort of service-level agreement with BotWiz in regard to uptime. ## Need Help & Support? If at any point our documentation or guides page doesn't answer your question, we have a \[Discord server\](https://discord.gg/7MENjP6jyW) available to offer you support! This includes assistance with things such as: \* documentation and guide navigation, \* initial bot setup, and \* custom command and event creation When creating a support post, we strongly encourage that you explain the issues that you experience to the fullest extent to ensure our team can assist you in a timely and effective manner. ### Support Information Our Support Team is currently small, and while the vast majority of questions receive a response fairly swiftly— most within less than 12 hours— some more complex topics such as those involving complex event creation instructions/guides may take longer to address. We're actively working on reducing these delays to ensure our customers are served as best as possible. Rest assured, improvements are coming! In the meantime, we kindly ask you for your patience and that you refrain from pinging staff members if not absolutely necessary. Your question will be answered as soon as possible. BotWiz thanks you for your enthusiasm towards the platform and learning how it operates. ## Bug Reports & Suggestions If at any point you encounter an issue in the platform, please join our \[Discord server\](https://discord.gg/7MENjP6jyW) to report it. You can do this in the \[bug reports channel\](https://discord.com/channels/856011486077255690/1395783481916653729) in our Discord server. Please provide a description of your bug, what steps you took to experience it, and paste in the URL to the page that this occured on. Furthermore, you can feel free to visit our Discord Server in order to leave suggestions. You can submit suggestions in the \[suggest channel\](https://discord.com/channels/856011486077255690/1395783651660140694). We appreciate and welcome your ideas for new additions to our documentation, guides, or the BotWiz website itself. When it comes to, bug reports and suggestions, our expert team \*\*always\*\* responds. In our response, we will provide information on whether your bug/suggestion is being reviewed, when the fix/new feature will be implemented, and (in rare cases), provide an estimation of a timeframe for implementation.
---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/dashwiz-documentation/creations/collections.md). # Collections Dashwiz adopts a collections model, enabling users to create multiple collections simultaneously. Each collection comprises various pages; for instance, a "servers" collection includes a default "servers" page. It's important to note that collection types offer unique sets of blocks and pages ## Why Collections Collections are like templates, allowing you to easily switch between various designs with a single click. Each collection can contain multiple templates, each with its own distinct theme, such as a Christmas collection, April Fools collection, or a standard collection. ## Collection Types There are three types of collections: public, servers, and dashboard. Each type behaves differently and offers unique elements and settings. ### Public Collections Public collections have pages that don't require authentication to access, this type of collection starts you of with a couple different pages out of the box. #### Landing Page The landing page is the page people will see if they don't specificly navigate to a page, you don't have to use our landing page template (it's pretty bare bone). You can also choose to select your own landing page in the page settings!

More about the page settings later! Terms of Service On this page, you'll introduce your own terms of service. We've provided a basic template to get you started, which you can customize to suit your needs.

{% hint style="warning" %} If DashWiz determines that your terms of service are in violation of ours, we reserve the right to terminate your website. Please review our terms of service {% endhint %} Privacy Policy On this page, you'll introduce your own privacy policy. We've provided a basic template to get you started, which you can customize to suit your needs.

{% hint style="warning" %} If DashWiz determines that your privacy policy is in violation of ours, we reserve the right to terminate your website. Please review our terms of service {% endhint %} ### Dashboard Collections {% hint style="danger" %} This is currently still in development, please come back at a later date! {% endhint %} ### Servers Collections The servers collection consists of a single behind a authentication layer which can be accessed at \`https://BOT\_ID.dashwiz.dev/servers\`. A key feature on this page is the "Guild Grid," which displays all the guilds that the user owns and in which the bot is in. This is also the only collection where you can use the "Guild Grid" element.

Note: It won't show the mock data on the public side.
\## Collection Settings Each collection has its own settings. You can change the name, description, visibility status, and background color through this modal. By default, collections are published when created.

---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/dashwiz-documentation/creations/elements.md). # Elements Elements are the building blocks of your pages. We offer a wide variety of elements that allow you to create your perfect web page. Missing anything? Suggest new elements in \[our Discord\](https://discord.gg/bQhj7Fev8m). ## Add Elements DashWiz offers a wide variety of elements to choose from. Our intuitive builder allows you to drag, resize, and even create your own custom elements. To add elements to your builder, click the "Add Element" button to access a popup displaying all available elements in the collection.

\## Edit Elements Right-click any element in your builder and choose "Edit" to access its settings.

Click "Edit Element" to open a popup for modifying the element's settings

\## Other Element Features ### Delete Element To delete an element, right-click on it and select "Delete" from

\### Duplicate Element To duplicate an element's settings, layer, and grouping, click the "Duplicate Element

\### Element Layering Elements are assigned to default layers, enabling overlap with lower layers. To adjust an element's layer, select the desired layer from

\### Element Grouping To group multiple elements together, hold the Shift key and drag over all the desired elements. Icons will appear at the bottom left of your builder. Click the group icon to group them. The grouped elements will always move together.

To ungroup elements, right-click on any element within the group and select "Remove from Grouping."

---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/dashboard/get-started.md). # Get Started {% hint style="info" %} BotWiz has recently transitioned into a \*\*paid only\*\* platform. You are now required to purchase a \*\*Premium Subscription\*\* to enable your bot. For more info see BotWiz Changelogs 2025. {% endhint %} BotWiz may be easier than coding your own bot from scratch, but there are components that can be confusing for new members. In this page, we have put together a complete guide on how to get started and make your very first Discord bot using BotWiz! We are determined to answer any and all questions that you might have about BotWiz. If at any point you would like one-on-one help with our bot creation tools, please visit our \[Discord Server\](https://discord.com/invite/YHVry73av9) and open a support post. ## Setting up your First Bot Before you can begin implementing bot commands, events, and other features with BotWiz, you must first create a Discord bot through Discord. To do this, sign into the \[Discord Developer Portal\](https://discord.com/developers/applications) using your Discord account, and click on 'New Application.' After you've created a Discord application, visit the 'Bot' tab. Here, you will be able to configure the application as a bot by defining its bot intents. Through the Discord Developer Portal, you will also be able to access the bot's token, and more, which will be necessary to configure BotWiz! ### Enabling your Bot's Intents By defining a bot's intents, you allow it to access message content, guild member information, and presence updates. This is essential for adding custom bot behavior, therefore, you \*\*must\*\* enable all three before you can configure the bot with BotWiz, and before the bot can appear online. In order to define a bot's intents, from the top of the 'Bot' tab, scroll down until you see 'PRESENCE INTENT,' 'SERVER MEMBERS INTENT,' and 'MESSAGE CONTENT INTENT.' Once there, be sure to enable all three, as shown below:

This is an example of a bot with all three of their intents enabled. This is required for your bot to work.
\## Bot Tokens All Discord bots use what is called a bot token to connect a bot's application code to the bot's Discord application itself. As you will come to learn, BotWiz handles the application code for your bot. Therefore, in order to give your bot custom bot behavior through application code, you will need to add the bot's token to BotWiz. This is done through the main landing page, but first, you need to create a bot token. ### Generating a Bot Token When creating a bot for the first time, you will need to generate a new bot token. In order to do this, from the top of the 'Bot' tab, scroll down until you see 'Reset Token.' Once there, select the 'Reset Token' option, and click 'Copy' to copy the bot token for use in the next step. In general, be sure to keep this token confidential, as anyone with access to it can connect their own application code to your bot. If you believe that your bot's token has been compromised, it's considered best practice to immediately regenerate it using the same process above. This is to prevent unwanted users from accessing your bot and taking control of your Discord servers. {% hint style="info" %} When regenerating your bot's token, do not forget to update this at BotWiz. You can do so by visiting your bot's Data & Security settings, and replacing your old token with your regenerated one. {% endhint %} {% hint style="warning" %} Do not share your bot's token with \*\*anyone\*\*. Instead, feel free to use our \[Teams\](/docs/misc/teams.md) feature. {% endhint %} ### Adding your Token at BotWiz To start adding custom commands, events, and other behavior to your bot, you must first add the bot's most recently generated token, as per the last step, to BotWiz through the main landing page. Visit \[BotWiz's main landing page\](https://botwiz.dev/en/dashboard/bots) and select "Click to add your first bot..." After doing so, it will walk you through all the necessary steps to create your first bot in BotWiz.

Afterwards, your bot will be registered with BotWiz, and you can immediately start creating your new custom commands and events. ## Navigating the Dashboard Once you have registered a bot's token with BotWiz, you can view your bot's dashboard which provides you various information about the bot, such as command uses per week, and navigation to dashboard sub pages. In order to view a specific bot's dashboard, select the desired bot and it will navigate you to the Dashboard. For every dashboard, you will see multiple pages that let you customize your bot completely, ranging from your bot's appearance down to how it operates. Navigating the dashboard can be a little overwhelming for new users, so below we've listed each dashboard subsection and what they do. ### Main The main section of the dashboard will include six pages meant for preparing your bot, such as its settings. These pages are typically used for starting or stopping your bot, purchasing premium, inviting your bot, and finding additional support resources for creating your custom commands and events. See the below tabs for all pages within the dashboard:
| Subsection | Description |
| --- | --- |
| Dashboard | Find some statistics on your bot, and see what is being used the most. |
| Premium | Purchasing premium gives your bot countless more opportunities. [See here](https://botwiz.dev/#prices)
. |
| Bots | Redirect back to your bot list, for ease of access to modifying another bot. |
| Settings | Customize a bot's configuration and settings. See more on subpages within settings below: |
| Documentation | See all of BotWiz's documentation. |
| Invite | Invite your current bot to a server by clicking this page! |
Under the settings subsection, you can customize various attributes about your bot, as described in the table below:
| Subpage | Description |
| --- | --- |
| General | Start your bot and change your bots activity and status. |
| Customization | Customize your bot. |
| Data & Security | View your bot's token, intents, and refresh data. |
| Default Messages | Default messages to common command errors. |
| Premium | Purchasing premium gives your bot countless more options [See here](https://botwiz.dev/#prices)
. |
| Integrations | Find your OpenAI Token, Deepseek Token, and Anthropic Token. |
\### Creations This section is entirely based upon your bot and its commands and events. Under the \*\*\*Builds\*\*\* column, you can create custom commands, Discord events (e.g., for when a new user joins a server your bot is in), timed events, webhook events and custom events entirely from scratch. Visiting our \*\*\*Modules,\*\*\* \*\*\*Templates\*\*\* or \*\*\*Market\*\*\* pages is a great way to implement professionally built systems with ease, to find a solid starting point for your own bot, or publcly share your builds with the BotWiz community! See the below tabs for all pages within this section: {% tabs %} {% tab title="Builds" %}
| Page | Description |
| --- | --- |
| Command | Build completely custom commands from scratch with various tools. |
| Discord Event | Trigger personalized actions from events e.g., when a user boosts a guild! |
| Timed Event | Run scheduled or interval timed events, for reoccurring actions. |
| Webhook Event | Connect your bot with third-party services to run unique actions. |
| Custom Event | Steer your command into running a custom event of yours! |
{% endtab %} {% tab title="Modules" %} Instead of building systems from scratch, try out our pre-built ones! {% endtab %} {% tab title="Templates" %} Implement a starting point for your bot with our template features! {% endtab %} {% tab title="Market" %} Publicly share your builds with the rest of the community! {% endtab %} {% endtabs %} ### Miscellaneous Featuring pages showcasing information about your bot, such as the guilds your application is currently in. Use these pages to manage your bots storage, team and troubleshoot your systems by using your bot logs (providing up-to-date errors, information and success notifications), and more. See the below chart for all pages within this section:
| Page | Description |
| --- | --- |
| Variables | The place to create, edit and view all of your custom variables. |
| Logs | Mainly for troubleshooting creations, these logs will mention any errors you have. |
| Exports | A showcase of each export you have saved; with the ability to import them. |
| Team | Work on your bot with a team! Manage their permissions, invite members, etc. |
| Guilds | An up-to-date list of the servers your bot is currently in. |
| Data | View how much storage is being used by your bot. |
| Transcripts | See all transcripts that your bot has created using the transcript feature. |
| Bot API | Manage your bot's global slash commands here! |
\## Navigating a Builder A builder is a workplace where you can create commands and events from scratch using blocks. For each block, a unique action is carried out; such as sending a message, or triggering a custom event. Currently, BotWiz has five unique builders: a builder for commands, Discord events, timed events, webhook events and custom events. For each, you can customize your creation with blocks. However, the command builder is slightly different to event builders, as it will also have \[option blocks\](/docs/blocks/options.md#introduction-to-options). ### Builder Tools Every builder has a set of menus incorporated, enabling you to access pages on the dashboard without needing to switch webpages! You will see a list of page options under each respective section. For example, under the "Actions" section, you will see options such as "Start Poll". See the below chart for all pages within this section:
| Icon | Name | Description |
| --- | --- | --- |
|  | [Actions](https://docs.botwiz.dev/pages/LW6oGqy9YDB6bYy7UWlr) | Find a list of actions to implement to your bot. |
|  | [Conditions](https://docs.botwiz.dev/pages/B6QHniQaLv5zseOMgvmW) | Find a list of conditions to implement to your bot. |
|  | [Options](https://docs.botwiz.dev/pages/1u6e5s9vIBYdzc7nm2Us) | Find a list of options to implement to your bot. |
|  | [Variables](https://docs.botwiz.dev/pages/cDefIcZmMhG6FhPSXJjT) | Easily view, edit and create new custom and unique variables. |
|  | Problems | See all current problems your builds has. |
|  | Logs | See all logs related to your build. |
|  | Migrations | Migrations allow you to import a share-code either for an event or a command, that you have received from someone. |
|  | Builds | Use this option to switch builders. |
\#### Main Builder Tools At the top of your builder you will see a list of options which are the main tools for your building process. These options feature the exiting of the builder, help, purge, save builder, and builder settings. Without autosave enabled, you must make sure to save before exiting the builder!
| Navigation Tool | Description |
| --- | --- |
| Exit Builder | Make sure to save your creation before exiting back to your dashboard! |
| Help | In need of help? Use this tool! |
| Purge | Wish to start over and purge this entire command? This is the tool for you. |
| Save Builder | Save your current build, ready for use immediately. |
| Settings | Use this menu to edit the background, co-create, format, and more. |
\### Blocks & Block Flow To add blocks to your builder, you must first select an \[action\](/docs/blocks/actions.md) or \[condition\](/docs/blocks/conditions.md). From here, you can click and drag a block onto your builder. For every block you add (apart from \[option\](/docs/blocks/options.md) blocks), you must connect them. To attach the very first block in your command or event, click and hold the red circle at the bottom of the 'main block' (the block that states your command or event name) and drag that down to your block's upper red circle. {% hint style="info" %} Option blocks do not need to be connected in a builder as they will always appear when a command is used. Thus, they cannot run after the command has been entered. {% endhint %} See below as an example of connecting blocks together. In this command, once run, the bot will respond with a message and then pin a message. See how the very first block to run is the send message block, this is because it is connected to the main block. Any subsequent blocks will follow afterwards. For instance, the pin message blocks runs after the message has been sent; not before or at the same time. The same logic occurs for condition blocks, whereby if placed after the send message block, it will run after the message is sent.

Block flow can be manipulated by editing your builder's settings. You can find these settings in the main builder tools section. In the \*\*\*Blocks\*\*\* option, you can change the direction of your block flow. So instead of having your blocks flow vertically, you can change it to horizontally. Further, you can modify the spacing in-between your blocks for when you use the organization tool. ## Learning more about BotWiz BotWiz has endless possibilities, it's just about knowing how to create them. Even blocks can be confusing at times, which is why we offer several resources to aid you at any time, at any level. The majority of your learning will come from experience. Build endlessly and explore more! Though we may have helpful documentation, we may not provide all of the information you need. If at any point you need any additional help from our Support Team, please find us at our \[Discord server\](https://discord.com/invite/YHVry73av9). Simply open a post at our support channel and a response will be provided soon.
---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/updates-and-changelogs/2025.md). # 2025 - \[Transitioning to a Paid Platform\](https://docs.botwiz.dev/docs/updates-and-changelogs/2025/transitioning-to-a-paid-platform.md): This update provides an overview of what's going to change as BotWiz transitions into a paid platform.
---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/dashwiz-documentation/welcome-to-dashwiz.md). # Welcome to DashWiz! Take your BotWiz bot to the next level with our powerful no-code website builder. Create, deploy, and manage your web pages with ease. Its never been easier to build a website for your Discord bot! Instead of coding, you will be able to use simple builders and elements to establish web pages for your users to customize your bot in their guild. The possibilities are endless. {% hint style="warning" %} \*\*Our documenation page is being worked on. Some pages are incomplete.\*\* We are working overtime to resolve this issue, please visit our \[Support Server\](https://discord.gg/YHVry73av9) if you need any additional help, or would like to report any bugs or suggestions. {% endhint %} ## FAQs ### Is DashWiz free? DashWiz offers free plans along with a variety of premium options. When signing up for a premium subscription, feel free to select the features you wish to pay for. On a free plan, users can create custom and complex pages for their bot, however this will come with a few limitations, such as on the amount of collections that can be created. Though, websites with a free plan will still receive free hosting. ### How do I keep my website online? DashWiz provides free hosting, whether you are using a free plan or a premium subscription. This includes keeping your website online for as long as you need, with a 99% uptime. We also provide you the option to hide your pages from your users, this helps negate confusion while you work on your website. ## Need Help & Support? If at any point our documentation or guides page doesn't answer your question, we have a \[Support Server\](https://discord.com/invite/YHVry73av9) available to offer you support! This includes: \* Helping you navigate our documentation, guides or websites; \* Helping you start your very first custom website at DashWiz; and \* Helping you understand how to create a custom collection or page. When creating a support post, you \*\*must\*\* provide ample detail into your issue. ### Response Times Currently, our Support Team is small. Although most posts receive a response within 12 hours, some posts are unique and require a heavy amount of support. If you wish to ask us how to create a complex creation, please expect to wait longer. Only a select few of our team can help with most queries. \*\*We do plan on decreasing these wait times\*\*, do not worry! However, please remain patient, avoid pinging our team and you will have a reply soon enough. Thank you for your enthusiasm for learning DashWiz; we appreciate your patience! ## Bug Reports & Suggestions If at any point you find a bug, please join our \[Discord Server\](https://discord.com/invite/YHVry73av9) to report it. Every bug report must be reported at the channel called bugs. Here, please open a post and provide a description of your bug, what steps you took to experience it, and paste the URL you was using. Feel free to visit our Discord Server for any suggestions. You can do so by entering the server, and heading to a channel called suggestions. Don't hesitate to create a post to publish your ideas on any new addition for our documentation, guides or ideas for DashWiz's website. With our bug reports and suggestions, we \*\*always\*\* respond. You will hear back from us whether your report was accepted or denied. We do not provide ETAs for bug resolutions, or for when an accepted suggestion will be implimented. Please be patient!
---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/dashwiz-documentation/dashboard/get-started.md). # Get Started To get started with DashWiz you will need a \[BotWiz\](https://docs.botwiz.dev/docs/) bot, these bots are also free and can even be used without DashWiz. After creating your BotWiz bot, you'll be able to create your first DashWiz website! ## Navigating the Dashboard Once you have registered your bot with BotWiz and opened that bot on DashWIz, you can view your website's dashboard. To do so, select your bot in your \[bot list\](https://dashwiz.dev/dashboard). For each BotWiz bot you can have one website, you can customize, add domains and see statistics . For every dashboard, you will see multiple pages that let you customize your website completely, ranging from your website's appearance down to how it operates. Navigating the dashboard can be a little overwhelming for new users, and so below is a list of each section and page and what they do. {% hint style="danger" %} This is still being worked on, please come back later! {% endhint %}
---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/dashwiz-documentation/dashboard/settings.md). # Settings The settings page allows you to customize & edit your website's functionality. For example, add your own authentication. ## Authentication The authentication section allows you to customize the authentication page the users see, the style of this page will always be the same, this is due to that Discord is hosting it. However, we allow you to change the application that is used to authenticate the user, this means the profile image and name are from your application.

To allow people to authenticate on your website you will have to supply two values, a client ID and a client Secret, you can obtain these by going to the \[Discord developer portal\](https://discord.com/developers/applications/). ### Client ID Navigate to the applications tab, and select the application you want to use. {% hint style="info" %} The application you're using doesn't have to be the bot you added bot BotWiz! {% endhint %}

After navigating to your application, go to the OAuth2 tab and copy the client ID.

Now that we have the client ID we can paste it into our client ID field.

\### Client Secret Navigate back to the OAuth2 tab on the Discord developer portal and reset / copy your client secret.

Now paste this secret into the client secret field on DasWiz.

\### Redirects The last step to getting your authentication working is adding your redirects on the Discord developer portal. First navigate back to the DashWiz settings tab and copy the links below the "Discord Developer Portal" section. {% hint style="info" %} To be safe add all the links, but you only have to add the one your users will use. This does mean that even though DashWiz always adds BOT\\\_ID.dashwiz.dev as a option for your users to get to your website, you don't have to add this one if you're using a custom domain. {% endhint %}

Now go back to the Discord developer portal and add the 2 redirects to the Redirects section! (Don't forget to save)

And now you're done, your custom authentication should be working like expected! {% hint style="danger" %} This page is still being worked on, come back later for more settings! {% endhint %}
---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/dashwiz-documentation/creations/pages.md). # Pages Each page acts as a distinct canvas with its unique builder and settings. You can choose to hide or display pages based on your current workflow. Pages come with special settings that enable you to configure metadata, set visibility status, and more advanced options. More on that later. ## Page Settings Each page has it's own settings popup, this popup allows you to change the metadata, color, title and description of your page.

---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/dashwiz-documentation/whitelabeling.md). # Whitelabeling We allow premium users to change the domain of the website, you can do this trough our whitelabeling tab. Here you'll be able to add your own custom subdomain to dashwiz.dev or add a whole custom domain. ## Add your own domain Start by clicking on "New Domain"

Now type in your own domain name.

After which DashWiz will do it's thing and add your domain. Here are the steps and what they mean. ### Domain Check DashWiz will make sure that your domain is valid and not registered just yet.

\### Registering Domain DashWiz will add the domain to cloudflare and make sure it's reachable.

\### Setting up Domain DashWiz will check if the nameservers are set correctly, make sure to follow the instructions shown at this step, these are very important.

\### Validating Domain Here DashWiz will check Cloudflare to validate that the domain has been registered and can be reached.

\### SSL Certification When DashWiz attempts to request an SSL certificate, it often fails initially because the nameservers specified during domain setup are still pending. Don't worry if you encounter this error. Simply wait for a while and try again. We will discuss this further below.

\### Nameservers It can take a while for the nameservers to update, this isn't a DashWiz issue but a general Cloudflare issue. As long that you see the "Make sure you have the following nameservers registered..." https won't work and you can't request a new SSL.

If the message disappears, click "Retry SSL." You should receive a success message. If not, contact support for assistance.

---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/dashwiz-documentation/creations/builder.md). # Builder ## Moving In the builder's grid pattern, each element can be moved up to 30 units on the X-axis and an unlimited distance on the Y-axis. To move an element, click and hold the move icon, then drag it to your desired location.


\## Resizing In the builder's grid pattern, each element can be up to 30 units wide and infinitely high, with specific minimum widths preset for each. Elements can be resized by clicking and dragging.


\## Grid Lines We've added a grid feature to ensure perfect alignment in your builds. Click the grid icon to precisely measure widths and distances from the sides.


\## Previewing You can hide all the builder icons and grids with one button, this way it's easy to make good looking photo's of your design.


---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/moderation-team-application.md). # Moderation Team Application
---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/support-team-application.md). # Support Team Application
---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/dashboard/premium.md). # Premium
---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/dashboard/premium-free-trial-beta.md). # Premium Free Trial (BETA) ## Frequently Asked Questions > Are there any restrictions currently imposed on the free trial? No, the only free trial restriction currently is the time limit of seven (7) days. This provides time for new users to experience the platform. > What bot will get the free trial activated on it? The free trial is activated on either the first bot you create, or the first bot without a premium subscription that you open. > How can I report issues that occur with free trials? You can report these bugs using standard[BotWiz Bug Reporting Procedures](https://docs.botwiz.dev/pages/MVVnOYOmAqkBdwhWrIbD#bug-reports-and-suggestions)
.
---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/documentation-team-application.md). # Documentation Team Application
---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/updates-and-changelogs/2025/transitioning-to-a-paid-platform.md). # Transitioning to a Paid Platform Over the past couple of months BotWiz's user base has grow exponentially, moving from \*\*5,270\*\* active users to \*\*13,999\*\* active users, which is a growth rate of approximate \*\*165.79%\*\* in just \*\*\\~3 months\*\*. Additionally, the total of applications/bots has risen from \*\*13,834\*\* to \*\*22,986\*\* which is a growth rate of approximately \*\*66.15%\*\*. While these numbers may seem low, the rate of growth in such a short (\*unprecedented\*) amount of time lead to system failures, repeated downtime and major issues. BotWiz is committed to providing users with the best experience possible. With new issues appearing almost daily and our service becoming unreliable, severely unstable, and non-profitable, the tough decision was made to start the transition into making BotWiz a paid only platform. This is something we never intended on doing, but a step we needed to take to restore reliability in our service. Upon making this decision we posted a brief \[announcement in our Discord server\](https://discord.com/channels/856011486077255690/1348445391162576937/1422635122250748006) explaining the situation and the steps we will be taking in order to mitigate the issue. A short while after this announcement was posted, we had a major setback which lead to the deadline for the transition being brought forward drastically. As such, on the \`6th October 2025 (10/06/2025)\` the transition to a paid platform was completed. So, what exactly has changed. And what else will change in the coming future? Well, as part of the transition we have depreciated the formerly stable version of BotWiz and rolled out the Beta version to replace the depreciated stable version. This update rolled out a vast range of new features, improvements, and performance enhancements including: \* Support for \*\*Components V2\*\* \* Support for \*\*Text Displays\*\*, and \*\*All Select Menus\*\* in Modals \* A \*\*Marketplace\*\* for users to upload creations \* \*\*improved Modules Management System (MMS)\*\*, \* Numerous \*\*performance and stability enhancements\*\* and so much more. Additionally, all restrictions previously enforced have been removed to signify the change from a free platform to a paid platform. These changes have not just affected the \[site/dashboard\](https://botwiz.dev/) but have extended to the bots too; Seeing a \*\*2-3x speed improvement\*\* on responsiveness and interaction handling speed. ### What Happens to Free Users Bots? We know that there will be a lot of uncertainty regarding the usage and accessibility of applications/bots that do not have an active Premium Subscription. However, we can safely reassure you that your applications/bots will not be removed. Adding onto this, free users will still be able to access the \[dashboard \](https://botwiz.dev/)at any time to create new flows, or copy existing flows to another provider/service if desired. So what exactly has changed for free users? Well, not much. You can still do the same as previously. However, we have limited the space on servers to premium applications/bots only. This means if your application/bot does not have an active premium subscription, you will not be able to enable your application/bot. Additionally, due to support demand. We have restricted access to our support channels within our \[Discord server\](https://discord.gg/botwiz) to premium users only. While we know these changes will have a vast impact on a lot of users, with \*\*99.86%\*\* of users not having an active premium subscription at the time of writing this update (\`6th November 2025 11/06/2025\`). Changes had to be made to ensure our platform remains reliable for the users who use it, as well as to ensure it generates enough profit to sustain itself for the future. ### So, What's Coming Next? Now we have reasonably recovered from the issues mentioned previously, we have our eye on some new goals and some massive updates and plans that we are actively working on in the background. As we progress forward with this new stage we will continue to roll out new patches and minor updates to ensure users can enjoy BotWiz and evolve their creations with new features and performance enhancements. We invite you to stay updated about the latest features and improvements published via our \[Discord server\](https://discord.gg/botwiz), or our updates list.
---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/creations/commands/builder.md). # Builder ## Builder Tools The Builder Tools allow you to edit your builders functionality. By clicking the icons, you can navigate the tool options and incorporate any desired actions, conditions and options into your command or event. See the chart below for all icons related to their function:
| Icon | Name | Description |
| --- | --- | --- |
|  | [Actions](https://docs.botwiz.dev/pages/LW6oGqy9YDB6bYy7UWlr) | Find a list of actions to implement to your bot. |
|  | [Conditions](https://docs.botwiz.dev/pages/B6QHniQaLv5zseOMgvmW) | Find a list of conditions to implement to your bot. |
|  | [Options](https://docs.botwiz.dev/pages/1u6e5s9vIBYdzc7nm2Us) | Find a list of options to implement to your bot. |
|  | [Variables](https://docs.botwiz.dev/pages/cDefIcZmMhG6FhPSXJjT) | Easily view, edit and create new custom and unique variables. |
|  | Problems | See all current problems your builds has. |
|  | Logs | See all logs related to your build. |
|  | Migrations | Migrate commands and events to your builder. |
|  | Builds | Use this option to switch builders. |
\### Actions The Actions tab enables you to define the specific tasks and functions your bot can execute. Through this tab, you can add a variety of actions ranging from simple responses to complex workflows. Actions are essential for customizing your bot's behavior, allowing it to perform tasks like sending messages, modifying data, or interacting with third-party APIs. Use the Actions tab to enhance your bot's capabilities and automate processes seamlessly.

\### Conditions The Conditions tab lets you specify the criteria under which certain actions or commands should be executed by your bot. By defining conditions, you can dictate how your bot responds to specific inputs or events. Leverage conditions to make your bot's interactions more dynamic and responsive, ensuring it acts appropriately in different scenarios.

\### Options The Options tab offers a range of settings that let you fine-tune how your bot behaves when running a command. This is where you can define input preferences, prompting the user for specific details the bot needs to execute properly. For example, using the \*\*Role Option\*\*, the bot can ask the user to select a specific role—provided you’ve set up the necessary variables to link that input to your command logic. Options like these make your commands more flexible, interactive, and customizable based on user input.

\### Variables Variables allow you to store and reference custom values throughout your bot’s commands and events. Variables come in different types, each serving a specific purpose. When accessing the Variable tab, you'll encounter two main categories: \*\*Custom\*\* and \*\*Unique\*\*. Custom variables are shared across users and sessions, making them ideal for storing global data like usage counters or server settings. Unique variables, on the other hand, are temporary and specific to the current event or interaction, often used to handle things like user input or dynamic responses.

\### Problems The Problems tab displays any active issues with your custom command or event. Each problem listed helps identify errors or missing elements that may prevent your command from working correctly.

\### Logs The Logs tab allows you to view all current and previous errors your bot has encountered. For example if your bot cannot send a message to a channel, the error will show here.

\### Migrations Migrations allow you to import a share-code either for an event or a command, that you have received from someone. Migrates also allows you to export a command / event that you have created to show off! ### Builds Using this option will allow you to navigate between builds in your custom command or event directory. This can be extremely useful, especially when referencing other commands. ## Command Tree The Builder Command Tree is a vital element to organizing and visualizing the structure of your custom commands or events. It clearly displays how each component connects and flows, making it easier to build, understand, and maintain complex command logic. The Command Tree follows a \*\*sequential order\*\*, meaning actions are executed from top to bottom—each action must occur before the one below it can run. This structured layout ensures logical progression and helps prevent errors during execution. ## Command Options and Settings At the top of your builder, you will see various options to choose from—from exiting the builder to the settings for the builder. Each button serves its own purpose and this section will break down how each option's purpose and usage. ### Exit Builder When selecting the option to exit the Builder, you'll be prompted with a confirmation message to ensure you truly intend to leave. This safeguard is in place because any unsaved changes will be permanently lost upon exiting. It's recommended to review your work and save any progress before confirming your decision to exit the Builder. {% hint style="warning" %} It is strongly recommended that you save your work frequently to avoid losing progress. Since unsaved changes will be lost if you accidentally exit the Builder or encounter a disruption, saving often helps ensure your work is preserved and minimizes the risk of needing to rebuild important parts of your command or event. {% endhint %} ### Help This button provides quick access to helpful resources while you're editing your command. It's strongly recommended that you review the official documentation for detailed guidance and make use of the BotWiz Discord server to ask questions, get assistance, or troubleshoot any issues you encounter during the building process. Taking advantage of these resources will help you build more effectively and avoid common mistakes. ### Purge Selecting this button will clear \*\*ALL\*\* added features that you've added to your builder for that particular command or event. {% hint style="warning" %} If you have cleared your builder accidentally and wish to recover the purged work, do \*\*NOT\*\* press the \*\*Save Builder\*\* button, as that will save the current (empty) state of the build. Instead, simply press the \*\*Exit Builder\*\* button and navigate back into your builder and your previously configured command tree should be restored. {% endhint %} ### Save Builder Use this button to save your work within your builder. {% hint style="warning" %} It is strongly recommended that you save your work frequently to avoid losing progress. Since unsaved changes will be lost if you accidentally exit the Builder or encounter a disruption, saving often helps ensure your work is preserved and minimizes the risk of needing to rebuild important parts of your command or event. {% endhint %} ### Command Settings Pressing this button will prompt you with another page with various features within your builder.

| Page | Description | | -------------- | --------------------------------------------------------------------- | | General | Edit general features on your builder-such as the background pattern! | | Blocks | | | Customizations | | | Default Values | | | Co-Create | | | Formatting | | | Hot Keys | | | Backups | |
---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/misc/exports.md). # Exports Exporting your commands and events can be useful when reaching out for support, transferring the code to another one of your bots, or for sharing with a friend using BotWiz. As you can see here, we have created a basic kick command. We will be using this to demonstrate exporting and importing.

\## Exporting a Command/Event Follow these steps to export a command: {% stepper %} {% step %} ### Navigate to "Migrations"

{% endstep %} {% step %} ### Set a name and description It is important to set a recognizable name and a description that explains the functionality of the export. {% endstep %} {% step %} ### Exporting command/event content \*\*Exporting a section:\*\* Exporting a section allows you to only export a section of your command/event instead of having to import the whole command/event. To export a section, you need to press \*\*SHIFT\*\*\*\* + DRAG\*\* to highlight the section you want to export, then give your export a name and a description, and then click \*\*Export Selected\*\*\*\*.\*\* \*\*\* \*\*Exporting entire command/event:\*\* To export the entire command/event, you can simply press Export All. This automatically exports all of your command/event's nodes. {% endstep %} {% step %} ### Sharing your commands and events Directly underneath the import/export menu, you can view your exported Migrations. By hovering over one of these migrations, you can \[import the migration into your current command\](#user-content-fn-1)\[^1\], copy the migration's sharecode, or edit migration details.\\ \\ \*\*Create a sharecode\*\* if you are interested in importing this command somewhere else, such as on someone else's bot or into another bot that you own.

{% endstep %} {% step %} ### Importing your migrations You can now import your migrations using the copied sharecode. Simply navigate back to the \*\*Migrations\*\* menu and select \*\*Import\*\*. You can also import migrations by clicking the \*\*Import\*\* button on the \[\*\*Exports\*\* page\](#user-content-fn-2)\[^2\].

{% endstep %} {% endstepper %} \[^1\]: This works only with an empty command/event. \[^2\]: Location: Dashboard > Exports.
---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/blocks/actions/music-actions.md). # Music Actions
---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/blocks/actions/voice-actions.md). # Voice Actions
---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/blocks/actions/role-actions/removing-and-adding-a-role-to-everyone.md). # Removing & Adding a Role to Everyone For each of these blocks, setting them up is simple as you will only need to select the role you wish to add or remove from everyone. When selecting a role, you can access roles from each server the bot is in. To add or remove multiple roles from everyone, you must place multiple blocks down.

Both the Add and Remove a role to everyone, you must select a Role Type and Guild Role / ID.
For the Role Type, you can pick either a guild-role, or a role ID. Once selected, you can either select the role you wish to add or remove from a list of roles the bot has access to, or by inputting a role ID. To find a role ID, you can head to your Server Settings > Roles, and right click a role to find it's ID.

Add / Remove Role to Everyone blocks.
---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/blocks/actions/role-actions/delete-or-remove-a-role.md). # Delete or Remove a Role ## Deleting a Role ## Removing a Role
---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/creations/variables/unique-variables.md). # Unique Variables Unique variables can be created via the Variables navigation in the builders toolbar. There are no set limits on the total character count or positions a unique variable can hold. Users can create an unlimited amount of unique variables to help create and deploy advanced commands and events. Unlike Event variables, Unique Variables can be used anywhere in the builder where you created it. You can also opt for the values to be guild specific or spread across all the guilds your bot is a member of.

Image shows the navigation to the variables tab
\### Usage To use a custom variable you can reference it using \`{unique\_\[name\]}\`. Ensure you replace \*\*\`\[name\]\`\*\*with the name you chose for the unique variable when creating it. Arrays always start at 0 and increase with each value. So keep this in mind when trying to provide an index value for your array reference. For example: > If you store "apple" as the first value in the array, you would instinctively use 1 as the index. However, due to arrays starting at 0, the correct index for it would be 0. To simplify this, simply take away - 1 from the number you get when counting how many values are in the array. This is an easy way to find the correct index for the value you wish to retrieve. ### Array Variable Usage Referencing custom arrays is simple. You must use a function to perform the action you wish to perform, a list of functions can be found on \[this page\](broken://pages/igH5Rl9QbqpGqoKiBwCP). Any function that accepts an array can be used with unique array variables.
---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/blocks/actions/role-actions/create-or-add-a-role.md). # Create or Add a Role \*\*Our documenation page is undergoing a rework. Some pages are incomplete.\*\* We are working overtime to resolve this issue, please visit our \[Support Server\](https://discord.gg/YHVry73av9) if you need any additional help, or would like to report any bugs or suggestions. ## Creating a Role ## Adding a Role
---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/blocks/actions/channel-actions.md). # Channel Actions Channel action blocks are where the bot for example creates a channel, deletes a channel or purges messages from a channel. In total, there are currently four channel action blocks you can chose from. See the following list for a list of each, including a brief description of what each block does.
| Action Block | Description |
| --- | --- |
| Create a Channel | |
| Edit a Channel | |
| Delete a Channel | |
| Purge Messages | |
---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/blocks/actions/role-actions/edit-a-role.md). # Edit a Role

\## General #### Role Type Use a Role that already exist in a guild or provide an id.

\#### Role Name The name of the role.

\#### Role color & Role Hoist The role color & if role is shown in guild user list.

Position The position in guild role hierarchy.

\#### Mentionable If the role can be mentioned by users within the guild

Permissions & Reasoning Select permissions the role will receive and the reasoning of why this role was edited.

---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/blocks/actions/role-actions.md). # Role Actions Role action blocks are where the bot for example creates a role, adds a role to a user or removes a role from everyone in a server. In total, there are currently seven role action blocks you can chose from. See the following list for a list of each, including a brief description of what each block does.
| Action Block | Description |
| --- | --- |
| Removing a Role from Everyone | Remove a specific role from everyone in the server. |
| Adding a Role to Everyone | Add a role to everyone that is currently in the server. |
| Create a Role | Have your bot create a brand new role for your guild! |
| Add a Role | Add any role to a member of your server. |
| Delete a Role | Delete an existing role. Note that this action cannot be undone. |
| Remove a Role | Remove a specific role from a member. |
| Edit a Role | Edit a role, e.g., by changing its name, colour and permissions. |
---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/api.md). # API The API block allows you to send restful HTTP requests to 3rd party servers to append, delete or retrieve information from the server side. APIs are super handy when you need to communicate with an outside service that is not natively integrated with BotWiz. Sending HTTP requests with BotWiz is super simple. Below is a general outline on how to use this block and send successful requests. Given APIs can be complex, this guide will be elongated to cover as much as possible to make it as easy as possible to understand. ## What is an API? Before sending requests to servers, it is relatively important to understand how a HTTP request works. For those who know what a HTTP request is and how it works, \[click here \](#sending-http-requests)to skip this section. The Hypertext Transfer Protocol (HTTP) is designed to enable communications between clients and servers. HTTP works as a request-response protocol between a client and server. > \*\*Example:\*\* A client (browser) sends an HTTP request to the server; then the server returns a response to the client. The response contains status information about the request and may also contain the requested content. ## Request Methods Simple enough right? Well, each HTTP request must be sent with a designated 'method'. Each method does different things and means different things. Annoying right? Yes, we know. A list of each request type/method can be found below. ### Common Request Methods {% tabs %} {% tab title="GET" %} GET is used to request data from a specified resource. This method cannot accept any bodies on the request. As such all query parameters must be sent in the URL. Like the example below:\\ \\ \`/test/demo\_form?name1=value1&name2=value2\` \*\*Some notes on GET requests:\*\* \* \*\*GET\*\* requests can be cached \* \*\*GET\*\* requests have length restrictions \* \*\*GET\*\* requests are only used to request data (not modify) \* \*\*GET\*\* requests cannot pass any data via the request body {% endtab %} {% tab title="POST" %} POST is used to send data to a server to create/update a resource. Most commonly used to 'post/send' data to a server, rather than update. The data sent to the server with POST is stored in the request body of the HTTP request:

Request Body for a POST request in BotWiz
As you can tell from the start, the request body works by sending key/value pairs in the request. Think of this as JSON keys and entries. As that is exactly what it is, BotWiz just removes the need to use {} or "" in the request. Taking something from this: > \`\`\`json > { > "key": "value" > } > \`\`\` And turning it into: > Key: key \\ > Value: value \*\*Some notes on POST requests:\*\* \* \*\*POST\*\* requests are never cached \* \*\*POST\*\* requests have no restrictions on data length \* \*\*POST\*\* requests transmit data via the request body object. \* POST requests can still send values via query params (In the URL) {% endtab %} {% tab title="PUT" %} PUT is used to send data to a server to create/update a resource. The difference between POST and PUT is that PUT requests are idempotent. That is, calling the same PUT request multiple times will always produce the same result. In contrast, calling a POST request repeatedly have side effects of creating the same resource multiple times. {% endtab %} {% tab title="DELETE" %} The DELETE method deletes the specified resource. This wont be as commonly used in BotWiz as typically it is only used if you control the data server for the resource you are sending the request to. {% endtab %} {% tab title="PATCH" %} The PATCH method is used to apply partial modifications to a resource. This is commonly used in Discord endpoints in which you update a resource. Such as message, channel or guild, etc. {% endtab %} {% endtabs %} ### Not So Common Request Methods \*(Not used in BotWiz)\* {% tabs %} {% tab title="HEAD" %} HEAD is almost identical to GET, but without the response body. In other words, if GET /users returns a list of users, then HEAD /users will make the same request but will not return the list of users. A HEAD request is useful for checking what a GET request will return before actually making a GET request - a HEAD request can read the Content-Length header to check the size of the file, without actually downloading the file. {% endtab %} {% tab title="OPTIONS" %} The OPTIONS method describes the communication options for the target resource. {% endtab %} {% tab title="CONNECT" %} The CONNECT method is used to start a two-way communications (almost like a tunnel) with the requested resource. This is different from a websocket. {% endtab %} {% tab title="TRACE" %} The TRACE method is used to perform a message loop-back test that tests the path for the target resource (useful for debugging purposes). {% endtab %} {% endtabs %} Now you know all the types, you can start to use HTTP requests more confidently. You can get started using the API block in BotWiz to send requests to servers.

API block in BotWiz
\## Sending HTTP Requests To get started sending HTTP requests with BotWiz, you first need to add the API block to your command/event tree, the block is pictured above for reference. Once you have added the API block to your command/event tree, you can configure the request by clicking on the block itself to open the configuration menu.

API block configuration menu
\### Setup Tab Once open, you will be greeted by a couple different options, if this is your first time using HTTP requests, this may seem confusing at first glance. However, it is super simple to setup and use. On the first page 'Setup' which is open by default you will be greeted by 3 input boxes. \* \*\*Name\*\*\\ The name of the API block, used to reference the response with {api\\\_\*\*api\\\_name\\\_here\*\*\\\[response\]} \* URL\\ The URL/Address for the resource you are sending a request to \* Method\\ The \[method/type\](#request-methods) of request it will be When picking a name for your API block, it is best to keep it simple, and note that it MUST be unique, you cannot have 2 or more API blocks in the same command/event with the same name, or this will confuse the responses and may lead to issues down the line. ### URL Parameters The second page/tab you will see is the URL Parameters tab. This is used to add query params to your URL, used mainly for GET requests, but widely used across all methods which accept URL params.

URL Parameters Tab
The URL parameters are accepted in Key/Value form to keep it simple. To shorten it all down and keep it as simple as possible, essentially this will append the key and value to the end of the URL when sending the request. It could end up looking something like this: \`/test/demo\_form?name1=value1&name2=value2\` ### HTTP Headers HTTP Headers are used to pass important data to the servers you are sending a request to, data such as: Authentication tokens, request data type, and other bits of information the server may need to respond and process your request correctly. This is most commonly used for stating the data type, and authenticating the request when using endpoints which require keys or tokens. {% hint style="danger" %} \*\*Never share any authentication key with anyone. Make sure to keep this secret at all times! BotWiz allows you to use {bot\\\_token} to send your bots token in an API request without the need to copy and paste it. Only use this variable in Discord APIs, other APIs do not need it.\*\* {% endhint %}

HTTP Headers Tab
As you can see, this also works in a Key/Value pair. Exactly the same as the URL Parameters. This is also the same for Request Body, which is the next section we will cover. ### Request Body The request body is usable on all request methods besides HEAD, and GET. The request body allows you to send data to the server, This data is sent as JSON and parsed on the receiving end. If you need to send data with your request, it will most likely be a POST or PUT request that uses the request body to send such data.

Request Body
\### Test Request The test request tab is used to send a request to the server from the builder so you can see the response of the request. This is useful for testing the request, or viewing the data it will return so you can correctly reference it in your event or command. Test requests send like a normal request, the only difference is it is sent by the builder and not the bot. {% hint style="info" %} \*\*The use of any variables aside from \*\*\*\*\`{bot\_token}\`\*\*\*\* will not work in a test request.\*\* {% endhint %} ## Retrieving Response Data Once you have sent a successful request, you can use it's response in your commands or events. Note the requested data is specific to that interaction, meaning once the command or event finishes its trigger, the request data is deleted to make room for the next run. Request data cannot be transferred from one command, to another. Or one event, to another, unless you save the response from the HTTP call to a custom variable, however unless needed, it is advised you do not do this as storing data will mean it does not get updated without you specifically making it. To display the data from the request you can use the API response variable, this looks like: \`{api\_\`\*\*\`your\_api\_name\`\*\*\`\[response\]}\` Remember to replace 'your\\\_api\\\_name' with the name you have chosen for the API block when setting it up. After response you will use dot '.' notations to add another argument to the variable lick such: \`{api\_\`\*\*\`your\_api\_name\`\*\*\`\[response.example\]}\` The above is an example of me retrieving the value stored in the 'example' key of the JSON response the server sends back. Everything that comes after response should match with what is returned in the response from the server the request was sent to. For example, I have sent a request and received this response: \`\`\`json { "userId": 1, "id": 1, "title": "delectus aut autem", "completed": false } \`\`\` I want to access the title of this response, to do this i would write out the variable as such: \`{api\_\`\*\*\`your api name\`\*\*\`\[response.title\]}\` This will retrieve the data from title and return "delectus aut autem". When working with responses that return an array of objects, it is slightly different. Here is an example: {% code title="Normal Object Response" %} \`\`\`json { "userId": 1, "id": 1, "title": "delectus aut autem", "completed": false } \`\`\` {% endcode %} {% code title="Response Object With Arrays" %} \`\`\`json { "data": { "users": \[ { "firstName": "Bryan", "countryCode": "PW", "country": { "name": "Palau" }, "company": { "name": "Mastercard" } }, { "firstName": "Bryan", "countryCode": "CG", "country": { "name": "Congo (the)" }, "company": { "name": "China Construction Bank" } }, { "firstName": "Bryan", "countryCode": "BV", "country": { "name": "Bouvet Island" }, "company": { "name": "Chevron" } } \], "countries": \[ { "iso3": "RUS" } \] } } \`\`\` {% endcode %} As you can see, there are some responses that have been returned as an array with objects inside them (Objects use \`{}\` and arrays use \`\[\]\`}. This is all in JSON format. Learn more about it \[here\](https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Objects/JSON). To access a value in an array, we must specify the arrays name, and the position of the object/data value in which we want. It is important to explain now that arrays ALWAYS start at 0. Now that we know this, lets say I want to access the second user in the users array (Bryan) and then retrieve the name of his country. This is how I would do it. \`{api\_\`\*\*\`your api name\`\*\*\`\[response.data.users.1.country.name\]}\` As you can see, I have defined the index/position number for the user object I want to access. This is important when working with arrays, or the bot will not know which one to return, and instead will return null, the variable or even \\\[Object object\]. Lets say I want to get the only object in the countries array. This is how I would do it: \`{api\_\`\*\*\`your api name\`\*\*\`\[response.data.countries.0.iso3\]}\` This will return 'RUS' as the value.
---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/blocks/actions/channel-actions/purge-messages.md). # Purge Messages {% hint style="info" %} Messages 2 weeks old are unable to be removed as this is a Discord limitation. {% endhint %}
---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/blocks/actions/channel-actions/delete-channel.md). # Delete Channel

\## General #### Channel Type Select a Channel that already exist in a guild or provide an id.

---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/blocks/actions/variable-actions.md). # Variable Actions ## Set Variable ## Calculate Variable ## Delete Variable
---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/loop-actions.md). # Loop Actions ## Start a Loop ## Break a Loop ## After a Loop
---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/blocks/actions/channel-actions/edit-channel.md). # Edit Channel

\## General #### Channel Type The channel, you can either use ID or select an existing channel.

\#### Channel Name The new name of the channel.

\#### Type of channel The type of the channel.

\#### Category The category the channel should be switched under Similar to a channels, the categories' have their own id's!

Channel topic & 18+ The channel topic will show as a small "description" of the channel. Using 18+ will only allow users with 18+ Discord accounts to view the following channel.

\*\*Channel position\*\* The position of where the channel will be changed to.

\*\*Channel slow mode\*\* The slow mode which users can send message between certain times in seconds.

---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/blocks/actions/variable-actions/delete-variable.md). # Delete Variable #### Variable The variable you are deleting the value for.

---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/blocks/actions/member-actions.md). # Member Actions ## Ban a Member ## Kick a Member ## Member Nickname ## Timeout Member ## Unban Member
---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/function.md). # Function
---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/blocks/actions/member-actions/ban-member.md). # Ban Member

\#### User Type Enter the type of user you are banning, the executor or are you going to provide a User ID this is who is going to be banned.

\#### Delete Message Seconds Ago Enter a optional number of seconds to delete the users message of.

\#### Delete messages Days Ago Enter a optional number of days to delete the users message of.

\#### Reason Enter the reason you are banning the user, this will show in Audit Log.

---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/blocks/actions/member-actions/kick-member.md). # Kick Member

\#### User Type Enter the user type of who your going to kick, like the executor or a user ID.

\#### Reason Enter the reason for kicking the user, this will show in Audit Log

---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/blocks/actions/variable-actions/calculate-variable.md). # Calculate Variable

\#### Variable Select the variable to run a equation on from the dropdown, if none appears you need to make a variable in \[Interaction & Default Variables\](/docs/creations/variables/interaction-and-default-variables.md) #### Round The option to round the variable off to the nearest whole number.

\#### Equation This is the part where you are going to run the math equation for on the variable, must be a number variable to run the equation on. Use "variable + 4" for instance. Do not reference the variable but use the word "variable".

---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/blocks/actions/variable-actions/set-variable.md). # Set Variable

\#### Variable The variable that you are going to set a value for.

\#### Value The value you are setting that variable at.

---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/blocks/actions/action-blocks.md). # Action Blocks Action blocks are where the bot for example waits inbetween actions, starts a loop, triggeres a custom event or runs an API. In total, there are currently ten action blocks you can chose from. See the following list for a list of each, including a brief description of what each block does.
| Action Block | Description |
| --- | --- |
| API | |
| Wait | |
| Function | |
| Logging | |
| Start a Loop | |
| Break a Loop | |
| After a Loop | |
| Custom Event | |
| Create an Auto Mod Rule | |
| Delete an Auto Mod Rule | |
---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/blocks/actions/channel-actions/create-channel.md). # Create Channel

\## General #### Channel Name The name of the channel.

\#### Type of channel The type of the channel.

\#### Category The category the channel should be made under Similar to a channels, the categories' have their own IDs!

Channel topic & 18+ The channel topic will show as a small "description" of the channel. Using 18+ will only allow users with 18+ Discord accounts to view the following channel.

\*\*Channel position\*\* The position of where the channel will be.

\*\*Channel slow mode\*\* The slow mode which users can send message between certain times in seconds.

Use the variable provided at the top of the block to access the newly created channel's information, such as it's ID.

This variable is unique for every create channel block.
---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/blocks/conditions.md). # Conditions Conditions allow you to check values, e.g. to check if the command has been run in a specific channel. This allows to to set unique actions depending on values. Each condition is a different type, such as a chance or channel condition. In each condition, an else condition will automatically be made. This means, if no condition was met, any actions connected to the else condition will run instead. For example, if you have a channel condition to make sure the command was run in a staff-only channel, and it was not, the else condition will be triggered.

Example of a chance condition block with a 20% condition and an else condition.
\## Introduction to Conditions For a quick explanation of each condition block, please see below.
| Condition Type | Description & Example |
| --- | --- |
| Chance | Your condition will be the % chance of if the connected blocks will run.
E.g., 20% will result in your connected blocks running 20% of the time. |
| Channel | This will allow you to check if the command or event was ran in a specific channel. For example, you can limit your commands to staff-only channels. |
| Comparison | This will let you check any value against another; this includes variables. E.g., you can check if `1` is greater than `2`. If not, the else condition will run. |
| Options | If you have any option blocks in your command, you can check what the command executor has selected and run specific actions. |
| Permissions | Unlike command permissions, this lets you check the permissions of a user. E.g., you can check the permissions of someone who used a button. |
| Role | Similarly to the permissions condition, this lets you check the roles a user has. For example, you can check if the user has an admin role. |
| User | A user condition lets you check whether the interacting user is someone specific. E.g., this is useful to see if the interacting user is the ticket opener. |
\### How do Conditions Work? In any condition block you use, you can toggle whether multiple conditions will run if they are met. By default, the first condition that is met will be triggered, and all other conditions will be ignored. Additionally, every condition block will have a list of existing conditions you have made. To edit any of your existing conditions, select the condition you wish to edit in the condition's list and simply change the value. In this same menu, you can also delete a condition.

Each condition will have a list of conditions, as shown. To edit a condition, click an existing condition from the list.
When setting up any condition, you must know how to find an ID. See below if you are unsure. How do I find an ID? First, you must head to your Discord settings and head to Advanced and toggle Developer Mode on. Now, you can right click users, channels, roles, guilds (servers) and messages to find their IDs. On mobile, you can tap and hold on to see your options and copy an ID. To find role IDs, you may need to visit your server settings. Once there, you can right click any role and copy its ID. These IDs are necessary for filling a role condition block. \## Chance Condition Useful for economy and utility commands, the chance condition block lets you randomize the actions that are run. For example, with a 20%, 30% and 50% condition (as shown below), my 50% message block is most likely to be shown as it has the highest chance.

Visual example of how a chance condition works.
Each condition should amount to 100%, else the block may not work as intented. ## Channel Condition A channel condition allows you to run specific actions depending on the current channel (e.g., the channel the command was run in). If the current channel does not match any of your conditions, the 'else' condition will trigger. When adding a new condition to a channel condition block, you \*\*must\*\* enter a channel ID. Channel IDs are a unique code per channel on Discord, and they are used so that bots understand which channel to take action on. Since some channels can have the same name, IDs distinguish them. In the example below, I have added a channel condition. If my command is run in the channel I have selected, my message will send. If not, nothing will happen as I have no blocks in my else condition.

If the current channel is equal to my channel condition, a message will send.
\### Staff-only Example If I wanted a staff-only command, I can use a channel condition. In the following example, I have added my staff channel IDs and connected a send message block. If the command was not run in a staff channel, a message will not be sent as no blocks are attached to my else condition.

Setting a message block to only trigger in specific channels. Else, no message will be sent.
\## Comparison Condition Comparison conditions will allow you to compare one value with another. Not only can you check if your first value is equal to the second, but you can also check if it is less than, not equal to, contains, starts with and more! For example, custom variables can hold data for instances such as a custom economy. You can create a custom variable for storing a user's balance, and from there, you can use a comparison condition to check a user's balance, e.g., if the user's balance is greater than 1,000. ### Comparison Type In a comparison condition, as previously mentioned, you can change the way you compare the two values together. For instance, you can check if the first value contains the second value. Or, if your first value is equal to your second. To put that into perspective, here are all of the types that you can select:
| Comparison Type | Description |
| --- | --- |
| \== Equal to | Checks if both values are equal to each other. |
| \>= Greater than or equal to | Checks if the first value is >= your second value. |
| <= Less than or equal to | Checks if the first value is <= your second value. |
| != Is not equal to | Checks if the first value is != your second value. |
| < Less than | Checks if your first value is less than your second value. |
| \> Greater Than | Checks if your first value is greater than your second value. |
| () Contains | Checks if your first value contains your second value. |
| !() Does not contain | Checks if your first value does not contain your second value. |
| $ Starts with | Checks if your first value starts with your second value. |
| ^ Ends with | Checks if your first value ends with your second value. |
| !$ Does not start with | Checks if your first value does not start with your second value. |
| !^ Does not end with | Checks if your first value does not end with your second value. |
For both the '() Contains', and '!() Does not contain' types, these can accept both arrays and strings. For instance, you can check if a message contains a word or phrase. Or, if an array contains a value. ### Setting up a Comparison Condition Start by figuring our what your first value will be. This will be the value your compare against, such as if this value is equal to another; enter this value in the 'compare value' textbox shown below. Next, place your second value in the 'comparison value' textbox and set your comparison type. In the example below, once this comparison condition block is executed, the condition will be found as 'hello' is equal to 'HELLO' with the ignore case option enabled. Any blocks I connect to this new condition will run, as opposed to any blocks connected to my else condition.

Comparison condition block example, this is what you must enter per condition.
Unlike comparison values, your compare value will be constant. E.g., you can check if your compare value is equal to, contains or is greater than different comparison values. If you'd like to compare a new compare value against a comparison value, you must make multiple blocks. ## Option Condition Option conditions are only viable if your command has option blocks. An option block is where a user can enter information at the start of their command, such as by selecting a user to moderate. With an option condition, you can check against the options the command executor entered.

This is how options look when running a command on Discord.
For example, with a text option block, you can set pre-defined options for a command executor to choose from. With a option condition, you can check to see which option the command user chose.

Setting preset choices on a text option block.
For instance, with three preset choices, you will need three total conditions from one option condition block. For each condition, you can run unique actions based upon the option the command executor chose! For a greater understanding on how to set up an option condition, please see below.

Setting up a multi-choice option condition.
\## Permissions Condition Permissions condition checks to see if the current, or if a selected, user has a permission, e.g. if they have the administrator permission. This can be useful for staff-only buttons, whereby you can make sure that the interacting user has the permissions required. Remember, to refer to the interacting user you can use \`{interaction\[user.id\]}\`. Otherwise, you can enter any user ID when creating a permission condition. To check for multiple permissions, e.g., if the user has manage roles \*\*or\*\* kick member permissions, you can make multiple conditions.

This is what you must enter per condition you create on a permissions condition block.
To check if a user has manage roles \*\*and\*\* kick member permissions for example, you must use multiple permissions condition blocks; one after the other. See the example below to see how.

Here, I am checking to see if a user has both the ManageRoles and KickMembers permissions.
\## Role Condition Instead of checking permissions, why not check if a user has a role? By using a role condition block, you can check if a user has a staff role for example or not! This can be useful for ensuring only users with a set role can use components or commands. Like the permissions condition, with each condition you make in a singular role condition block, this will check if the user has any of the roles listed. To check if a user has one or more roles, you will need to use multiple role condition blocks, one after the other. For example:

In this example, I am checking if the user has a Staff Role and if they are a Moderator.
\## User Condition User conditions allow you to check if the interacting user is someone specific. This can be useful for developer-only commands, whereby you check to see if the command executor is a developer. To set up a user condition, just enter the user IDs you wish to perform unique actions with. For instance, you can have unique actions run depending on who the interacting user is. Else, other actions can be run for users who are not listed in the user condition. See below for an example.

Above, I am checking to see if the current user one of the developers.
---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/blocks/actions/member-actions/timeout-member.md). # Timeout Member

\#### User Type Select how your going to tell the bot who to timeout, the executor or a user ID.

\#### Duration Enter how long the timeout is for in minutes.

\#### Reason Enter the reason for timing out the user, this will show in Audit Log.

---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/waiting-and-logging.md). # Waiting & Logging ## Wait ## Log
---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/blocks/actions/member-actions/member-nickname.md). # Member Nickname

\#### User Type Select how your going to tell the bot who to set the nickname of, the executor or user ID.

\#### Nickname Enter the new nickname to set.

\#### Reason Enter the reason for setting the nickname, this will show in Audit Log.

---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/timed-and-custom-event.md). # Timed & Custom Event ## Custom Event Trigger this block to execute a custom event. These events can be created on the Custom Events page of the dashboard. You can also pass custom data to the event using JSON format. ## Timed Event Trigger this block to execute a timed event. Unlike the Timed Events page on your dashboard, you can only use the seconds, minutes, hours, and days format.\\ \\ These events only run once and can only have 10 running a the same time.
---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/blocks/options.md). # Options When running a command, have you ever wanted anyone to tag a channel, or a member? With options, you can! Depending on the type of option you use, you can ask the user who runs your command to attach a file, tag a member, add some text and more.

Multiple options in a command. Featuring a text option, channel option and attachment option.
In the command builder, there are nine option blocks you can choose from. Each are customizable, allowing you to set a name, description, set as required and on some, you can define pre-set choices for users to select from. {% hint style="info" %} Option blocks can only be accessed in the command builder, not in any event builders. {% endhint %} ## Introduction to Options Below is a list of all of our option blocks and a brief description on each.
| Option | Description |
| --- | --- |
| Attachment | Run the command and add in a file, e.g. attach an image. |
| Boolean | Useful for asking the interacting user true or false questions. |
| Channel | Have an option to tag a channel each time the command is run. |
| Integer | Forces a whole number to be inputted for this option. E.g., `1`, `0` or `-1`. |
| Mentionable | Search and tag either a member or a role from your server. |
| Number | Ask the user to enter any numbers including even, odd, negative and more. |
| Role | Use a role option to easily tag a role each time you use your command. |
| Text | Text options have no limitations. Any characters can be used in this option. |
| Member | Have an option to easily mention a member from your server. |
{% hint style="info" %} With each option, you can refer back to what the command user entered. For instance, if you have a text option in your command named \`text\`, you can return its value by using \`{option\_text}\`. {% endhint %} Some options can return unique information, such as for attachments, you can find whether the file was marked as a spolier; to do so, you can use \`{option\_name\[spoiler\]}\`. This is done by refering to a JS property. E.g., \`spolier\` is a property of an attachment. For every option, the properties will be diverse as attachments, members, roles etc have different values. Each option's properties will be explained further for each option, but to find more about Discord JS properties, visit \[Discord JS\](/docs/misc/discord-js.md). {% hint style="info" %} In this page, \`{option\_name}\` is provided frequently as an example. Make sure to replace \`name\` with one of \*your\* option's names. Otherwise, these variables will not work for you. {% endhint %} ### Preset Choices To add a preset choice, write the choice you'd like to add and press enter. From here, an option condition can be used to determine which choice the user picked and you can decide to add actions depending on the choice selected.

Preset choices in a text option.
Configuring the option condition is straightforward. Start by selecting your option with the preset choices and typing in the first choice e.g. \`option 1\`. Repeat this step for as many preset choices you have, and once you are finished you should have an option block similar to the example below.

An option condition to check which choice the command user selected.
{% hint style="info" %} You are only able to define pre-set choices on the integer, number and text options. {% endhint %} ### Required Options By default, options will be optional to answer. Meaning, the user that uses the command does not need to fill in your option and they can run the command even if your option is left blank. When setting options to required, users must complete your option. For unrequired options, you can use an option condition block (\[Conditions\](/docs/blocks/conditions.md#option-condition)) to check if your option was completed or not. To do so, you will need to check if your \`{option\_name}\` is equal to null. When using your option condition, select your own option by using the target option dropdown.

Setting up an option condition.
With this option condition, your null condition will be triggered if your option was left empty. Otherwise, your else condition will run as an option will been filled out. Therefore, you can now run unique actions based upon if the user completed an option. ### Reordering Options Once you have a few options created in your command, you can change the order in which they appear when you run your command. For example, my command currently starts by asking the user to select a number of winners for a giveaway. Instead, I want to start by asking for the host.

To reorder options, you can simply edit the command (by using the \[pencil icon\](https://botwiz.dev/dashboard/bots?destination=commands)) and head to the options tab. To reorder your options, use the up and down arrows at the right side of each option. For your required options, they will have a locked icon; whereas unrequired options will have an unlocked icon.

\## Attachment Option Need a file attached, such as for proof for a ban command? Use an attachment option and allow users to upload files such as an image. With this attachment option, if your attachment file is an image, you can refer to an image by using the variable \`{option\_name\[url\]}\`.

Command with an attachment option.
With attachment options, you can access more than just the url. For example, you can grab it's content type, description and if it has been marked as a spolier e.g., by using the variable\`{option\_name\[spolier\]}\`. With each variable, make sure to replace \`name\` with your option's name. To find every property you can access (e.g., \`spolier\` is a property), visit the \[Official Discord JS\](https://discord.js.org/docs/packages/discord.js/14.14.1/Attachment:Class#ephemeral) page or see our \[Discord JS\](/docs/misc/discord-js.md) walkthrough guide talking about using variables and properties. ### Filesize Limits Per Discord's limitations, the maximum file size for non-Nitro users is 25MB. Those with Nitro Basic can upload files up to 50MB, and Nitro subscribers can upload files up to 500MB. With these limitations in mind, all images and GIFs will be small enough to upload, even if you do not have a Nitro subscription. ## Boolean Option Need the user to answer a yes or no question, or select weither something is true or false? Introducing boolean options! Ask questions related to your command and you can use an \[Conditions\](/docs/blocks/conditions.md#option-condition) later on to distinguish their answer. E.g., for a giveaway command, you can ask if you'd like it to start now!

Boolean option example within a command.
Unlike an attachment option, boolean options do not have any other information you can grab. When checking to see whether the command executor chose true or false, start by placing an option condition block. From here, create a new condition as shown below. After, if the user chose \`True\` your condition will fire. Otherwise, your else condition will run.

Setting up an option condition to configure the command user's selection.
\## Channel Option Useful for tagging a giveaway channel, for example, the channel option allow users who use the command to tag a channel. With this option, a list of channels, including categories, will pop up. Users will only be able to select a channel, and no other text can be entered.

A command with a required channel option.
Depending on the channel's type that was selected, e.g. whether it was a category, voice channel or text channel, depends on what you can return when using Discord JS properties. To find all of the properties you can use, see this \[Discord JS documentation\](https://discord.js.org/docs/packages/discord.js/14.14.1/TextChannel:Class) page. For instance, you can find the last message, last pin timestamp and the channel's topic by using a variable such as \`{option\_name\[topic\]}\`. In this variable, just replace \`topic\` with the property you wish to use e.g., \`{option\_name\[lastMessage\]}\`.

Some of the properties you can access with a text channel.
{% hint style="info" %} When using \`{option\_name}\` it will return the channel's ID. To tag the channel in a message, please use \`<#{option\_name}>\`. For more on message formatting, how to tag emojis, users and other formats, see this \[Discord Developer Documentation\](https://discord.com/developers/docs/reference#message-formatting) page. {% endhint %} ## Integer Option Integer options, unlike number options, ask command users to enter a whole number (e.g. \`1\`, \`0\` or \`-1\`). Other numbers such as \`1.2\` are unable to be entered for this option, as shown below. Therefore, this option is great for asking for a number of giveaway winners for example.

\## Mentionable Option Mentionable options allow users to select any role or member. Unlike other options, you are unable to enter pre-set choices for a mentional option. However, similar to an attchment option, there are properties available to gather further information.

A mentionable option being used in a command.
For example, if a role is given you can find properties such as its colour, time the role was created, icon, and name. To find a list of all role properties, visit this \[Discord JS\](https://discord.js.org/docs/packages/discord.js/14.14.1/Role:Class) page. E.g., to find a role's colour, you can use the variable \`{option\_name\[color\]}\`. Likewise, if a member is selected, you can find a member's avatar, display color, id, nickname, status and more. To find every property you can use, feel free to visit this \[Discord JS\](https://discord.js.org/docs/packages/discord.js/14.14.1/GuildMember:Class) page. E.g., you can find a member's status by using the variable \`{option\_name\[presence.status\]}\`. {% hint style="info" %} To find out more about properties and what variables you can use, visit \[Discord JS\](/docs/misc/discord-js.md). {% endhint %} ### Member or Role? Since the user running the command and pick from any member or role, sometimes you may need to find out which - a member or role - they picked. This is especially important for using the correct variables, e.g. \`{option\_name\[color\]}\` vs \`{option\_name\[presence.status\]}\`, as only one variable works with roles and the other with members. There are multiple ways to check whether the ID returned is a role or a member, but the easiest way would be to use a comparison condition. In this condition, you can check to see if \`{option\_name\[color\]}\` is undefined. If so, the ID is a member's ID. Yet if it is not undefined, the ID belongs to a role.

A visual example on how to set up your comparison condition block.
\## Number Option For a number option, you can enter any number values such as \`1\`, \`0\`, \`0.1\`, \`-1\` etc. Handy for managing an economy, these options restrict users from entering non-numeric content. With a number option, you can define pre-set choices for command users to choose from.

A command featuring a number option.
\## Role Option Similar to a channel option, role options force users to select a role from the server. Helpful for commands such as an add-role command, the role option prohibits users from entering anything other than a role, and it automatically provides a list of roles ready for selection.

Role condition in a command.
Role options allow you to possess its properties. For instance, you can gather additional information on the role such as its name, colour, time of creation, and more. To do so, you can use a variable such as \`{option\_name\[name\]}\` to access the role's name. There are more properties than those mentioned above (e.g., a role's name is a property). To found out more on Discord JS properties, visit \[Discord JS\](/docs/misc/discord-js.md). However, to find a full list of properties for a role, please visit this official \[Discord JS\](https://discord.js.org/docs/packages/discord.js/14.14.1/Role:Class) page. ## Text Option Text options are free of limitations, meaning that any character can be used. Thus, these options can be useful for moderative commands, for example, as you can add a custom reason. Unlike other options, text options let you configure pre-set choices.

A command using a text option.
\## Member Option Member options allow you to select a server member. This is useful for commands that require user-specific actions, such as sending a direct message or selecting a user to moderate. Like role options, member options restrict input to server members only, and provide a brief list of members to pick from.

A preview of how a member option looks in a command.
You can also retrieve various details about the member using variables such as \`{option\_name\[user.username\]}\`, \`{option\_name\[displayName\]}\`, and more using guild member properties. For a list of these properties, please refer to this \[Discord JS\](https://discord.js.org/docs/packages/discord.js/14.14.1/GuildMember:Class) documentation page.
---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/blocks/actions/action-blocks/create-and-delete-an-auto-mod-rule.md). # Create & Delete an Auto Mod Rule #### Rule Name This is the name of the rule that is shown in the configuration.

\#### Trigger Type This is the type of auto mod rule that this trigger will follow.

\#### Keyboard Filter This is for the Keyword selection in the trigger type, enter words and these will be blocked.

\#### Mention Limit If the Mention trigger is selected, enter a number of the max amount of times a user can get mentioned before it triggers.

\#### Action Type Enter the punishment for user.

| Type | Response | | ------------------ | ------------------------------------------------------------------ | | Block Message | This will block the message from being sent in the Discord Server. | | Send Alert Message | This will send a predefined. | #### Reason Enter the reason for creating this auto mod rule, this will be displayed in auto mod.

---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/blocks/actions/member-actions/unban-member.md). # Unban Member

\#### User Type The user type of the user you are unbanning, must be selected to User ID.

\#### Reason The reason for unbanning the user.

---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/creations/variables/custom-variables.md). # Custom Variables Custom variables can be created via the \[Bot Variables\](/docs/creations/variables/custom-variables/bot-variables.md) page. There are multiple different types of custom variables which is covered \[here\](/docs/creations/variables/custom-variables/bot-variables.md#type). There are no set limits on the total character count or positions a variable can hold. Users can create an unlimited amount of custom variables to help create and deploy advanced commands and events. Unlike Event variables, Custom Variables can be used anywhere, in events, or commands. You can also opt for the values to be guild specific or spread across all the guilds your bot is a member of. ### Usage To use a custom variable you can reference it using \`{custom\_\[variableName\]}\`. Ensure you replace \*\*\`\[variableName\]\`\*\* with the name you chose for the custom variable when creating it on the Bot Variables page. Arrays always start at 0 and increase with each value. So keep this in mind when trying to provide an index value for your array reference. For example: > If you store "apple" as the first value in the array, you would instinctively use 1 as the index. However, due to arrays starting at 0, the correct index for it would be 0. To simplify this, simply take away - 1 from the number you get when counting how many values are in the array. This is an easy way to find the correct index for the value you wish to retrieve. ### Array Variable Usage Referencing custom arrays is simple. You must use a function to perform the action you wish to perform, a list of functions can be found on \[this page\](broken://pages/igH5Rl9QbqpGqoKiBwCP). Any function that accepts an array can be used with custom array variables.
---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/creations/variables.md). # Variables Variables are important to use with BotWiz as it adds customisation and functionality to your bot. In the following subpages you will learn about: \* Interaction Variables \* Custom variables \* Unique variables \* Function Variables \* Advanced Variables \* Event Variables | Option | Information | | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Text | Sets the variable to store a string, allowing it to accept any value, from numbers, letters or symbols. | | Number | Sets the variable to store a number, allowing only numbers to be stored. This also allows the variable to be used in the \[Calculate variable\](/docs/blocks/actions/variable-actions/calculate-variable.md) block. | | Array | Sets the variable to store an array / list of values, this allows you to store multiple values in separate positions. (Starting at 0) | | User | Sets the variable to store values for a specific user. | | Channel | Sets the variable to work in a specific channel, this allows you to store data for a specific channel, rather than for the entire server. | | Object | An \*\*object variable\*\* is a type of variable used to store and manipulate complex data structures. | #### Custom Variables To create a \*\*Custom Variable\*\* click on the \*\*\`+ Create Variable\`\*\* button, A modal will pop up asking for the following data: | Data | Description | | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | Name | The name of your variable. | | Type | The type of variable you want to store. | | Default Value | This is an optional value, but you can set this as you see fit. | | Scope |
This has 2 options:
Guild - The variable will be available only in the server where the variable value was created.
Global - The variable will be available in any server your bot is in.
| #### Unique Variables You can create unique variables the same way to create custom variables in the builder. Unique variables are unique to the builder, which means the unique variables you create can only be used inside that builder.
---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/creations/variables/custom-variables/bot-variables.md). # Bot Variables The Variables page allows you to create \[custom variables\](/docs/creations/variables/custom-variables.md) which can be used in any command, event or timed event on your bot.

BotWiz allows you to create multiple different types of variables each having its own unique purpose and plus points. Creating a variable is super easy, on the Bot Variables page, the first section on the page will allow you to create a custom variable. You can customize the following options for the new custom variable: \* Name \* Type \* Default Value \* Scope ### Name This input will allow you to pick a custom name for the variable which you will use to reference the variable to retrieve data from it. This can be done by entering: \`{custom\_\[name\]}\` into any text input block on any command or event for the bot. \*\*Ensure you replace \*\*\*\*\`\[name\]\`\*\*\*\* with the name you entered for the custom variable when creating it.\*\* ### \*\*Type\*\* | Option | Information | | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Text | Sets the variable to store a string, allowing it to accept any value, from numbers, letters or symbols. | | Number | Sets the variable to store a number, allowing only numbers to be stored. This also allows the variable to be used in the \[Calculate variable\](/docs/blocks/actions/variable-actions/calculate-variable.md) block. | | Channel | Sets the variable to work in a specific channel, this allows you to store data for a specific channel, rather than for the entire server. | | User | Sets the variable to store values for a specific user. | | Array | Sets the variable to store an array / list of values, this allows you to store multiple values in separate positions. | {% hint style="info" %} When you select a channel, user or array type. It will then allow you to again specify if it is a user, or channel specific variable. {% endhint %} ### Default Value Setting a default value will make the variable start with the value specified in this input rather than starting as \`null\`. By setting it to 0 it would mean the users start off without a single warning and it will display 0 rather than \`blank\`. ### Scope | Option | Information | | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Guild | Sets the variable to store data in each guild the bot is in. This means you are only able to update that guilds data in said variable by using a command or event in that specific guild. | | Global | Sets the variable to store data on a global basis. Meaning anytime the variable is updated, the changes will be reflected in all guilds the bot is in. | ### Viewing existing variables You can view all your existing custom variables at the bottom of the variables page.

Image shows the variables page with existing variables.
Clicking on one of the variables will allow you to edit or delete the variable. When editing, you can change everything about the variable as if you were re-making it. {% hint style="danger" %} Once the variable is deleted, there is no way to get it or its data back. They are removed from our systems too. {% endhint %}
---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/creations/variables/interaction-and-default-variables.md). # Interaction & Default Variables Basic variables consist of regular/most commonly used variables such as: {interaction} or {channel}. These are usable with any event or command interaction. Below you can find a full list of basic variables. | Variable | Use Case | | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------ | | {interaction} | Returns the interaction object for the command, button or select menu trigger. This includes the Member, User, Channel, and Guild objects. | {% hint style="warning" %} When using the {interaction} variable, please note that every button, select menu and modal click will change the value of the variable. This results in the interaction data being overwritten with new data for the newly created interaction. {% endhint %} ### Interaction Examples {% tabs %} {% tab title="Member" %} You can find the full list of member properties\[ here\](https://discord.js.org/docs/packages/discord.js/14.15.3/GuildMember:Class).
| Variable | Example | Use case |
| --- | --- | --- |
| `[member.displayName]` | Jamie | Returns the user's displayName in the server the interaction was used in. |
| `[member.id]` | 718039190935306351 | Returns the ID of the user who used the interaction. |
{% endtab %} {% tab title="Channel" %} You can find the full list of channel properties \[here\](https://discord.js.org/docs/packages/discord.js/14.15.3/GuildChannel:Class). | Variable | Example | Use Case | | -------------------- | ------------------- | ------------------------------------------------------------------- | | \`\[channel.parentId\]\` | 1161086203890778192 | Returns the category ID of the channel the interaction was used in. | | \`\[channel.name\]\` | 💬┃general | Returns the channel name that the interaction was used in. | | \`\[channel.id\]\` | 1161086224690315365 | Returns the channel ID that the interaction was used in. | | {% endtab %} | | | {% tab title="Guild" %} You can find the full list of Guild properties \[here\](https://discord.js.org/docs/packages/discord.js/14.15.3/Guild:Class). | Variable | Example | Use Case | | ------------------- | -------------------------------------------------------------- | ---------------------------------------------------------------- | | \`\[guild.name\]\` | BotWiz.dev | Returns the name of the server that the interaction was used in. | | \`\[guild.createdAt\]\` | Mon Jul 08 2024 12:35:06 GMT+0000 (Coordinated Universal Time) | Returns the date the server was created at. | | \`\[guild.id\]\` | 856011486077255690 | Returns the ID of the server where the interaction was used. | | {% endtab %} | | | | {% endtabs %} | | | {% hint style="info" %} To use properties within the \*\*Interaction\*\* variable you will need to use the following format: \`\`\` {interaction\[\]} \`\`\` {% endhint %} ### Default Variable Examples These variables allow quick access to Discord objects. It returns the complete Discord object, with the exception of the \`{bot}\` variable, which has been modified to exclude the token for security purposes. {% hint style="info" %} Each variable also gives you the option to target a specific object, not just the default object. An example of how to get a members display name would be: \`\`\` {member\[MEMBER\_ID\]\[displayName\]} \`\`\` {% endhint %} {% hint style="warning" %} All variables have an optional ID option, except for the role variable. {% endhint %}
| Variable | Default Return | Allows Target ID | Requires ID |
| --- | --- | --- | --- |
| {user} | The user mention of the executor of that command or event. <@USER\_ID> | true | false |
| {member} | The member mention of the executor of that command or event. <@MEMBER\_ID> | true | false |
| {guild} | The guild name of the guild that the event or command was executed in. | true | false |
| {channel} | The channel mention of the channel that the event or command was executed in. <#CHANNEL\_ID> | true | false |
| {bot} | The bot id of your bot. | true | false |
| {role\[ROLE\_ID\]} | The role id of a specified role in the guild the command or event was executed in. | true | true |
---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/creations/events/list-of-discord-events.md). # List of Discord Events ## Client / Bot Events These Discord events relate to the bot, e.g. an event for when the bot joins a server.
| Event Type | Description | Event Variable |
| --- | --- | --- |
| Guild Joined | Run when the bot joins a new Discord server. | |
| Guild Left | Run when the bot is removed from a Discord server. | |
| Client Ready | Your bot has started up, and is ready to work! | |
| App Command Perms Update | Run when a command's permissions are edited. | |
\### Automod Rules Automoderation rules can be added to your bot to ensure your servers are moderated and secure. \\ To learn more about automoderation rules, see \[Create & Delete an Auto Mod Rule\](/docs/blocks/actions/action-blocks/create-and-delete-an-auto-mod-rule.md).
| Event Type | Description | Event Variable |
| --- | --- | --- |
| Rule Triggered | Run when an automod rule has been triggered. | |
| Rule Created | Run when an automod rule has been created. | |
| Rule Updated | Run when an automod rule has been updated. | |
| Rule Deleted | Run when an automod rule has been removed. | |
\## Guild / Server Events
| Event Type | Description | Event Variable |
| --- | --- | --- |
| Guild Available | | |
| Guild Unavailable | | |
| Guild Updated | Run when an update is made to a guild. | |
| Invite Created | Run when a server invite is created. | |
| Invite Deleted | Run when a server invite is deleted. | |
\### Server Scheduled Events
| Event Type | Description | Event Variable |
| --- | --- | --- |
| Event Created | Run when an event is created in a server. | |
| Event Updated | Run when an event is updated in a server. | |
| Event Deleted | Run when an event is deleted in a server. | |
| User Added | Run when a user subscribes to a server event. | |
| User Removed | Run when a user unsubscribes from an event. | |
\### Boost Events
| Event Type | Description | Event Variable |
| --- | --- | --- |
| Boost Event | Run when a user boosts a server. | |
| Boost Tier 1 | Run when a server reaches Boost Tier 1. | |
| Boost Tier 2 | Run when a server reaches Boost Tier 2. | |
| Boost Tier 3 | Run when a server reaches Boost Tier 3. | |
\### Emoji & Sticker Events
| Event Type | Description | Event Variable |
| --- | --- | --- |
| Emoji Created | Run when an emoji is added to a guild. | |
| Emoji Updated | Run when an emoji is updated in a guild. | |
| Emoji Deleted | Run when an emoji is deleted from a guild. | |
| Sticker Created | Run when an sticker is added to a guild. | |
| Sticker Updated | Run when an sticker is updated in a guild. | |
| Sticker Deleted | Run when an sticker is deleted from a guild. | |
\### Guild Discovery Events Server Discovery allows your Discord server to reach more users by becoming public in the Discovery page. When applying for server discovery, you can find a set of requirements you must follow in your server's settings, or to find out more, visit Discord's \[Enabling Server Discovery\](https://support.discord.com/hc/en-us/articles/360030843331-Enabling-Server-Discovery) guide. A Server Discovery grace period will last for four weeks. A grace period means that your server will not be removed from Discovery immediately. However, if after four weeks your server fails to meet the requirements, it will automatically be removed from Discovery.
| Event Type | Description | Event Variable |
| --- | --- | --- |
| Disqualified | Run when a guild is removed from discovery. | |
| Re-qualified | Run when a guild is re-added to discovery. | |
| Grace Period Initial Warning | A warning for when a server's grace period has started. | |
| Grace Period Final Warning | This warning will be sent during the end of a server's grace period. | |
\### Stage Instance Events
| Event Type | Description | Event Variable |
| --- | --- | --- |
| Stage Created | Run when a stage instance is created. | |
| Stage Updated | Run when a stage instance is updated. | |
| Stage Deleted | Run when a stage instance is deleted. | |
\### Misc Guild Events
| Event Type | Description | Event Variable |
| --- | --- | --- |
| Raid Reported | Run when a guild receives a raid detection. | |
| Integration Updated | If your server's integrations (e.g., webhooks and bots) has updated, this event will run. | |
| Audit Log Entry Created | Ran once an action such as a member timeout or role creation has occured. | |
| Webhooks Updated | Triggered if the server's webhooks have been updated or changed. | |
\## Guild Member Events
| Event Type | Description | Event Variable |
| --- | --- | --- |
| Member Join | Once a member has joined, this event will run. | |
| Member Update | Ran once a member has updated (e.g., name). | |
| Member Leave | Begins when a member has left the server. | |
| Member Kicked | Once a member is kicked, this event will run. | |
| Member Banned | Once a member is banned, this event will run. | |
| Ban Removed | If a ban is revoked, this event will trigger. | |
\### Misc Member Events
| Event Type | Description | Event Variable |
| --- | --- | --- |
| Member Available | | |
| Member Chunk Received | | |
| Presence Updated | | |
| User Joined Voice | | |
\## Channel Events
| Event Type | Description | Event Variable |
| --- | --- | --- |
| Channel Created | | |
| Channel Deleted | | |
| Channel Updated | | |
| Follow Added | | |
| Pins Updated | | |
\### Thread Events
| Event Type | Description | Event Variable |
| --- | --- | --- |
| Thread Created | | |
| Thread Deleted | | |
| Thread Updated | | |
| List Synced | | |
| Member Updated | | |
\## Message Events
| Event Type | Description | Event Variable |
| --- | --- | --- |
| Message Created | | |
| Message Updated | | |
| Message Deleted | | |
| Bulk Deleted | | |
| Typing Start | | |
| Typing Stop | | |
\### Message Reaction Events
| Event Type | Description | Event Variable |
| --- | --- | --- |
| Reaction Added | | |
| Reaction Removed | | |
| All Reactions Removed | | |
| Emoji Reaction Removed | | |
---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/creations/variables/advanced-variables.md). # Advanced Variables Advanced variables are a set of variables that typically is only used for set use-cases. These are considered advanced as most users may not find a use for them. Below you can find a list of all current advanced variables BotWiz has to offer. {% hint style="danger" icon="square-xmark" %} \*\*These variables have been deprecated. You can use the new variables by searching for their equivalent in the Variables menu.\*\* {% endhint %}
| Variable | Equivalent After Deprecation | Use Case |
| --- | --- | --- |
| {adv\_bot} | {bot} | Returns the Discord.js bot object. This does **NOT** include the bot's authorization token. View more [here](https://discord.js.org/docs/packages/discord.js/14.15.3/Client:Class)
. |
| {adv\_botPing} | {botPing} | Returns the current ping of the bot in milliseconds |
| {adv\_botStatus} | {botStatus} | Returns the current status of the bot (Idle, do not disturb, online, etc) |
| {adv\_botActivityType} | {botActivityType} | Returns the current activity type for the bot (Streaming, Playing, etc) |
| {adv\_botActivity} | {botActivity} | Returns the current activity for the bot (the custom status) |
| {adv\_botUpdateTime} | _:x:_ No equivalent at this time | Returns the current set interval for the bot's activity rotation (if defined) |
| {adv\_isInGuild\[string,boolean\]} | _:x:_ No equivalent at this time | Returns a true/false boolean indicating if the user is in the same guild as the bot. Setting the final argument to true will make this variable search all the guilds the bot is in; otherwise, it will just search the guild where the interaction was created.
The first argument takes a user ID. The second argument takes a boolean. |
---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/creations/variables/event-variables.md). # Event Variables Event variable are specific to just events. These will not be usable in commands nor will they display in the variable list for a command. Below you can find a complete and up-to-date list of variables that are usable in events. All variables are exact returns from Discord.js, meaning you are able to access all properties of the variable object while using it. You can find a list of all properties returned by each variable \[here\](https://discord.js.org/docs/packages/discord.js/14.15.3). ### Channel | Variable | Description | | ------------------------------------------------- | --------------- | | {created\\\_channel} | Channel Created | | {deleted\\\_channel} | Channel Deleted | | {updated\\\_old\\\_channel} & {updated\\\_new\\\_channel} | Channel Updated | ### Guild | Variable | Description | | ------------------------------------------------------------- | --------------------------------- | | {auditLog\\\_entry} | Guild Audit Log Entry Create | | {guild\\\_available} | Guild Available | | {guild\\\_create} | Guild Create | | {guild\\\_delete} | Guild Delete | | {guild\\\_integration\\\_update} | Guild Integration Update | | {ban\\\_add} | Guild Ban Add | | {ban\\\_remove} | Guild Ban Remove | | {added\\\_member} | Guild Member Add/Join | | {removed\\\_member} | Guild Member Remove/Leave | |
{updated\\\_old\\\_member} &
{updated\\\_new\\\_member}
| Guild Member Updated | | {scheduled\\\_event\\\_create} | Guild Scheduled Event Create | | {scheduled\\\_event\\\_delete} | Guild Scheduled Event Delete | | {scheduled\\\_event\\\_update} | Guild Scheduled Event Update | | {scheduled\\\_event\\\_user\\\_add} | Guild Scheduled Event User Add | | {scheduled\\\_event\\\_user\\\_remove} | Guild Scheduled Event User Remove | | {guild\\\_unavailable} | Guild Unavailable | | {guild\\\_new} & {guild\\\_old} | Guild Update | ### Invite | Variable | Description | | ---------------- | ------------- | | {invite\\\_create} | Invite Create | | {invite\\\_delete} | Invite Delete | ### Message | Variable | Description | | -------------------------------------------------- | ----------------------------- | | {created\\\_message} | Message Create | | {deleted\\\_message} | Message Delete | | {message\\\_bulk\\\_delete} | Message Bulk Delete | | {message\\\_reaction\\\_add} | Message Reaction Add | | {message\\\_reaction\\\_remove} | Message Reaction Remove | | {message\\\_reaction\\\_remove\\\_all} | Message Reaction Remove All | | {message\\\_reaction\\\_remove\\\_emoji} | Message Reaction Remove Emoji | | {updated\\\_new\\\_message} & {updated\\\_old\\\_message} | Message Update | ### Role | Variable | Description | | ------------------------------------------ | ----------- | | {created\\\_role} | Role Create | | {deleted\\\_role} | Role Delete | | {update\\\_old\\\_role} & {updated\\\_new\\\_role} | Role Update | ### Stage Instance | Variable | Description | | ------------------------------ | --------------------- | | {stage\\\_instance\\\_create} | Stage Instance Create | | {stage\\\_instance\\\_delete} | Stage Instance Delete | | {stage\\\_instance\\\_update\\\_old} | Stage Instance Update | ### Sticker | Variable | Description | | ------------------------------- | -------------- | | {create\\\_sticker} | Sticker Create | | {deleted\\\_sticker} | Sticker Delete | | {old\\\_sticker} & {new\\\_sticker} | Sticker Update | ### Thread | Variable | Description | | ------------------------------------------------------------- | ------------------------- | | {created\\\_thread} | Thread Create | | {old\\\_thread} & {new\\\_thread} | Thread Update | | {deleted\\\_thread} | Thread Delete | | {new\\\_member\\\_update\\\_thread} & {old\\\_member\\\_update\\\_thread} | Thread Member Update | | {members\\\_update\\\_thread} | Thread Member\*\*s\*\* Update | ### Typing | Variable | Description | | -------- | ------------- | | {typing} | Typing Starts | ### User | Variable | Description | | ------------------------------------------- | ----------- | | {updated\\\_new\\\_user} & {updated\\\_old\\\_user} | User Update | ### Voice State | Variable | Description | | --------------------- | ------------------ | | {updated\\\_old\\\_state} | Voice State Update | ### Webhook | Variable | Description | | --------- | --------------- | | {webhook} | Webhooks Update |
---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/blocks/actions/message-or-embed-actions.md). # Message or Embed Actions Message or embed action blocks are instances where the bot performs actions such as sending a message, editing an existing one, or starting a poll. Below, you’ll find a list of available blocks along with a brief description of what each one does.
| Action Block | Description |
| --- | --- |
| Modal | Open a form for users to answer questions. |
| Start Poll | Start a custom Discord poll. |
| Stop Poll | End an ongoing Discord poll. |
| Send Message | Get your bot to send a custom message. |
| Add Reaction | Add a reaction to a message. |
| Remove Reaction | Remove a reaction from a message. |
| Forward Message | Forward a message. |
| Publish Message | Publish a message. |
| Delete Message | Delete a message. |
| Copy Message | Copy a message. |
| Edit Message | Edit a message. |
| Pin Message | Pin a message. |
---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/creations/variables/function-variables.md). # Function Variables Some functions will require certain things to be inputted, this could be a date, the unit it outputs the value in, and more. {% hint style="warning" %} Note: Functions cannot have spaces in them when typed unless it's between two speech marks ("like this"). {% endhint %}
| Function | Usage | Description |
| --- | --- | --- |
| {func\_hasRoles()} | {func\_hasRoles(\[1231035953372467240,1185606519811756082\])} | Check if a user has the roles in the array (list the IDs).
Parameter: \[USER\_ID\] |
| {func\_randomItem()} | {func\_randomItem(\[1,2,3\])} | Get a random item from the array. Parameter: \[Number\] |
| {func\_atPosition(\[\]), \[\]} | {func\_atPosition(\[a,b,c\]), \[1\]} | Get the element at the specified index. (1 in the example). |
| {func\_size(\[\])} | {func\_size(\[1,2,3\])} | Get the size of the array \[1, 2, 3\]. |
| {func\_replace()} | {func\_replace(hello world, world universe)} | Replaces world with universe in the string.
Parameter: \[First\_OCC or ALL\_OCC, test\] |
| {func\_toUpperCase()} | {func\_toUpperCase(hello)} | Converts the string to uppercase.
(Result: HELLO) |
| {func\_toLowerCase()} | {func\_toLowerCase(HELLO)} | Converts the string to lowercase.
(Result: hello) |
| {func\_toTitleCase()} | {func\_toTitleCase(hello world)} | Converts the string to title case.
(Result: Hello World) |
| {func\_trim()} | {func\_trim( hello )} | Removes the spaces before and after a string. (Result: hello) |
| {func\_substring()} | {func\_substring(hello world, 0, 5)} | Extracts the selected string from the larger string. (hello from world) |
| {func\_length()} | {func\_length(hello)} | Returns the string's length.
(Result: 5) |
| {func\_split()} | {func\_split(a-b-c, -)} | Splits the string at the specified character into an array.
(Result: \[a,b,c\]) |
| {func\_concat()} | {func\_concat(hello, world)} | Concatenates (joins) hello and world. |
| {func\_contains()} | {func\_contains(hello world, world)} | Checks if the string contains another string. (if it contains world) |
| {func\_startsWith()} | {func\_startsWith(hello world, hello)} | Checks if a string starts with another string. |
| {func\_endsWith()} | {func\_endsWith(hello world, world)} | Checks if a string ends with another string. |
| {func\_indexOf()} | {func\_indexOf(\[1,2,3\]), \[1\]} | Returns the index of the number 1 which in this case is 0 |
| {func\_lastIndexOf()} | {func\_lastIndexOf(hello world hello,hello)} | Returns the last index of a string in another string. (If it appears more than once, otherwise it's the same as the one above) |
| {func\_charAt()} | {func\_charAt(hello,1)} | Returns the character that is in the specified index (index being 1 in this example) |
| {func\_scramble()} | {func\_scramble(hello)} | Scrambles the string given. |
| {func\_reverse()} | {func\_revers(hello)} | Reverses the string given. (Result: elloh) |
| {func\_repeat()} | {func\_repeat(hello, 3)} | Repeats the string the amount of times given. (In this case: 3) |
| {func\_generateRandomString()} | {func\_generateRandom
String(3)} | Generates a random string with the specified length (In this case: 3) |
| {func\_equation()} | {func\_equation(5 + 3 / 2)} | Solves the given equation and returns the answer. |
| {func\_randomNumber()} | {func\_randomNumber(1, 5)} | Returns a random number in the given range. |
| {func\_roundNumber()} | {func\_round
Number(3.14159, 2)} | Rounds the number to the given number of decimal places. (Result: 3.14) |
| {func\_isNumber()} | {func\_isNumber(123)} | Checks if a number is valid. |
| {func\_ISOtoUnix()} | {func\_ISOtoUnix(Your Date)} | Converts the ISO date to Unix. |
| {func\_UnixToISO()} | {func\_UnixToISO(Your Date)} | Converts the Unix date to ISO. |
| {func\_isSameDate()} | {func\_isSameDate(date, date)} | Checks if 2 dates are the same. |
| {func\_currentTime()} | X | Returns the current time in HH:mm:ss format. |
| {func\_currentDateTime()} | X | Returns the current time in YYYY-MM-DD HH:mm:ss format. |
| {func\_currentTimestamp()} | X | Returns the current timestamp in seconds. |
| {func\_currentTimestampMillis()} | X | Returns the current timestamp in milliseconds. |
| {func\_formatDate()} | {func\_formatDate(2024-01-01, MM/DD/YYYY) | Formats the date into the desired format. |
| {func\_addTime()} | {func\_addTime(date, number, unit)} | Adds the desired amount of time to a date. |
| {func\_subtractTime()} | {func\_subtractTime(date, number, unit)} | Removes the desired amount of time from a date. |
| {func\_differenceTime()} | {func\_differenceTime(date1, date2, unit)} | Calculates the difference between 2 dates in the specified unit. |
| {func\_isBeforeDate()} | {func\_isBeforeDate(date1, date2)} | Checks if date1 is before date2. |
| {func\_isAfterDate()} | {func\_isAfterDate(date1, date2)} | Checks if date1 is after date2. |
| {func\_isSameDate()} | {func\_isSameDate(date1, date2)} | Checks if date1 and date2 are the same date. |
| {func\_indexOfString()} | {func\_indexOfString(hello world, world)} | Returns the last index of the string |
---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/blocks/actions/message-or-embed-actions/delete-and-pin-a-message.md). # Delete & Pin a Message In this page, both the delete message and pin message blocks will be explained. However, you must first understand what a message ID is. For starters, a message ID is a way you can refer to a specific message, and how your bot knows which message to delete or pin for example. To find a message ID for a message that has already been sent by anyone, simply right click the message on Discord and click to copy its ID. If you do not have this option, you must visit your Discord Settings > Advanced and toggle your Developer Mode on.

For message blocks, you can refer to their 'message ID', by using the create message variable. You can find this variable in any create message block, and it will be something like \`{create\_message\_00000}\`. For each create message block, you can edit this variable's referance code.

\## Delete a Message For each delete message block, you have the option to either state a message ID or select a message block in the builder. The difference between the two options, is that you should refer to a message ID when the message will not be sent by the bot during your current builder (e.g. command). When using the message selector, this is an easy tool where you can easily pick any message block in your builder. Once it's selected, that message will be deleted once your block is run.

A delete message block example from a builder.
\## Pin a Message Pinning a message works exactly the same as deleting a message. You can either state a message ID, or simply select a message in the builder. When pinning a message, it will show in your channel's pinned messages as shown below.

Pinned messages for a channel.
---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/blocks/actions/message-or-embed-actions/start-and-end-poll.md). # Start & End Poll These blocks are solely related to starting and ending Discord polls. Discord polls are where your members can vote on different options, which can be useful for voting for an upcoming server event, theme or voting on a winner for a server competition.

A new Discord poll, with a plain message.
In each poll, a member can vote once and either select one answer or multiple (depending on what you choose). Anyone will be able to see the results, and after the poll ends, a Discord notification is usually provided to notify the poll host and participants of the outcome after the timer is up. ## Start Poll When configuring a start poll block, there are three main areas. Firstly, the message that is sent with your poll, where your message and poll should be sent, and your poll builder. Starting with the message builder, this works exactly like a send message block; letting you make a message, embeds and components all in one. For more help on finding your way around a message builder, see \[Send & Edit a Message\](/docs/blocks/actions/message-or-embed-actions/send-and-edit-a-message.md). {% hint style="info" %} To avoid sending a message at all, you can simply add a space in the message content. {% endhint %} Next, you can set your poll and message to reply to another. For instance, you can have your poll respond to a specific message, the command, or the last button. Otherwise, you can select your poll to be sent to the current channel, a specific channel or as a direct message.

Lastly, the poll builder lets you thoroughly customize your new poll. Letting you set the question, and up to 10 options for users to select from. With each option, you can select an emoji (or leave it blank), and select a label for each answer. To allow multiple answers, toggle the option at the buttom of the builder. Additionally, you can modify the duration of the poll. Once this duration is finished, the poll will automatically end and a notification will be provided notifying participants and the host of the results.

When creating a new poll, you will see this poll builder.
\## Stop Poll Stop poll blocks are only able to end polls that have been created within the current builder. For instance, an end poll block will only have a block selector, and so you can only pick start poll blocks from your command or event.

A stop poll block inside of a builder.
To end a poll from another builder, you must use an API. To find out more, please visit \[API\](/docs/blocks/actions/action-blocks/api.md).
---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/blocks/actions/message-or-embed-actions/modal.md). # Modal Modal action blocks allow you to send a form to the interacting user. Modals are especially useful for systems like modmail or ticket system.

With a modal, users using your command will experience a form like this.
To start creating your modal, you can place a modal action block in any builder. Modal blocks can \*\*only\*\* be placed after an interaction, where a user has interacted with an event of command, such as: 1. When a command has been run (modal blocks will not work at the start of an event); or 2. When a trigger (e.g., button or select menu) as been used. Modal blocks don’t need to be placed directly after an interaction. You can insert other blocks, such as a condition block, in between. However, if you place an action block (for example, a send message block) immediately after an interaction, the modal will not function. ## Creating your Modal Every modal block comes with access to our Modal Builder. After selecting a modal block, simply press the \*\*Modal Builder\*\* button to begin creating your form. Within the builder, you can adjust your modal’s settings and preview a live representation of how it will appear in Discord.


For each modal you create, you \*\*must\*\* enter a title, custom ID and at least one label. As shown in the example above, a modal title will appear at the top of the form, where each label has eight customizable options. {% hint style="info" %} For each modal, only five questions can be created, as per Discord limitations. {% endhint %} ## Custom IDs & Field Identifiers As mentioned, for every modal you must enter a custom ID. Custom IDs are a way to differentiate your current modal against other modals you may have in your builder. This is essential, as you may wish to use a modal variable to refer back to a user's answer. Modal variables are a variable specific to each modal you create, and they can be used for referring to a user's answer to any field/question. Using the example image above, you can view the modal variable called \`{modal\_he74anu04dc\_1}\`. If I used that variable in my builder, it will return the answer a user has given for the question. Field identifiers, similar to custom IDs, differentiate a modal's fields/questions. For example, a modal with multiple questions will need numerous unique field identifiers so that you can refer to a user's answer to one, or more, questions.

In the example above, the field identifiers \`1\` has been used to represent the question number. With this identifier, I can use \`{modal\_he74anu04dc\_1}\` to return the user's answer to the field/question. ## Creating Fields Fields are your questions; for each field you create, you create a new question. With each field, you will have eight customizable options, allowing you to create intricate questions. However, every question requires you to enter a label, type and field identifier. Labels are simply the question title, and the field type will distinguish whether you would like a short answer or a long answer. These are all you require to successfully create a modal question! However, the other optional components will let you customize your question a bit more. ### Optional Components These components are entirely optional, and are not required to be filled in when creating a new field.
| Component | Description |
| --- | --- |
| Placeholder | Text visible before an answer has been given; usually added for guidance. |
| Minimum Length | Set a minimum number of characters that must be entered. |
| Maximum Length | Set the maximum amount of characters a user can use in their answer. |
| Required | Toggle whether the question must be answered or not. |
| Default Value | Set a default answer for a question. These can be edited by the user. |
\#### Placeholders vs Default Values Placeholders are only visible when a user has not yet entered an answer. These can be used to aid a user into providing an appropriate answer, or to explain the question further. However, default values are where you would automatically answer the question for the user. These values can be edited, but will be useful for pre-answering a question or starting off an answer.
---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/blocks/actions.md). # Actions {% hint style="warning" %} \*\*Our documentation page is undergoing a rework. Some pages are incomplete.\*\* We are working overtime to resolve this issue, please visit our \[Support Server\](https://discord.gg/YHVry73av9) if you need any additional help, or would like to report any bugs or suggestions. {% endhint %} Action blocks let you define what your bot should do, such as sending a message or performing a task. They can be used in any builder, whether you’re setting up a new event or creating a command. The following subpages break down each category, such as message blocks and channel blocks. Each section provides detailed explanations of every block along with step-by-step setup instructions. If you ever get stuck or need extra guidance, our \[Discord Server\](https://discord.gg/botwiz) is available for one-on-one support. {% hint style="info" %} Some pages may explain multiple action blocks. \\ E.g. \[Delete & Pin a Message\](/docs/blocks/actions/message-or-embed-actions/delete-and-pin-a-message.md) will explain the 'Delete Message' and 'Pin Message' blocks. {% endhint %} ## List of our Action Blocks For those new to BotWiz, below you can find a list of our available action blocks. Each can be performed by your bot whenever a command or event has been executed! With each block listed, a brief explanation will be provided along with a link to its subpage. ### Message or Embed
| Action Block | Description | Subpage Link |
| --- | --- | --- |
| Modal | Open a form for users to answer questions. | [/pages/gEHHUm9Qi1fTJvwXKUKY](https://docs.botwiz.dev/pages/gEHHUm9Qi1fTJvwXKUKY) |
| Start Poll | Start a custom Discord poll. | [/pages/jgMaFwGgLEAty9sw1TkV#start-poll](https://docs.botwiz.dev/pages/jgMaFwGgLEAty9sw1TkV#start-poll) |
| Stop Poll | End an ongoing Discord poll. | [/pages/jgMaFwGgLEAty9sw1TkV#end-poll](https://docs.botwiz.dev/pages/jgMaFwGgLEAty9sw1TkV#end-poll) |
| Send Message | Get your bot to send a custom message. | [/pages/6duzUXUvMCsi2qxNqcQY](https://docs.botwiz.dev/pages/6duzUXUvMCsi2qxNqcQY) |
| Add Reaction | Add a reaction to a message. | |
| Remove Reaction | Remove a reaction from a message. | |
| Forward Message | Forward a message. | |
| Publish Message | Publish a message. | |
| Delete Message | Delete a message. | [/pages/3NqjrCvO4WyK0cL3NLxx#delete-a-message](https://docs.botwiz.dev/pages/3NqjrCvO4WyK0cL3NLxx#delete-a-message) |
| Copy Message | Copy a message. | |
| Edit Message | Edit a message. | |
| Pin Message | Pin a message. | [/pages/3NqjrCvO4WyK0cL3NLxx#pin-a-message](https://docs.botwiz.dev/pages/3NqjrCvO4WyK0cL3NLxx#pin-a-message) |
\### Voice Actions | Action Block | Description | Subpage Link | | ----------------------- | ------------------------------------------- | ------------ | | Join Channel | Join a channel. | | | Leave Channel | Leave a channel. | | | Mute | Mute a member. | | | Unmute | Unmute a member. | | | Deafen | Deafen a member. | | | Undeafen | Undeafen a member. | | | Disconnect | Disconnect a member from a channel. | | | Request to Speak | Request to speak in a stage channel. | | | Remove request to Speak | Remove request to speak in a stage channel. | | | Suppress | Suppress a user or channel. | | | Remove Suppress | Remove suppress from a user or channel. | | ### Role Actions
| Action Block | Description | Subpage Link |
| --- | --- | --- |
| Add Roles to Everyone | Assign a role to every user in the server. | [/pages/i8UAVjYRuMYxmNMSTfGu](https://docs.botwiz.dev/pages/i8UAVjYRuMYxmNMSTfGu) |
| Add Role | Assign a role to a user. | [/pages/sfV5JwGqu4wVrRFOrH7R](https://docs.botwiz.dev/pages/sfV5JwGqu4wVrRFOrH7R) |
| Create Role | Create a new guild role. | [/pages/sfV5JwGqu4wVrRFOrH7R](https://docs.botwiz.dev/pages/sfV5JwGqu4wVrRFOrH7R) |
| Delete Role | Delete a guild role. | [/pages/ddaymeMLyPoe9A7Ywp05](https://docs.botwiz.dev/pages/ddaymeMLyPoe9A7Ywp05) |
| Edit Role | Edit a guild role. | [/pages/v6W8mdaUAUv3XjICQHHE](https://docs.botwiz.dev/pages/v6W8mdaUAUv3XjICQHHE) |
| Remove Roles | Remove a role from a user. | [/pages/ddaymeMLyPoe9A7Ywp05](https://docs.botwiz.dev/pages/ddaymeMLyPoe9A7Ywp05) |
| Remove Roles from Everyone | Remove a role from everyone in the server. | [/pages/i8UAVjYRuMYxmNMSTfGu](https://docs.botwiz.dev/pages/i8UAVjYRuMYxmNMSTfGu) |
\### Channel Actions
| Action Block | Description | Subpage Link |
| --- | --- | --- |
| Create Channel | Create a guild channel. | [/pages/JgGGvrNTD4xGqCaILA7P](https://docs.botwiz.dev/pages/JgGGvrNTD4xGqCaILA7P) |
| Delete Channel | Delete a guild channel. | [/pages/SwEvQYCFB2kGW5tXELbl](https://docs.botwiz.dev/pages/SwEvQYCFB2kGW5tXELbl) |
| Edit Channel | Edit a guild channel. | [/pages/cNmpBii0TGWgQMGRDm3U](https://docs.botwiz.dev/pages/cNmpBii0TGWgQMGRDm3U) |
| Purge | Purge messages in a guild channel. | [/pages/7HKAdeOBndH89e3l7Gwh](https://docs.botwiz.dev/pages/7HKAdeOBndH89e3l7Gwh) |
\### Member Actions
| Action Block | Description | Subpage Link |
| --- | --- | --- |
| Manage Nickname | Update a member's nickname in a guild. | [/pages/GK6QOVRlayXXqXqKId2w](https://docs.botwiz.dev/pages/GK6QOVRlayXXqXqKId2w) |
| Timeout Member | Timeout / mute a guild member. | [/pages/UbDPn0IyYP9q0VN5eHzA](https://docs.botwiz.dev/pages/UbDPn0IyYP9q0VN5eHzA) |
| Kick Member | Kick a member from a guild. | [/pages/ejkW8SdPUBhnTuIhlyXc](https://docs.botwiz.dev/pages/ejkW8SdPUBhnTuIhlyXc) |
| Unban Member | Unban a member from a guild. | [/pages/MsetEm3W4qw3CVF2HdTk](https://docs.botwiz.dev/pages/MsetEm3W4qw3CVF2HdTk) |
| Ban Member | Ban a member from a guild. | [/pages/EpghTxiUOQzxTmV6S87m](https://docs.botwiz.dev/pages/EpghTxiUOQzxTmV6S87m) |
\### Variable Actions
| Action Block | Description | Subpage Link |
| --- | --- | --- |
| Calculate Variable | Run an equation on a variable. | [/pages/qYBhHSV2CIhY1n2hCe8e](https://docs.botwiz.dev/pages/qYBhHSV2CIhY1n2hCe8e) |
| Delete Variable | Remove the values from a variable. | [/pages/5a9fb5UfAzY67H01pPZn](https://docs.botwiz.dev/pages/5a9fb5UfAzY67H01pPZn) |
| Set Variable | Set a variable to a specific value. | [/pages/cXfyGXZWUNaF6PVPxAyf](https://docs.botwiz.dev/pages/cXfyGXZWUNaF6PVPxAyf) |
\### Action Blocks
| Action Block | Description | Subpage Link |
| --- | --- | --- |
| API | Use external API in your build. | [/pages/vzNVUhnSReSnEgzyxrZs](https://docs.botwiz.dev/pages/vzNVUhnSReSnEgzyxrZs) |
| Break Loop | End an ongoing loop early. | [/pages/5PVbBIZFi729oQDqhOZT#break-a-loop](https://docs.botwiz.dev/pages/5PVbBIZFi729oQDqhOZT#break-a-loop) |
| Loop | Start a loop. | [/pages/5PVbBIZFi729oQDqhOZT#start-a-loop](https://docs.botwiz.dev/pages/5PVbBIZFi729oQDqhOZT#start-a-loop) |
| Wait | Wait before the next block starts. | [/pages/095fi9XpSVJOgONCmA5Q#wait](https://docs.botwiz.dev/pages/095fi9XpSVJOgONCmA5Q#wait) |
| Logging | Create custom logs for your bot logs. | [/pages/095fi9XpSVJOgONCmA5Q](https://docs.botwiz.dev/pages/095fi9XpSVJOgONCmA5Q) |
---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/misc/debugging.md). # Debugging They allow you to view all of your successes, errors and any information your bot receives. Bot logs can be triggered by any command or event and can be used to debug an error you may be encountering. Some errors cause fatal errors with commands; others can go unnoticed. Which means your command could work with a slight error, or the command will just not respond.

\## Troubleshooting Troubleshooting errors can be useful to debug commands, with fixing small errors to make the command efficient or to simply make the command work.
---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/creations/commands.md). # Commands {% hint style="info" %} When updating or creating a new command, you \*\*must\*\* restart your Discord. You can do so by pressing \\ \\NAN;\*\*\`CTRL + R\`\*\* on your keyboard. {% endhint %} The Command page allows you to view and manage your custom commands for your bot. On this page, you can enable, disable, edit and create new custom commands. All of your custom commands are listed on this page under the \*\*\*Command\*\*\* section.

For this page in particular, this section of the guide will outline two categories: \* Creating a new command. \* Creating a folder for your commands. ## Creating a new command If you have just created your bot, you will have no commands here by default. To create a new command, click the \*\*Create\*\* button. From there, navigate to the \*\*New Commands\*\* button to open a modal to edit your command's features as shown below.



This will display a modal prompting you to enter a name, and description for your new command, as well as some check boxes to set it to ephemeral, or nsfw. Below you can find a breakdown of what each option means and how it affects the command. | Option | Breakdown | | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | Name | The name you enter here, will be the phrase you use to trigger the command in discord using a / notion. For example I have a command named 'tester'. To run this command I would then use \`/tester\` in a discord channel my bot has access to. | | Description | Due to discord limitations, a description for all commands is required. The description will be displayed under the / (slash) command popup in discord. It's best to pick a descriptive description so you and your members know exactly what the command does. | | Type | Choosing the command type determines how the command will be executed. For example, a slash command is triggered by typing a \*\*'/'\*\* followed by the command name in Discord. | | Integration Types | Defines how a command interacts with different systems or platforms within your bot’s setup. | | NSFW | Enabling this will make it so the command can only be seen in the slash commands context menu, and used in NSFW channels. You can read more about this \[here\](https://support.discord.com/hc/en-us/articles/115000084051-Age-Restricted-Channels-and-Content). | | Sub Command | A sub command is a specific action nested under a main (parent) command. | | Sub Command Group | A sub command group is a collection of related sub commands grouped under a parent command. | | Sub Command Parent | The sub command parent is the main command that holds one or more sub commands or sub command groups. | | Sub Command Parent ID | The sub command parent ID is the internal identifier used to link a sub command or sub command group back to its parent. | After creating your first custom command, each custom commands you create will be displayed on the Commands page, along with options on the right side of the command panel. Here you can: \* Enable/Disable the command. \* Edit the command information. \* Go to your builder.

\## Creating a folder for your commands Organizing your commands in folders can be helpful in many aspects, especially when managing multiple commands. It makes navigation easier within the commands section and helps you quickly locate and manage related commands. Grouping commands by category is simple, and this section will walk you through how to create, edit, and assign commands to folders for better organization. ### Creating your folder If you have just created your bot, you will have no folders here by default. To create a new folder, click the \*\*Create\*\* button. From there, navigate to the \*\*New Folder\*\* button to open a modal to edit your folder's features as shown below.



This will display a modal prompting you to enter a title for the folder and a color to designate to the folder. Once you have chosen your title and color, a new line will populate just below any commands you have made.

\### Editing your folders To edit your folder's name and color after creating it, simply press on the folder icon.

After clicking the icon, the \*\*Update Folder\*\* modal will open, allowing you to modify your folder. Once you've made all desired changes, simply click the \*\*Update\*\* button to save and apply them.

\### Assigning a command to your folder To assign a command to a folder, press and hold your desired command, then drag it to the folder at which you want it assigned to. Once you have added a command to your folder, the folder icon will show a number indicating how many commands you currently have inside the folder.

---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/dashboard/settings.md). # Settings The settings page allows you to customize & edit your bot's functionality, customizing default error messages to data and security throughout your bot. ### General The general page allows you to operate bot controls and customize the visual aspects of your bot, such as the \*\*Activity\*\* \*\*& Status\*\*.

\### Customization The customization page allows you to edit the bots profile, such as the name, banner and the bio.

\### Data & Security The data & security page allows you to edit the 'backend' features of the bot, such as viewing & updating your bot token, refreshing bots data and deleting your bot.


\### Default Messages The default messages page covers any default error messages your bot may send. These defaults can range from Command not found error messages to command cooldown messages.

| List of Command Errors in Default Messages Page | Description | | ----------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | | Command not found | This message is sent when a user tries to use a command that does not exist. | | Command cooldown | This message is sent when a user tries to use a command that is on cooldown. Use {time\\\_remaining} to display the remaining time. | | Command DM permission | This message is sent when someone uses a command in DM's while not allowed. | | Command guild permission | This message is sent when someone uses a command in a guild while not allowed. | | Command allowed role permission | This message is sent when someone uses a command which requires a role they don't have. | | Command denied permission | This message is sent when someone uses a command which bans a role they have. | | Command allowed channel permission | This message is sent when a command is ran in a channel that is not whitelisted. | | Command denied channel permission | This message is sent when a command is ran in a channel that is banned. | | Command allowed guild permission | This message is sent when a command is ran in a guild that is not whitelisted. | | Command denied guild permission | This message is sent when a command is ran in a guild that is banned. | | Command allowed permissions permission | This message is sent when a user runs this command while not having a permission. | | Command denied permissions permission | This message is sent when a user runs this command with a blacklisted permission. | | List of Button Errors on Default Messages Page | Description | | ---------------------------------------------- | ----------------------------------------------------------------------------------------- | | Button trigger not found | This message triggers if the command / event that the button is linked to does not exist. | | List of Menu Errors on Default Messages Page | Description | | -------------------------------------------- | --------------------------------------------------------------------------------------- | | Menu trigger not found | This message triggers if the command / event that the menu is linked to does not exist. | ### Premium The Premium page can be used to purchase premium features for your bot. Purchasing premium gives your bot countless more options \[See here\](https://botwiz.dev/#prices). ### Integrations The integrations page is used to find information on your but like your OpenAI Token, Deepseek Token, and Anthropic Token.

---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/creations/events.md). # Events ## Discord Events These events are specifically triggered once a Discord-related action has taken place. When setting up a Discord event, you will have a wide range of options to choose from, e.g. an event for when a user has joined a server your bot is a member of. In each Discord event, you can access specific variables such as \`{added\_member}\`. These will be unique to the event, and allow you to access information such as the new member's username. Each Discord event, and variable, is linked to the \[Discord JS Documentation\](https://discord.js.org/docs/packages/discord.js/14.14.1/GuildMember:Class). To find a full list of Discord events available at BotWiz, see \[List of Discord Events\](/docs/creations/events/list-of-discord-events.md). {% hint style="info" %} To find out more about Discord's JS Documentation, see \[Discord JS\](/docs/misc/discord-js.md). {% endhint %} ### Creating a Discord Event When creating a new Discord event, you must select an event type. This is for when the event will be triggered, such as for when a role has been created. Additionally, you can set a nickname for the event. This will allow you to keep track of your events, and what they do.

Creating a new Discord event menu. The event type is required, however setting a nickname is optional.
Discord events can be used to create welcomer messages, auto-roles for new members, logging messages for actions such as for when a member has been kicked, and much more! To get started on events like these, see our \[BotWiz Guides\](https://docs.botwiz.dev/botwiz-guides/). ## Timed Events Timed events allow you to run custom actions at a scheduled time or time interval. For instance, you can send a message everyday at 6pm your local time. Timed events work like other builders, allowing you to use action and condition blocks, but since this is an event, options can not be used. ### Creating a Timed Event When starting a new timed event, there are only a few options. Firstly, you'll want to select which guild this event will run in and then you can toggle whether this event should run as an interval or on a schedule. Also, with each timed event, you can always set a name. For an interval, you can input the seconds, minutes, hours or days. To whichever interval you set, this means that the event will trigger every x time set, e.g, if the interval is set to 30 minutes, the event will run every 30 minutes. Do note however, intervals must have at least 30 seconds to work.

Creating a new scheduled timed event.
For a scheduled event, this will run every day at x time you set at the timezone you select. For scheduled events, you can pick to have your bot send a message at 11:00 and 12:00 each day for example. This can be useful for auto-purging channels for instance. {% hint style="info" %} Timed events are not entirely accurate as delays may occur. Please be mindful. {% endhint %} ## Webhook Events Webhooks allow you to communicate with third-party services, for setting up systems such as Discord Status updates, or custom reminders. Webhooks are fairly complicated as you will need an understanding of APIs in order to fully configure a webhook. Please see \[API\](/docs/blocks/actions/action-blocks/api.md) to find out more. Without a third party, a webhook can be used for common events such as a counting channel. Meaning, webhooks can be used to just send a message, imposing the user as a bot, as shown below.

Sending a webhook with a member's information.
\### Third-Party Requests For each API request you make, you must use your Webhook Authorization Key as authorization. You can find this key in your bot's Settings > Data & Security. When sending a request, you \*\*must\*\* have a webhook event set up. You can find your webhook URL at your webhook events page. If you choose to enter any variables in your API request's body, you can use \`{interaction\[variable\_name\]}\` for example. {% tabs %} {% tab title="Sending Request" %} \*\*POST\*\* \\ \\ URL: \\ Content-Type: application/json \\ \\ Authorization: WEBHOOK\\\_KEY\\ \\ Body: {
"Variable\\\_name”: “variable value”,\\ "Variable\\\_name2”: “variable value2”,\\ \\ } {% endtab %} {% endtabs %} {% hint style="info" %} Only 6 requests a minute can be submitted. {% endhint %} ## Custom Events Custom events, unlike other events, are triggered by your other creations. Useful for organizing a large command into multiple builds, custom events can be triggered from any command; meaning multiple commands can run a custom event. A custom event is unique in comparison to other events, as it has its own block. This block is the one you use to trigger a custom event from inside of another creation (e.g., command or event).

{% hint style="info" %} You \*\*must\*\* have a \[custom event\](https://botwiz.dev/dashboard/bots?destination=custom-events) before using this block; so you have one to select from. {% endhint %}

When using a custom event block, you can pass over data from your command into your event. To refer to any information you enter, you can use \`{interaction\[name\]}\` in your custom event. Using the example format below, the 'name' can be 'member', or 'hello'. \`\`\`javascript { member: {interaction\[member.id\]} channel: {interaction\[channel.id\]} hello: {unique\_hello} example: example } \`\`\` All other interactions (e.g., \`{interaction\[channel.id\]}\`), modal or unique variables can be used in your custom events as if you were editing the original build that triggers this event.
---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/misc/teams.md). # Teams
---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/blocks/actions/message-or-embed-actions/send-and-edit-a-message.md). # Send & Edit a Message Both the send and edit message action blocks are similar, both featuring a message builder as their main component. Here, you can start to create a new message that can contain embeds, buttons, select menus and much more. ## Message Builder Starting at the message content, a message builder has four tabs: content, embeds, components and flags. Each tab will allow you to customise your message further, and even change the way it acts (e.g., whether you would like your message to be hidden).

A message built with content and a single embed featuring a title and description.
{% hint style="info" %} With each message, you must either have content or an embed with a description. {% endhint %} ### Embeds Embeds are essentially boxes of text, yet unlike any other message, embeds are much more customisable. Within a single embed, you can set a title, colour, footer, add fields etc. On a message builder, a single message can have up to ten embeds. In a single embed, you can edit the author, body, fields, footer and images. Starting with the author, you can edit its name, icon URL and URL. Author properties will be visible at the top of the embed, as shown below.

A message sent with content and an embed with author properties.
Next, the body of an embed is one of the most important parts of an embed, allowing you to set a title, description, URL and colour. Embed descriptions can have up to 4000 characters each, and titles will automatically be bold. With an author set and multiple body components, this is how an embed looks:

An updated embed with additional components, including a title and description.
Moving onto an embed's fields, fields can be a way to organize your embed's description into sections. With each field you create, you can name it and set it's value (description). However, fields can also be toggled to be inline. Meaning, the fields will instead line up horizontally. See below for an example.

An embed with an author, body and inlined fields.
Footers, similar to authors, allow you to set a icon URL along with some text. Though, footers will appear at the bottom of an embed, and a timestamp can be toggled. The timestamp will signify when the embed was sent e.g., "Today at 3:59 PM". Footer timestamps are relative, meaning that they will change with time. For instance, after a day passes, the timestamp will automatically change to "Yesterday at 3:59 PM" without the embed being marked as edited.

An embed featuring everything apart from any images.
Lastly, you can add images to your embed. Featuring two different types, the first image will be shown at the bottom of an embed above the footer. Next, a thumbnail image can be set which will appear in the top right corner. You can overcome the requirement of an embed description by setting the description to simply a space character. From here, you can create distinctive types of embeds, such as an image-only embed. Used mainly for decoration, it goes to show how customisable embeds are!

A simple embed with an image.
{% hint style="info" %} Only an embed description can feature Discord fonts, such as \*\*bold\*\* or \*italic\*.\\ This includes the ability to tag members, channels and other formats such as timestamps. {% endhint %} ### Components Featuring multiple types, components allow you to add buttons and select menus to your message. These components can be used to offer the interacting user a selection of actions or options. For example, a user select menu will allow the member to pick a user from the current server.

BotWiz's automatic support embed for users requesting help.
In the image above, there are four buttons available for users to pick from. Each button serves a different purpose, and some are locked for some users by using permission or role conditions. Unlike select menus, buttons are simple, whereby users can only interact by clicking it. Select menus, however, can be more complicated. Featuring several different types: string, channel, role, user and mentionable, users can interact with select menus in multiple ways. For a string select menu, users can pick from multiple options that you create.

A string select menu with two simple options to choose from.
With each select menu you create, you will always be able to set a placeholder. Without an option pre-set (such as in the example above), the placeholder on a select menu will be visible. For example, in the image below, the placeholder is "Make a selection here...".

All other select menu types, such as the channel select menu, will permit you to select from a list of channels. Handy for selecting a user to moderate, for example, a mentionable select menu provides a list of both members and roles for the member to choose from. To refer to what a user selected in a select menu, you can use \`{interaction\[values.0\]}\`. The number in the variable will be which component you grab the value of, and this starts counting at 0. So, if your select menu is the 2nd component, you can use \`{interaction\[values.1\]}\`. For multi-select menus, you can use \`{interaction\[selected\]}\` to refer to the options selected. ### Flags Flags are simply a list of settings for your message, such as enabling whether you want the message's replies to be hidden. Or, toggling the pings on the message, to avoid accidental pings. Below is an example of the flags page, and all of the options you can modify.

The optional flags you can attune for each message.
\## Send a Message Apart from the message builder, a send message block will have more options to customize. Starting with the message location, you can select whether you want your message to be a reply. Its important to note, that ephemeral (hidden) messages must be set as replies. Else, messages that do not reply to another can be set to send to the current channel, a specific guild channel, to a channel ID or to a user's DMs. Variables can also be used for a channels location. Lastly, your bot can auto-react to your new message if you add emojis in the reactions tab. This can include regular and custom emojis from any server your bot is in. ## Edit a Message This block has a few options, as you simply select the message you wish to edit and modify the message builder into your new message. When selecting a message, you can either enter a message ID, variable or select a block from your current builder.
---
# Unknown
\> For the complete documentation index, see \[llms.txt\](https://docs.botwiz.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://docs.botwiz.dev/docs/misc/discord-js.md). # Discord JS This page will be used to learn more about Discord JS, in terms of properties & finding how to refer to more information by using interaction, event and attachment variables. E.g., {interaction\\\[guild.name\]}. ## Navigating the Discord JS Docs ## Properties: what are they? ### Variable Examples ## Multi-property Variables
---