---
description: Credits @miylie
---

# Massing Bot

This guide will walk you through the process of creating a bot for mass messaging from scratch, outlining each step along the way.

If you have any questions throughout or get stuck, feel free to visit our [Support Server](https://discord.gg/5qRpsctzjB).



In this example, the guide will walk you through the step-by-step process of creating an information embed, similar to the one shown below:

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeef-RddkxCDs2nGJPJLs9nSz6WcvdTnxxLw4YO8evksxpIeRcTMBNbvAAkeBxhurWQngf8X0VfDBDrYzgNyxMpjvNPgPwN4SEHP3smVvOS68Y71_Iu9ubN25A36t0oUwh8uKZYGA?key=62zA329iJn6L8TtQUI5CY987" alt="" width="375"><figcaption></figcaption></figure>

***

## Step 1: Create an Information Embed/Message & Send Initial Instructions



First, you will need to put down a "Send Message" block:

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdbz9I5rbKK-Jg4dhqOZuPEQzcPR_ZT7K1iFsogNCIbCE4E4cvWNHxN7JRp89xv81ShVGHLn_4U4JicYMur2bN0fA7O2kdj8qOQtMSA6cCla1Bfw2bOHWD3AyI3g8R3UzwrupYz_Q?key=62zA329iJn6L8TtQUI5CY987" alt="" width="563"><figcaption><p>Send Message Block</p></figcaption></figure>



Once you put the module down, you can then start customizing the message to your liking:



{% tabs %}
{% tab title="Message Customization" %}


<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfZFHv62J_1pZCVNPr8rJDPL6g74bCJ5Uuoj6jfJB7O2T9bouH-bSAlrbevkKj87tgPnzZapx9FXGxqmcQbaMs3beJPenCi8bOtYHe76d31GtFeb1jZe1uS4UIXgSl5EWh5E4EkLQ?key=62zA329iJn6L8TtQUI5CY987" alt=""><figcaption><p>Customization within the Message Block</p></figcaption></figure>
{% endtab %}

{% tab title="Ephemeral Replies" %}
<figure><img src="https://3071155663-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3kWzjw3glf7IkiBD8sfd%2Fuploads%2FZR0Qo4j9joHztjfrEtkq%2FDOc.PNG?alt=media&#x26;token=19158f82-936e-4b09-b9b2-1ff9bd2c4c76" alt=""><figcaption></figcaption></figure>

> Enable or disable the ability for users who are not the interaction author to see the response. Note this only hides replies to an interaction, not general messages.&#x20;

{% hint style="info" %}
<mark style="color:red;">**(!) Note (!)**</mark> : Using the **flags** section, you can make a message visible only to the user who executed the command or interacted with a dropdown menu or button. However, this functionality only applies to messages that are sent as **replies**.
{% endhint %}
{% endtab %}
{% endtabs %}

***

\
Once your info message or embeds are set up, you're ready to move on to creating the actual ticket!

> There are two main methods for opening a ticket:
>
> * Creating a command that users can type to open a ticket.
> * Allowing users to press a button or select an option from a dropdown menu.
>
> Both methods follow a similar setup process, but the button and dropdown menu approach is a bit more complex—so we’ll focus on that.



1. First, navigate to the **Components** section and click **Add Component**. From there, you can choose whether you want to create a **button** or a **dropdown menu**. While both options work well, I recommend using a dropdown menu—it tends to look cleaner and more organized, especially when offering multiple ticket categories.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdJ3LXXRlkBTGe5RZmS78VhG9zKljBvT-hNebY5CC1QTSQJGADGFSAvtustN_Z5q9lDdJbhtzi4J5yijDABmlvDpy6P4A1dIRWcsK1uFhkcIAeC28tQZEW3ax16WApXVwYOwCzXyA?key=62zA329iJn6L8TtQUI5CY987" alt=""><figcaption></figcaption></figure>



2. After adding your component, you’ll need to insert a **"Create Channel"** block. For the channel name, you can use a format like:

&#x20;`w2p : {interaction[user.username]}`

This will automatically include the username of the person who opened the ticket, making it easy to identify who the ticket belongs to.

{% hint style="info" %}
To configure the permissions for the channel, see the "Customize Channel Block" tab below:
{% endhint %}

{% tabs %}
{% tab title="Create Channel Block" %}
<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdCmAILOw4tLeP8nHsXuy4jcsZJS6E_kNJAOvA-TlzDe7jP50LbfbVvcl3BgQ5Bq_MSFWtreFoIQbUwkB9IZcMyzrGthcG7GDRC2Rh-yGkgUDvS2c1c5zTFlIhThbNs3Id1RujO?key=62zA329iJn6L8TtQUI5CY987" alt="" width="375"><figcaption></figcaption></figure>

\

{% endtab %}

{% tab title="Customize Channel Block" %}
<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfcuS1h6AKh8PfWzPUhOUWIiG0SMvf6Z6VdS4UE7Aqw7TcjuWF_SwHu9ebUacuY7EXC29FcFmx1qGIyuu3D1bNwUYt7oylOwI2h0FAA_2BTMrqh4ncJ-px7UXVnBazyC66rjLQqHA?key=62zA329iJn6L8TtQUI5CY987" alt="" width="375"><figcaption></figcaption></figure>

**For the permissions, you can use as follows:**

> Role/User ID
>
> {user\[id]}
>
> Allow :
>
> View Channel , Send Messages

\
Add Permission:

> Role/User ID
>
> {interaction\[guild.id]}
>
> Deny :
>
> View channel

\

{% endtab %}
{% endtabs %}



3. Next, to send a message into the newly created ticket channel, add a **"Send Message"** block. Change the **Channel Type** to **Channel ID / Variable**, then paste in the **Channel ID variable** from your **Create Channel** block. This ensures the message is sent directly into the correct ticket channel.

{% tabs %}
{% tab title="Channel Variable" %}
{% hint style="info" %}
**This is where you can find your channel variable:**
{% endhint %}

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXehvT-l-pMz0z7UlgkB9NvszvAzvSpgKQDIC6eHuTw-O6-dN-DxRm6Yf8hs8rLZPwKwrtXf-0xbvofM_yDJVN1R7Y8IQKwk15yQCfYVvKICWS0F4DySi_VU1PvqQ0XjwI1qwb3kPg?key=62zA329iJn6L8TtQUI5CY987" alt=""><figcaption></figcaption></figure>

\
\
\

{% endtab %}

{% tab title="Message Block Configuration" %}
{% hint style="info" %}
This is where you will paste your Channel Variable:
{% endhint %}



<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXePCvsEj_QkIHqhR66s0LzZc3yCxq-HeEeDkWWBsc5WBBGHhUplvTf8I5Ihp0EqK5f2Cb1b2vfPJvbrdoWj42VEfS622X-6vqQ23dk_mj4e7yKvj4YdMWHQQGpRdw5vwECP9mc52w?key=62zA329iJn6L8TtQUI5CY987" alt="" width="375"><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}



4.  Next, return to the **Send Message** block you just added and attach a **Button Component**. This button will allow users to submit their ad when clicked.



To set this up, simply add a **Modal Block** and connect it to the button. This will open a form-style popup where users can enter their ad details.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXedCmRsAFE-MSws_QF1KdjI-zh1Ky6_Fl8aIVCrUM5bnb2l9NmIxIzGWhiYfKleEPiLnaQ6BICjb7Tcw8JlO5aKinNOu-OUkRgR6Vy1i99hShosFsSlOUHA8M_IcheIL6RMPcv4VQ?key=62zA329iJn6L8TtQUI5CY987" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfdQAvbo5He8oPuykOGSLAn5G8pMdONNuq5jgbNggVBL0VCAzl29dgDPi_4arX_i7kQkh3B6Gq3Z_F4y7wTz911WEzQBqr52V3jzV2mCDjtf7yP--SvdFoLnmODuufgi02roUMuwA?key=62zA329iJn6L8TtQUI5CY987" alt="" width="563"><figcaption></figcaption></figure>



5. Next, add **two Send Message** blocks, and place a **Pin Message** block underneath each one.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcfNUZZjstlG2HSDF75nqYG0FnIT9YwiAoecBHwi2U4uOjJfBBmshsR-ixXyhpEs_uRK7Q4LvoIm6Mry1MYTXpZDWYEnfItNDuKUFG4lVRDHNOAlidLCMLxmVHgmWr3J24C6X5xow?key=62zA329iJn6L8TtQUI5CY987" alt="" width="375"><figcaption></figcaption></figure>



6. In each **Send Message** block, insert one of the variables from your modal. You can find these variables in the modal block here:

{% hint style="info" %}
I recommend placing your **ad content variable** in the **first Send Message** block, and your **invite link variable** in the **second**. This keeps the information organized and makes it easy for staff to review both the ad and the invite separately.

***

Note: Your variable names will vary based on what you entered for your **Field Identifiers** in the modal.&#x20;
{% endhint %}



<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfV0NnKXkoYtKfu83lhtQnJnaDpDuoFJDbrjnD4Gk78oeu3MeSuBDGwonmJVs26ubYUtHpnn_g1dMWs7ZmPXa-AS7zi46RxG8x0Jz-Z0avh8PCpr3kT1rPNpUhumx7GEFOOjcKCkw?key=62zA329iJn6L8TtQUI5CY987" alt="" width="375"><figcaption></figcaption></figure>



7. For each **Pin Message** block, change the **Message Type** to **Selected Message**. Then, enable the **Message Selector** and link it to the corresponding **Send Message** block.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdNJrt-6HaDHRf_qUH5P1S0WJT0PWdUtBeinmYwd_eDhOxS02ZQIMkst7nfjN10nge6STws9ZPPOwdxPmsBCihGEVcM5U8-45Dleb0zeqA-XFA4zH-mJbK70uZA3NVRbCGs7EkY?key=62zA329iJn6L8TtQUI5CY987" alt="" width="375"><figcaption></figcaption></figure>



8. Next, add one final **Send Message** block below everything. In this block, send the link to your **access server** so users know where to go next.

And that’s it — your ticket system is now complete!

***

## Step 2: Creating a Checkpoint

1. Creating a checkpoint is simple! Just create a **new command** and set the **trigger** to whatever you want your checkpoint name to be.&#x20;
2. Next, add a **Send Message** block and place your **checkpoint layout** inside it.

And that’s it — your checkpoint is ready to go!

***

## Step 3: Finalize and Select Sep Time command

Will be updated soon...
