# Betsy Bot Discord Bot

Betsy Bot is a free and highly configurable alternative to paid Discord Bots. Get started today at https\://app.betsybot.xyz

While the majority of our features are configured we do have some global commands that every server can use right after being invited to the server. You can view information on those global commands by using these links

{% content-ref url="/pages/NI7gf4ED83u2cvRZXl5Z" %}
[/user](/global-commands/user)
{% endcontent-ref %}

{% content-ref url="/pages/AfD1qNUp3DHcREHUNl0A" %}
[/ticket](/global-commands/ticket)
{% endcontent-ref %}

{% content-ref url="/pages/SI9c399tQnleNblQxf2V" %}
[/payment](/global-commands/payment)
{% endcontent-ref %}

{% content-ref url="/pages/QClsKc5hbsO8Qfg1N9iV" %}
[/giveaway](/global-commands/giveaway)
{% endcontent-ref %}

{% hint style="info" %}
**Good to know:** Some global commands require being turned on in the admin panel. These usually contain potentially dangerous commands that require explicit permission or some configuration for your server. The command will tell the command executor that it needs to be enabled first.
{% endhint %}

### Features

We have a wide array of configurable features that will help you manage your server.&#x20;

{% content-ref url="/pages/dDNmEvKmJuFEzLcp9o7Z" %}
[Support Panels (Tickets)](/features/support-panels-tickets)
{% endcontent-ref %}

{% content-ref url="/pages/REx8kInIGKSRPAMV0cUV" %}
[Send Message / Announcement](/features/send-message-announcement)
{% endcontent-ref %}

{% content-ref url="/pages/yYOT1pQYWANme9iFOKRh" %}
[Action Logs](/features/action-logs)
{% endcontent-ref %}

{% content-ref url="/pages/2WmELFZuu4zXmnoQbX85" %}
[Invite Link Blocker](/features/invite-link-blocker)
{% endcontent-ref %}

{% content-ref url="/pages/rcA2SGI9YZisXgbYPyAT" %}
[Role Selection](/features/role-selection)
{% endcontent-ref %}

{% content-ref url="/pages/8ZJZANhtsL9xFp4Zi2gy" %}
[Tracked messages](/features/tracked-messages)
{% endcontent-ref %}

### Configurable Commands

The main bread and butter of Betsy is being able to build your commands the way you want. Hosting a variety of awesome ways to configure your own commands.

{% content-ref url="/pages/ttkelBTYWTnueXVFneF0" %}
[Response Commands](/configurable-commands/response-commands)
{% endcontent-ref %}

{% content-ref url="/pages/eP9nLPKr9PGO54tq2USE" %}
[Data Commands](/configurable-commands/data-commands)
{% endcontent-ref %}

### Extras

{% content-ref url="/pages/5cRURXThNAh8mXSfF2kl" %}
[Server Resources](/extras/server-resources)
{% endcontent-ref %}

{% content-ref url="/pages/J8HY5LXnDm8jSA4aGCnq" %}
[Betsy REST API](/extras/betsy-rest-api)
{% endcontent-ref %}


# Betsy Premium Subscriptions

Get more out of Betsy by supporting Betsy

Betsy is free for nearly all features across the board. But we must keep the lights on somehow, so there are a few extra bonuses you get by Supporting Betsy. Check out the chart below for more information.

You can subscribe using this link <https://app.betsybot.xyz/subscribe> when logged into the Betsy Panel

When you are a premium subscriber you are subscribing you as a user and you can activate servers as premium status. Premium status can be turned on/off at will but things like Custom Bot must be disabled before premium status can be turned off.

You can review your current premium servers on your Profile page once subscribed.

The amount of servers you can make premium is represented by the table below.

| Bronze ($2.99/month) | Gold ($9.99/month) | Platinum ($19.99/month) |
| -------------------- | ------------------ | ----------------------- |
| 1 Server             | 1 Server           | 10 Servers              |

<table><thead><tr><th width="203">-</th><th>Free</th><th>Bronze</th><th>Gold</th><th>Platinum</th><th data-hidden>Bronze</th><th data-hidden>Gold</th><th data-hidden></th><th data-hidden></th></tr></thead><tbody><tr><td>Support Panels</td><td>Unlimited</td><td>Unlimited</td><td>Unlimited</td><td>Unlimited</td><td></td><td></td><td></td><td></td></tr><tr><td>Support Ticket AI Transcription</td><td><strong>X</strong></td><td><strong>X</strong></td><td><strong>X</strong></td><td><strong>Unlimited</strong></td><td></td><td></td><td></td><td></td></tr><tr><td>Giveaways</td><td>Unlimited</td><td>Unlimited</td><td>Unlimited</td><td>Unlimited</td><td></td><td></td><td></td><td></td></tr><tr><td>Polls</td><td>Unlimited</td><td>Unlimited</td><td>Unlimited</td><td>Unlimited</td><td></td><td></td><td></td><td></td></tr><tr><td>Thread Channels</td><td>Unlimited</td><td>Unlimited</td><td>Unlimited</td><td>Unlimited</td><td></td><td></td><td></td><td></td></tr><tr><td>Send Messages &#x26; Announcements</td><td>Unlimited</td><td>Unlimited</td><td>Unlimited</td><td>Unlimited</td><td></td><td></td><td></td><td></td></tr><tr><td>"/ai" Global <br>Command</td><td><strong>X</strong></td><td><strong>Unlimited</strong></td><td><strong>Unlimited</strong></td><td><strong>Unlimited</strong></td><td></td><td></td><td></td><td></td></tr><tr><td>Custom Bot</td><td><strong>X</strong></td><td><strong>X</strong></td><td><strong>Included</strong></td><td><strong>Included</strong></td><td></td><td></td><td></td><td></td></tr><tr><td>Channel Backups</td><td>3</td><td><strong>Unlimited</strong></td><td><strong>Unlimited</strong></td><td><strong>Unlimited</strong></td><td></td><td></td><td></td><td></td></tr><tr><td>REST API Access</td><td>Unlimited</td><td>Unlimited</td><td>Unlimited</td><td>Unlimited</td><td></td><td></td><td></td><td></td></tr><tr><td>Reviews</td><td>Unlimited</td><td>Unlimited</td><td>Unlimited</td><td>Unlimited</td><td></td><td></td><td></td><td></td></tr><tr><td>Action Logs</td><td>Unlimited</td><td>Unlimited</td><td>Unlimited</td><td>Unlimited</td><td></td><td></td><td></td><td></td></tr><tr><td>Custom ID Actions</td><td>1 Action</td><td>2 Actions</td><td>3 Actions</td><td>4 Actions</td><td></td><td></td><td></td><td></td></tr></tbody></table>


# /user

The /user global commands contains various tools that can help manage the users in your server.

{% hint style="info" %}
**Good to know:** Anytime you see a word surrounded with <> this signifies this is a parameter for the command itself
{% endhint %}

## /user info \<user>

This command can be used to gather additional information about a user. This can be useful for getting to know and verifying your members.

Parameters

| Parameter Name | Type         | Optional |
| -------------- | ------------ | -------- |
| user           | Discord User | no       |

![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FelUEseNQHwemIyefcWLu%2FScreen%20Shot%202022-08-01%20at%207.39.31%20PM.png?alt=media\&token=b81ccf00-7050-459e-9bf9-e06bccf6e3c2)


# /ticket

The /ticket global commands are used to interface with your support tickets

{% hint style="info" %}
This global command has no functionality if you have no configured a support ticket container for your server. Support for creating a new ticket container through a command is not yet available
{% endhint %}

{% hint style="info" %}
If you are looking for information on how to configure support tickets please use the link below
{% endhint %}

{% content-ref url="/pages/dDNmEvKmJuFEzLcp9o7Z" %}
[Support Panels (Tickets)](/features/support-panels-tickets)
{% endcontent-ref %}

### /ticket close

Must be executed in the channel that a ticket has been created in.

This command will close the ticket for the channel that it is executed in.

This command has no parameters.

### /ticket open

Must be executed in the channel for a ticket that has been closed.

Only used when you have "Channel for Closed Tickets" selected for the ticket container used to create the ticket. This command will reopen a closed ticket and add the user back to the ticket as well as update the status.

This command has no parameters.

### /ticket claim

Must be executed in the channel that a ticket has been created in.

The ticket container must have claiming configured. There is a switch in the support ticket feature area with this.

This will mark the command executor as the user which will handle this ticket.

This will remove all other users from the ticket that do not have administrator permissions.

This command has no parameters.

### /ticket add-user \<user>

Must be executed in the channel that a ticket has been created in.

This will add the given user to the ticket allowing them to have access to the channel and send messages.

| Parameter Name | Type         | Optional |
| -------------- | ------------ | -------- |
| user           | Discord User | no       |

### /ticket remove-user \<user>

Must be executed in the channel that a ticket has been created in.

This will remove the given user from the ticket. They will no longer be able to view this ticket channel.

| Parameter Name | Type         | Optional |
| -------------- | ------------ | -------- |
| user           | Discord User | no       |

### /ticket transcript

Must be executed in the channel that a ticket has been created in.

Manually generates a transcript with the current channel messages. This process is automated once a ticket has been deleted or closed but this allows you to manually capture this information should you want to

This command has no parameters.


# /payment

Create payments for your user to complete.

{% hint style="info" %}
Currently we only support Coinbase Commerce for Crypto Payments.
{% endhint %}

### /payment create \<processor> \<amount> \<description>

Creates a new hosted url for a payment using the given parameters. Each processor requires configuration under the Payments area of the admin panel

| Parameter Name | Type   | Optional | Description                                                                                                                         |
| -------------- | ------ | -------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| processor      | Select | no       | Prefilled list of available processors supported by Betsy. Each type requires configuration in the Payments area of the admin panel |
| amount         | Number | no       | The amount for the payment. In USD                                                                                                  |
| description    | String | no       | The description for the payment                                                                                                     |


# /giveaway

WORK IN PROGRESS

## Commands

### /giveaway end \<name>

This will end the given giveaway by the provided name.

### /giveaway entries \<name>

Displays a message with all the participants for the giveaway by the provided name.


# /channel

Various commands to help manage the channels in your server

### Commands

#### /channel move

Use this command to move channels with a command instead of using the notoriously buggy click & drag method

#### /channel rename

Rename a channel quickly and efficiently

#### `/channel backup`

Creates a channel backup in the channel it was executed in


# /ai

A command for asking ChatGPT Questions

{% hint style="info" %}
This feature requires a Bronze subscription or higher
{% endhint %}


# /review

A global command used for utilizing the review feature

### /review create

This command will start the review process. This process allows your users to review a user, the server, or one of your custom review categories.


# /github

Interface with Github directly through Betsy Bot on Discord!

{% hint style="warning" %}
Requires setting up your Github Organization settings and adding the Betsy Bot Github Application to your server. Follow the guide <https://docs.betsybot.xyz/extras/github-integration>
{% endhint %}

### /github issue subscribe {repo} {issue-id}

Subscribe the channel executed in to updates for the &#x20;

### /github issue unsubscribe {repo} {issue-id}

Unsubscribes the channel from issue updates.

### /github issue create {repo} {title} {description}

Creates a new github issue in your organization for the specified repo


# /key-value

A command for interfacing with the Key Value storage system Betsy offers

### &#x20;- /key-value add \<category> \<key> \<value>

Adds a new key value storage row for the specific category. Does not combine two values but rather creates a whole new row. Cannot be used if the given key already exists.

### - /key-value get \<category> \<key>

Fetches the value that is stored in the given category with the given key.


# Settings

Manage various global settings for your server using your custom bot with Betsy


# Auto Roles

Auto Roles are the roles that are automatically assigned to you when you join a server.

{% hint style="warning" %}
Any roles selected in this feature must be below the "Betsy" role. This is how Discord works. You can only provide roles for roles that are under your highest role in the role list
{% endhint %}

**Auto Roles**

1. You will have a drop-down list where you can select the roles you want to give to people who join your server\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2F73AVJnsEflfL1OJGOl0o%2Fimage.png?alt=media\&token=05c4a696-c1e0-4a26-a96b-727c3301d67f)
2. When you have selected them they will look like this:\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FY2qUYEqMuTo2X1agwc3O%2Fimage.png?alt=media\&token=8999068a-a2e8-459f-986c-12ae63701957)
3. Click the "save" button to save the changes\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FgdRpTyg7LfJB88y10Qp0%2Fimage.png?alt=media\&token=75ff4233-e49b-49f4-85a9-f4c1fd5c663c)
4. A success toast will be shown\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FAeoVxwy7GLNzebl5Zfwn%2Fimage.png?alt=media\&token=58f2ec6d-c6ec-4db6-bfbd-98b33f33bbcf)
5. When joining your server the user will have the roles automatically assigned.\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2Fn0X8qdtRJWF3wzIurxnz%2Fimage.png?alt=media\&token=63475902-84c9-46cb-90c5-3a192877feee)


# Setting up your custom bot

Instructions for setting up your own custom bot through the betzy dashboard.

{% hint style="info" %}
This feature requires an active [Gold Subscription](https://discord.com/channels/943258522643230740/shop). Explore unlimited possibilities with our Platinum Subscription! 🌟 With exclusive access to advanced features, your creativity will know no bounds. Join our Discord server for support and discover all you can achieve with Betsy! 🚀🌈
{% endhint %}

<figure><img src="https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FZodqK1AsejJliwTGWcSm%2Fimage.png?alt=media&amp;token=e0ffd9e2-6f05-429d-9ca8-f44ad52f25f7" alt=""><figcaption></figcaption></figure>

### Create your discord application

1. Navigate to[ discord applications ](https://discord.com/developers/applications)
2. Click "New Application" in the top left.\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2Fmk56POcZ1ixJDigAn9q6%2Fimage.png?alt=media\&token=5c614f7f-001f-405f-9d03-545cb6c2c0fe)<br>
3. Navigate to the "Bot" page on the left menu.\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FSreKXtSAXGVz9J9M2bn0%2Fimage.png?alt=media\&token=5c1711c3-a873-477d-995d-646bd6683136)
4. If you do not have a bot create, create one now.
5. Enable the following Intents
   1. Server Members Intent
   2. Message Content Intent\
      \
      ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2Fjjvb7s6hMWU2FU6HBkWb%2Fimage.png?alt=media\&token=4fc2768d-1c22-483f-86d5-9c32bec47a68)
6. Navigate back to the General Information Tab. You will need the information here in the settings section for your custom bot on the Betsy Admin Panel\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FPLzm2VM9eWv4XyJIJwc9%2Fimage.png?alt=media\&token=ccafc145-0de6-4923-8ee5-e56bd3482fc6)
7.

### Invite your bot to your server

1. Navigate to[ discord applications ](https://discord.com/developers/applications)
2. Navigate to Oauth2 -> URL Generator
3. Tick on the `bot` and the `application.commands` scope.
4. Open up the generated URL to invite your bot

### Enter your discord application settings into the Betsy dashboard

1. Navigate to the "Settings" page for the server you would like to setup. E.g: \
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2F3udAwCQYKV6kUYbqZsev%2Fimage.png?alt=media\&token=9371341c-304f-4e2f-9048-a14a6e848579)
2. In the "Application Id" setting copy the "Application Id" (2) value from your "General Information" tab for your Discord Application (1)\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FrB1WWUNgoyruw32cHYL8%2Fimage.png?alt=media\&token=ae99af2b-4b2c-4e04-b467-7c37238ba1f1)\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FzxwXORTZaXalvnH7R7dq%2Fimage.png?alt=media\&token=32d4d3a0-eca3-4e1a-901f-9b59030e23cf)<br>
3. Navigate to the "Bot" page for your discord application (1). Click the "Reset token" button under the Token area for the bot (2). \
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FvWwcS3wWiXVgNgxL6Juu%2Fimage.png?alt=media\&token=cb4e6920-44b0-4109-883c-d3c41d473293)<br>
4. A pop-up window will be displayed, click "yes"\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FVF6lCCWnwmAG1HrRlise%2Fimage.png?alt=media\&token=1e553613-531d-4644-84cb-1833d3b29b0f)
5. Copy this value. \
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2F7gm3scE9CkhU7Oix2AyN%2Fimage.png?alt=media\&token=027c85d8-ef62-40d9-96e2-be1d544336aa)
6. Return to betzy's dashboard and paste that value into the Bot Token Area\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FpktAS1RLixJ2H3YIL0U4%2Fimage.png?alt=media\&token=b8c38ce5-3760-4e60-b4f0-96c5f1c312ea)<br>
7. (Optional) Customize the status by entering your status on the settings page.\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2Fh36Gx9ono9hGSxBsgykJ%2Fimage.png?alt=media\&token=97224cd7-5147-47dc-b88b-fb160c3b888d)
8. Click "save"\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FSI7Js22YISrkIVOldsuJ%2Fimage.png?alt=media\&token=98729d63-e52a-482f-8017-248251a3b0f0)

### Update your Discord Application Settings

#### Update Webhook URL

In order to receive webhook events for your custom bot you must update the "INTERACTIONS ENDPOINT URL" in the Discord Application General Information Page.

Enter the following URL "<https://api.betsybot.xyz/Webhook/DiscordInteraction?key=>{publicKey}"

You must replace {publicKey} with your application public key. Which can be found just above the Interactions Endpoint URL Input.

For example if your public key is "def077d8420fb37d33f83b835da308ded92fb61a9d9ccb443769bba31fc081ad" the url will look like <https://api.betsybot.xyz/Webhook/DiscordInteraction?key=>def077d8420fb37d33f83b835da308ded92fb61a9d9ccb443769bba31fc081ad

If you successfully added the URL it will prompt you as such. It will fail to save if you've done this incorrectly.


# Global command management

Manage various global commands for your server through the betzy dashboard

{% hint style="info" %}
This feature requires an active Gold[ Subscription](https://discord.com/channels/943258522643230740/shop). Explore unlimited possibilities with our Platinum Subscription! 🌟 With exclusive access to advanced features, your creativity will know no bounds. Join our Discord server for support and discover all you can achieve with Platinum! #DiscoverPlatinum 🚀🌈
{% endhint %}

<figure><img src="https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FSCcosvi9wqI7CTRWWVmk%2Fimage.png?alt=media&amp;token=64ef5264-77e1-44d2-baf8-3d38b137d157" alt=""><figcaption></figcaption></figure>

**Register Global commands**

1. In the Betsy dashboard go to the "settings" option\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2F6AGtclpHj8hzi5QE4DdT%2Fimage.png?alt=media\&token=e71d1060-53a8-4e70-b777-d04cda81f62a)
2. Enter "application id", "bot token"  [(as specified here)](/features/settings/setting-up-your-custom-bot).
3. Click on the toggle\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FgzOdueSkpjqEvI0rp0Xw%2Fimage.png?alt=media\&token=0d17f878-0eb8-459b-889b-faaa37461903)
4. Click on the "register global commands" button\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2Fo5v3VcbqhUOBCNanFsgY%2Fimage.png?alt=media\&token=f461737c-f3e2-4567-be64-b9ef6d4864f3)
5. A screen like this will be displayed, where you will have different buttons to register commands:\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FxgDxnK2zOYViogsWDiUj%2Fimage.png?alt=media\&token=798b251d-d020-4209-8106-c41034eb4872)
6. Clicking each button will register the command on the discord server\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FMfvtd8Lu9D5XKE6zBXzj%2Fimage.png?alt=media\&token=250afcf2-c41c-4783-8ac5-c45b7ed9fc9d)
7. On the server it will look like this:\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FRh8vfp74jCWq715I25Ab%2Fimage.png?alt=media\&token=31faa475-ce5d-46a8-af5a-da0fa18b1222)
8. there you can enter your message\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2F4bkQE6PGlFcb3GI658JF%2Fimage.png?alt=media\&token=38a6e92b-b1ef-488a-9b00-db80305a5bc3)

Repeat this for each of the commands you would like on your server.


# Update configuration owner

Allows you to change the owner's configuration by entering the new discord id

Update configuration owner

1. In betsy's dashboard go to the "settings" option
2. Enter the new discord id in this field:\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2Ff44nozRCtjSUg6VolXTD%2Fimage.png?alt=media\&token=0f868bdb-92a2-4d06-8eee-f44558966140)
3. Click "save" button\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FPC3bIJVrBHTuGO5cQPjl%2Fimage.png?alt=media\&token=2244b9ed-033d-4537-ad49-c8fe8b7e265a)
4. Go to the dashboard in the menu and see the server owner and configuration\
   \
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FOuhGD5UAIKxzmIGbWqR9%2Fimage.png?alt=media\&token=130d3ef1-8f5d-4643-891b-bd482cd0c599)
5. Important: you need to login to the panel at least once with the new account in order to migrate it over.\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FQykpglECs1yDqsbGByHo%2Fimage.png?alt=media\&token=b9cdc2fa-d783-4623-85b6-626c2da20cd9)


# Support Panels (Tickets)

Create a support ticket system directly in your server

{% hint style="info" %} <mark style="color:blue;">**We are excited to introduce our new support ticket tracking system! 🚀🎟️**</mark><br>

✨ With the 'Create Ticket' component, you can open tickets in your selected category.\
&#x20;It's easy and efficient!

🔒 When tickets are closed, the entire chat history is saved for future reference.\
&#x20;No more losing important information!&#x20;

📢 Plus, the ticket creation message will always notify the user who created it, ensuring their attention is directed towards the solution!&#x20;

📝 If you don't customize the content for the Ticket Container or the Ticket Created Message, don't worry, we have a default design ready for you! <br>

**We're thrilled to see how this new feature enhances your experience with us! 🌟💬**
{% endhint %}

### Explanation of Settings

<table><thead><tr><th width="263">Setting</th><th>Explanation</th></tr></thead><tbody><tr><td>DM Transcript on Close</td><td>When on the transcript is DM'd to the individual that opened the ticket when the ticket is closed</td></tr><tr><td>Allow Claiming</td><td>When on the <code>/ticket claim</code> option is available and a button is shown on the ticket that allows someone to claim the ticket.</td></tr><tr><td>Public Transcript</td><td>When on the transcript link won't require a login to verify permission to view the ticket</td></tr><tr><td>Auto Increment Number</td><td>When on the created channel name will include the # of the ticket </td></tr><tr><td>Hide Name</td><td>When on the created channel name will not include the name of the user</td></tr><tr><td>Prompt Close Reason</td><td>When on , when the ticket is closed a modal will pop up asking to provide the reasoning for closing</td></tr><tr><td>Channel for Audits</td><td>The channel where various audits about support ticket activity will be logged to</td></tr><tr><td>Active Audits</td><td>The active audits for the support ticket panel</td></tr><tr><td>Identifier</td><td>This is an internal identifier. This is not surfaced to the user and is only used for keeping track of your support tickets in the Betsy Admin Panel. This is also used for Custom ID Interactions</td></tr><tr><td>Category</td><td>The Discord Category you would like new tickets to be opened to</td></tr><tr><td>Channel for Message</td><td>The Discord Message you create for the Panel will be posted to this selected channel.</td></tr><tr><td>Authorized Roles</td><td>These are the roles that are able to view the opened ticket channels.</td></tr><tr><td>Category for Closed Tickets</td><td>This is if you would like ticket channels to not be deleted when closed but instead get moved to a closed category</td></tr><tr><td>Channel Name Prefix</td><td>This allows you to set custom text before the created channel name</td></tr><tr><td>Max Open Per Person</td><td>This controls how many active open tickets a single user can have</td></tr><tr><td>Auto Close After</td><td>When this has a value entered when the ticket is closed it will instead prompt a message that the ticket is marked to auto close and the owner of the ticket has the ability to confirm the closure. The ticket will automatically be closed after the provided auto close after time in minutes if no buttons are clicked.</td></tr><tr><td>Form to Present on Opening</td><td>When this has a value a form will be presneted to the user that clicked the opene ticket button to enter additional information before the ticket is opened</td></tr><tr><td>Closed Response Text</td><td>When a ticket is closed this is the message sent in the interaction response</td></tr><tr><td>Form Data Text</td><td>This is the text at the top of the form data when you have a form selected to present on opening</td></tr><tr><td>Prefix Roles</td><td>These are roles that you would like to have a custom prefix applied to the channel name that is created when a ticket is opened.</td></tr></tbody></table>


# Create Support Panel

Create a support ticket in your server using betsy.

### <mark style="color:purple;">Create support panel (only required fields)</mark>

1. Click on the side menu, specifically on the "support panels" option (1), an interface will be displayed where you can see the "create" button (2)\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FWY4yFmvLBxU88FNDKcGy%2Fimage.png?alt=media\&token=abf28ded-bcf3-4f39-9de1-8ac47ceb3225)
2. A screen will be displayed with the settings to create a new support ticket message.\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FF8c9PLBzEJbliEX9wBYw%2Fimage.png?alt=media\&token=46fa438a-caf1-44ae-a4f7-972dc2b40114)
3. To create this configuration there are three fields that will be required, among them:\
   \
   \- Identifier\
   \- Category\
   \- Channel for Message\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FmJgxiKkaGcPeK1cj2ep5%2Fimage.png?alt=media\&token=91ba9974-51c2-4f87-910a-301af074fd04)
4. "Identifier" drop-down list:\
   Used to help you identify support tickets on the dashboard.\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2Fr3ApO0pGmyC3SRknB6PK%2Fimage.png?alt=media\&token=bb7d77b8-2b52-42f4-b2c7-3d6dbb674571)<br>
5. "Category" drop-down list:

   This is the category on the server that is used when creating a new ticket. All input channels will appear in the category you choose here (3).\
   \
   Important: You must have previously created your category in Discord (1) (2), E.g:\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FCgyTHXskwyFUnSI0ZqyU%2Fimage.png?alt=media\&token=acda0cf3-377e-4f9b-b2d2-79aef27a62c4)<br>
6. &#x20;"Channel for Message" drop-down list:\
   This channel is designated for hosting the message with the ticket container. By clicking the button linked to this message, users can initiate a ticket creation process.\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FunnLLFSgImgHXZ9CAjCa%2Fimage.png?alt=media\&token=d097948f-fe76-4a46-99c8-3d912d3b5dc6)
7. Click on the "save" button and you will automatically see the message in discord\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2Fg0UeJi54YnI1qtdKdzaY%2Fimage.png?alt=media\&token=d6831b08-c434-463e-95f6-f6efb2473c48)\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FEJbMuiwazoC4yVMUpAFc%2Fimage.png?alt=media\&token=7fc10850-2943-466d-bea3-7176cb040957)<br>
8. Clicking the "create a support ticket" button will open a new thread for you\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FrZzWe3PMh4LH5ZlrFIz0%2Fcreate%20ticket.gif?alt=media\&token=f9bffc7d-c4d7-4246-818b-6c55714caebc)

### <mark style="color:purple;">Create support panel (other settings)</mark>

#### 1. **Transcript:** Once the toggle is enabled, a summary will be creator to the ticket initiator after the ticket is resolved or the /ticket transcript command is used.   For transcriptions you will have two options which are:  a) Transcriptions in DM:&#x20;

* To do this you must go to the betsy dashboard and when you are creating your support ticket click on the toggle "Dm transcribed on close?" and enable it.\
  \
  ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FWvHGVcLe7JhuKSyNdzVN%2Fimage.png?alt=media\&token=4809b1f5-bda6-4754-8a56-f813a3e62023)

&#x20;      It will be displayed as follows (discord):

* Create a ticket\
  \
  ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FeSVqHPMjQxl39GK5qu6H%2Fimage.png?alt=media\&token=1e62b3db-103a-48c9-bd3c-e26cd920439b)\
  \
  ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FxwJQEBu6AbV01JJSFkNv%2Fimage.png?alt=media\&token=c683b717-62f6-46bc-b960-2dda0f453b3c)
* If the ticket creator does not write any message then no transcript will be sent, but if the ticket creator writes at least one message then the transcript will be sent to the DM\
  \
  ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FIUBVtZn3vBAOWeKUspbW%2Fimage.png?alt=media\&token=dd09400c-87e9-4ecb-952e-01709fc7b00e)\
  \
  ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FoNSXlNC0fnREhe1PAekH%2Fimage.png?alt=media\&token=3ba2ef4b-6eda-4dff-a3ae-ce21ba7abf11)<br>
* &#x20;Clicking on the link in the transcript will take you to another page where you can see the information:\
  \
  ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FoBoDm9NcGldB60fm5loz%2Fimage.png?alt=media\&token=1280c112-cad9-4aed-936e-28e9651b1896)

b) Public transcripts:

* Once the option is enabled, a public summary will be created in a ticket channel after it is resolved or the /ticket transcribed command is used.\
  \
  ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2F6rfyihQVagcs498ZfVwx%2Fimage.png?alt=media\&token=6c892d56-523d-4857-ad7b-9167b5502d4b)
* Create a ticket\
  \
  ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FeSVqHPMjQxl39GK5qu6H%2Fimage.png?alt=media\&token=1e62b3db-103a-48c9-bd3c-e26cd920439b)\
  \
  ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FxwJQEBu6AbV01JJSFkNv%2Fimage.png?alt=media\&token=c683b717-62f6-46bc-b960-2dda0f453b3c)
* Write a message on the ticket and close it.\
  \
  ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FRPJrxJY7lSvwgxuh0FOS%2Fimage.png?alt=media\&token=2ffd33f2-c94d-4bc4-8f52-18bac90051ca)<br>
* An embed will be sent to the channel where you can view a link with the transcription\
  \
  ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2Fyz0pqtX5V6NfvWG8nTjJ%2Fimage.png?alt=media\&token=eddfc846-f5ba-4c81-9ef0-f9f8d47da3de)
* Clicking on the link in the transcript will take you to another page where you can see the information:\
  \
  ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FZsINb8lHiZ3Ncn5XLi72%2Fimage.png?alt=media\&token=9f7efda7-e2ef-4c1c-bfe8-e4626d202482)

2. **Auto increment number:**\
   Once the option is enabled, an increment will be added to the ticket title (discord).\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FetFB2KJ1lEHBgwD6TEhF%2Fimage.png?alt=media\&token=34647acb-6bf4-4d10-9199-86159462f3f6)\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2Fd7sic0uHcnquz8PZjD4c%2Fimage.png?alt=media\&token=5c4dbf7f-7f30-45de-ac49-30a6aa1d14c9)
3. **Hide name:**\
   Once the option is enabled, the user's name will not be displayed in the ticket they open\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2Fq6IZ37COKmsUPXzG5KYe%2Fimage.png?alt=media\&token=61e29167-7e6f-42b9-b707-12704482b93b)\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FwrjDfqbcj8OJniP8UXKx%2Fimage.png?alt=media\&token=74637293-b828-4944-960f-a9f1ae9bf4cf)
4. **Allow claiming:** \
   Once the option is enabled, when creating a ticket the button to claim will be displayed\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FcxOKNWEvty7GYeDUjUbm%2Fimage.png?alt=media\&token=2605c492-d146-4b08-8bc4-f18fff6c9c35)\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FS8YKrt4PQDKoBiUL8BpC%2Fimage.png?alt=media\&token=02258781-33c0-4515-9c02-3f921870468e)<br>


# Edit Support Panel

Once the configuration for a ticket is created you can edit/view this

Edit support panel

Click on the side menu, specifically on the "support panels" option (1), an interface will be displayed with all your records (2)\
\
![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FDpx3m2vOuFXVMCS2dVND%2Fimage.png?alt=media\&token=b5e1a6a4-1d9b-4053-baf3-321b1ceccdad)<br>

1. Click on the "view" button\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FjX18sFWiJcu5fx7YmmYV%2Fimage.png?alt=media\&token=8fe45722-4291-4e40-89f9-1fb3f492f65a)<br>
2. You can edit any option within the ticket configuration, in any tab "settings, panel message, initial message"\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FdaoUZVwAY6dNSahjM2dR%2Fimage.png?alt=media\&token=742e4f5a-12bc-4554-8f42-568128a70c9c)
3. As an example we are editing the text of the embed message, which you can preview in the same betsy dashboard (2)\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FMd6StTwYJwoJfkF7GBj1%2Fimage.png?alt=media\&token=6e342b1e-253a-4d24-a44e-5aec32fdcc13)
4. Once you have finished the changes, click the "save" button\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2F1Tt0eGkvKVomFmYLkK9y%2Fimage.png?alt=media\&token=9fcd6951-dba2-4180-b0cd-7a68fed0fa22)
5. If the changes were made successfully a toast success message will be displayed.\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FZLyDXl4FbQ3Bz3kCpDWj%2Fimage.png?alt=media\&token=9fc039b3-e870-422b-b974-bc3b1b3f25b6)


# Delete a Support Panel

Once the configuration for a ticket is created you can delete this

Delete a support panel

1. Click on the side menu, specifically on the "support panels" option (1), an interface will be displayed with all your records (2)\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2F2K3mMLmpzv0yYWTE5fZC%2Fimage.png?alt=media\&token=f9172f5c-4110-4ddc-bc53-268d44abeca5)
2. Click on the "view" button\
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FmMS7tyC3ltKLnVbKfkHe%2Fimage.png?alt=media\&token=49ea493d-a2a0-4a20-843c-bdbb07af312e)
3. Click the "delete" button\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2F7cyEgLyiM3idzmOmbReu%2Fimage.png?alt=media\&token=ee31b69e-3b99-4df0-acdd-d1489aae3365)
4. A pop-up window will be displayed, click on the “confirm” button\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2F283JnGHzGzJhRFdJ3sVl%2Fimage.png?alt=media\&token=675cdec9-27ba-4766-b573-b15ce15b69f3)
5. Notice the success message and that the log is no longer displayed\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FWo0u4gF1XvlUIx7tl8WF%2Fimage.png?alt=media\&token=78f378cd-ce45-4bf2-a277-e6cc79cdad5f)


# Copy a Support Panel

Once the configuration for a ticket is created you can copy this

Copy a support panel

1. Click on the side menu, specifically on the "support panels" option (1), an interface will be displayed with all your records (2)\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2F5DLhkXgtQ138iobna4f9%2Fimage.png?alt=media\&token=ee1e17ef-0e79-4a94-8a72-dac1777090a8)
2. Click on the "view" button\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FfrofWceFjcqnp2VXzQTp%2Fimage.png?alt=media\&token=e57f39be-343b-4851-a0ef-250d8eb81d07)
3. Click the "copy" button\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2F6b4bUUKLyUgg0OQVEThZ%2Fimage.png?alt=media\&token=98d6683f-4653-4426-bfd7-d3d22a015877)
4. An information message will be displayed.\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2F6CEVFdJO5h6QxLrdSlRL%2Fimage.png?alt=media\&token=925fa5a4-9706-449e-b7bf-27ec5714966f)<br>
5. Click the "save" button for the configuration to be cloned\
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FxPCH1S47XtL2n1mWUVAa%2Fimage.png?alt=media\&token=3ed6f897-32d2-4214-b1fe-bee21351be3f)
6. In the interface you can see that your configuration has been cloned correctly\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FWd63YfKq9sAb9YIBm6bp%2Fimage.png?alt=media\&token=88b43a8d-48a3-4c52-8fb2-727ab937d0c5)<br>


# Custom Implementations

Learn more about how to open tickets in a more customizable fashion.

### Open Tickets with Menu Components

{% embed url="<https://t.gyazo.com/teams/chicksgold/9bb93f9fc1c5617bb71f7fbca6c6b48c.mp4>" %}
How it looks when creating a ticket with a menu select
{% endembed %}

#### How to Configure

{% hint style="info" %}
You MUST have more than 1 support panel created and configured before you can use this feature. The way this works is you are opening up different panels, which are your different types. This gives you full control over what happens when each of these types are opened
{% endhint %}

{% hint style="info" %}
You must have a support ticket panel for each change in "functionality" you want with the different "types" of message you want to open. For example if you want to open a ticket the same exact way but have a different starting message you need to clone your support panel and change the Initial Message. This gives you FULL control over the differences in which "type" of ticket you are opening.
{% endhint %}

For this example we will use the Tracked Message Feature to house the message with the Menu Select.

First and foremost you must have the Custom Id for the menu select be "MenuCreateTicket". This will tell Betsy's API to create a ticket when something with this menu select happens.

For the options the "Item Value" for the option MUST match the Identifier of the the Support Ticket Panel you would like to open.

<figure><img src="https://t.gyazo.com/teams/chicksgold/058e97adbff6dd9ff0e4e41627a7885a.png" alt=""><figcaption><p>Showing the options matching the Identify of the Support Ticket Container</p></figcaption></figure>

<figure><img src="https://t.gyazo.com/teams/chicksgold/2d7f099d4aa8e5ca7fe197fa611356a8.png" alt=""><figcaption><p>Showing the matching identifiers for the support ticket container</p></figcaption></figure>

### Open Tickets with Button Components

#### How to Configure

For this example we will use the Tracked Message Feature to house the message with the Buttons.

The way that you can use buttons is by utilizing the Custom ID Action "ButtonCreateTicket". Because buttons don't come from a single source, unlike menus, you will need to use the ":" delimiter in the custom ID and append the identifier to the Button's Custom ID. For example if you have a ticket container with the identifier of "test" your custom ID for the button would look like "ButtonCreateTicket:test"

<figure><img src="https://i.gyazo.com/64a7b99e1d75d884a23e942c6f9b85d6.png" alt=""><figcaption><p>The components section for a Tracked Message used to create tickets through buttons</p></figcaption></figure>

You do not need to have the ticket container active in order to create a ticket through this method.


# Giveaways

Create giveaways  that automatically select a winner.

{% hint style="info" %} <mark style="color:blue;">**Are you ready to take your giveaways to the next level? ✨🎁**</mark>

Introducing the Automatic Giveaway Function! 🤖🎊

With this amazing tool, you can:

1. **Easily create giveaways**: Set up your giveaway with just a few clicks. 🖱️🎟️&#x20;
2. **Automatic winner selection**: Our system will fairly and automatically choose the winner.
3. **Public announcement of winner**: At the end of the giveaway, the winner's name will be automatically announced! 📢🌟🏆.

Perfect for:

* Online communities 🌐&#x20;
* Marketing events 📊
* Any occasion that calls for a giveaway! 🎈<br>

**Transform your giveaways today with our automatic giveaway function! 🌈💫**\
\
&#x20;For more information, be sure to visit the following sections! 👀📚
{% endhint %}


# Create giveaways

Giveaways automatically select a winner and post that winner at the end of the giveaway.

## Create giveaways

1. In betsy's dashboard click on the "giveaways" option in the side menu.\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FjnWqNOvOVJts58vHx7AE%2Fimage.png?alt=media\&token=49383fd0-1d7d-4171-beaf-1b2c63485e3a)<br>
2. Click the "create" button.\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FwDI2lJsSZCHYodkuW824%2Fimage.png?alt=media\&token=62815f1c-28c8-43c9-8cca-c3b1d820adb2)
3. The container message will only be sent if this is on.\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2Fth88LfuUqPckEn4ONNNt%2Fimage.png?alt=media\&token=60c8c335-3e8a-43a0-9e70-17732d67da81)
4. The following fields are required for the giveaway:\
   \- Name\
   \- Amount of Winners\
   \- Description of prize\
   \- End date time\
   \- Channel\
   \
   The **name** field: is used for the global commands to interact with the giveaway.\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FK7f7UgoR4qGLDBt7JIRu%2Fimage.png?alt=media\&token=a8b03e39-a125-439f-8cfe-b6f4a7723ecf)\
   \
   **Amount of winners**: is the number of winners you would like for this giveaway.\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FOa8UpKMmcOlfxVdcpKaU%2Fimage.png?alt=media\&token=2a163e6e-48d2-4144-9142-4e173c2ecb90)\
   \
   **Description of prize:** A description of the prize to be won to provide information to clients/team.\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FskB2O6UwMFkYfUFCEFIQ%2Fimage.png?alt=media\&token=427bff98-d7dc-4045-a0f3-ff9dd168300f)\
   \
   **End date time**: Select the end date for your giveaway. If no end date is specified it must be manually ended with the "/giveaway end" command.\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FcovyOz7Vu1mm51ZmgDMO%2Fimage.png?alt=media\&token=32816a1e-3a6e-4241-b752-a62f4c324f3e)\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FqubruCwVg9NeeXL2QNbM%2Fimage.png?alt=media\&token=5af94d34-c46a-4609-a74d-8005e4008e36)\
   \
   **Channel**: The channel that the giveaway will be posted to. This is for the container and winning message.\
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FFMFyBgHPpn1vy5ofAepE%2Fimage.png?alt=media\&token=9370b338-13d8-492c-b26a-a78653f1b037)
5. Click on the "next" button.\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2F9rOpeHqBkgJAKImtAp5o%2Fimage.png?alt=media\&token=daff1e95-8d1a-4af5-b472-df30d123e790)
6. In the roles tab you will have the possibility to select the options shown in the drop-down list, these options come directly from Discord.\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2F47T6F6qKaWSx7accY5Cm%2Fimage.png?alt=media\&token=e0d3bf62-9ef8-495b-b348-7d14462624ab)
7. Click on the "next" button.\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FrLTNjgeHaF8qgFaBBEuN%2Fimage.png?alt=media\&token=ed9623b1-0872-4d73-8fd4-769745d7e0d9)
8. In the "embed" tab you can add any message before post your giveaway, you can also add another embed.\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2F8LMdKMGiIXLwNgYYYT3E%2Fimage.png?alt=media\&token=635918b1-f821-4618-8494-c4b4c8f7ead9)
9. Click on the "next" button\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FObJuuvJigjyoWbOTJWzy%2Fimage.png?alt=media\&token=7417145f-174f-4ac2-90cd-a5931d735ee7)
10. Once the giveaway has come to an end, an embed will be post with the winner, you can configure the message and add another embed in this section\
    \
    ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2F28ljU9W1KaXjQ0IhqHUZ%2Fimage.png?alt=media\&token=55837c9b-272d-4bcd-bbf4-903d48546f5d)
11. click the "save" button\
    \
    ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FVXx5s5bycdaRbpl8H21W%2Fimage.png?alt=media\&token=9726b1c5-f62d-4f06-8b31-183bc3439a23)
12. A message will be displayed\
    \
    ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2F9sfLXxj9tJHtgZlsqrqX%2Fimage.png?alt=media\&token=500c907d-ac17-43ef-a4d2-3d9b90b0408e)
13. In discord this is what it looks like:\
    \
    ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FdIog8g7CqntuB0BZhLZB%2Fimage.png?alt=media\&token=648dab34-2f26-48b9-b351-3b29bfcc504f)


# Edit giveaways

Once the configuration for a giveaway is created you can edit/view this

1. In betsy's dashboard click on the "giveaways" option in the side menu.![](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FjnWqNOvOVJts58vHx7AE%2Fimage.png?alt=media\&token=49383fd0-1d7d-4171-beaf-1b2c63485e3a)<br>
2. Click on the "view" button\
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FfGZHOKObwTV8NThIaUUd%2Fimage.png?alt=media\&token=98f35938-b001-42e3-b7dc-401e7f6bd5d1)<br>
3. You can edit any option within the giveaway configuration, in any tab "settings, roles, container, winning message".\
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2Fo7EmfF5chCvF0FHfj14u%2Fimage.png?alt=media\&token=ad623d0c-78e3-4d1b-a3a3-91621f40bd80)<br>
4. As an example we are editing the text of the name and description\
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FR1sgtjXeDmNgD0rXAPi9%2Fimage.png?alt=media\&token=63cc3a0d-b3d0-4d03-8e32-a4ceb3daf5f4)<br>
5. Once you have finished the changes, click the "save" button, If the changes were made successfully a toast success message will be displayed\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FnuZu1Lau99HMLL6UobeE%2Fimage.png?alt=media\&token=c0789f31-a7de-4ff6-913b-1d4c5f9e0f8d)<br>
6. In discord your embed will be edited.\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FIPc9Avg5vyB9oNEOjzti%2Fimage.png?alt=media\&token=f5b9178a-5f7a-46bc-a3f4-9fc9b9b63a60)<br>


# Delete giveaways

Once the configuration for a giveaway is created you can delete this

Delete giveaway

1. Click on the side menu, specifically on the "giveaways" option (1), an interface will be displayed with all your records (2)\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FqV19S9HqleL06Nu66gB6%2Fimage.png?alt=media\&token=37448165-5dbb-4de9-bd2d-c6c9bf125208)
2. Click on the "view" button\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FqKqdogkC73fpOJ06nSWC%2Fimage.png?alt=media\&token=aeeb5a9c-b6b8-46b1-934e-bb05fa9e162e)
3. Click the "delete" button\
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FT0vcpo3NVCbGzunwc8cX%2Fimage.png?alt=media\&token=21c38db5-0db0-4d99-aff7-cea21210f941)
4. A pop-up window will be displayed, click on the “confirm” button\
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FCLJkrxw8EYZxSFPABLfl%2Fimage.png?alt=media\&token=f108f73d-f6b6-41bc-91a8-fff11129d959)
5. Notice the success message and that the log is no longer displayed\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2F1NTCgWCbdpuTbkBpFA1N%2Fimage.png?alt=media\&token=d37d2639-affa-4580-b0a1-9beeaf733de5)\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2F7pPhfzLOWP3vwgCYeHJK%2Fimage.png?alt=media\&token=66e01e12-6a86-4a90-a41f-21084f2b8155)


# Polls

Manage and track your polls.

{% hint style="info" %} <mark style="color:blue;">**Ready for something thrilling? Introducing**</mark><mark style="color:blue;">**&#x20;**</mark>*<mark style="color:blue;">**Polls**</mark>*<mark style="color:blue;">**! 📊✨**</mark>

How does it work? It's easy and fun! 🎉

1. Create a poll on the betsy's web panel. 🖥️
2. If the poll is active, it'll automatically be sent to your chosen channel. 📡
3. Users can start voting right away (discord)! 🗳️
4. See the submissions roll in on the web panel in real-time. 👀

**Time to make your voice heard! Get involved, cast your vote, and let's see the results together! 🙌🎯**

\#Polls #GetInvolved #Innovation 💬🌐
{% endhint %}


# Create a poll

Manage and track your polls.

## Create a poll

1. In betsy's dashboard click on the "poll" option in the side menu.\
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2F4jZZFXjj0457VIJXqOP2%2Fimage.png?alt=media\&token=c5216f4d-e5de-4a87-b206-19db6e0a2622)<br>
2. Click the "create" button.\
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FzDnHAnnHraaGdq9Cdb4x%2Fimage.png?alt=media\&token=0ce96e7b-359a-4b00-9b69-027c433aded9)<br>
3. The poll will only be sent if this is on\
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2Fh8hrL5ZNvzUbHd2oR7WH%2Fimage.png?alt=media\&token=5c15c3d4-fedb-482d-8712-df71127fdf1f)
4. The "identifier", "Channel" and "select menu label" fields are required\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FmfWXg4cMdH9GClqXtG7F%2Fimage.png?alt=media\&token=0d932db5-c038-451c-95f7-b5459ccf53cc)\
   \
   \- **Identifier**: This is the internal identifier used for you and your moderators to identify the poll by. This is not seen by users.\
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2Fdvi3nmXtBmT8KnDfNwyF%2Fimage.png?alt=media\&token=68ca40e4-ce96-4d6b-9d52-2ab384627ec8)\
   \
   \- **Channel**: The channel you would like to send the poll to\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FRSzfH8890Jb9tNNNF0nU%2Fimage.png?alt=media\&token=8198de7c-7efe-4e30-8aa0-78a85b93149e)<br>
5. Container tab: This is the discord message that will be used to house your poll. This is completely configurable.\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FEy0EeASCfdPxwWFfFIYr%2Fimage.png?alt=media\&token=d7fbb223-6e3e-4e01-98d5-aa0804e4253d)
6. **Options tab**: "Select menu label": Allows you to create a drop-down list of options that will be displayed in the poll embed\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FQVu0J6HajekuXbhCDnT7%2Fimage.png?alt=media\&token=8c440e53-d46a-4118-a19f-9e33e9b97c7a)\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FhuXh6QwOmFEb5O4sdf2m%2Fimage.png?alt=media\&token=9f52589b-51e6-490d-9c4c-ba7e92c78abe)
7. After clicking save the poll will be appear on discord and show a success message on betsy's dashboard. <br>


# Edit a poll

Once the configuration for a poll is created you can edit/view this

1. In betsy's dashboard click on the "poll" option in the side menu.\
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FGHAWnULOqcNfjVRyCqvP%2Fimage.png?alt=media\&token=f51c1ac5-dac8-4fb4-96c8-cf0e73af04eb)
2. Click on the "view" button\
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FKa1ufnJa3ArR38mXBmEs%2Fimage.png?alt=media\&token=52815d76-4a98-4b2e-87f3-6030e5b2aab0)
3. You can edit any option within the poll configuration, in any tab "settings, container, options".\
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FFgsKW0Yr3KrqcPULFCoS%2Fimage.png?alt=media\&token=c8749015-a716-42bd-8f12-ec69a3a6e1a6)
4. As an example we are editing the text of the identifier\
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2F1Y6AIwzpI3ONCzpZPN0Q%2Fimage.png?alt=media\&token=04ca3217-eaa1-443d-91d9-dbdd3c1b91c2)
5. Once you have finished the changes, click the "save" button, If the changes were made successfully a toast success message will be displayed\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2F0KbQPyoihZdKLdWS9jsr%2Fimage.png?alt=media\&token=f12f1b13-8af0-4312-9067-295ecb9b529f)\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FCVH6lFbUcjHMHm9B03ED%2Fimage.png?alt=media\&token=5f34251d-c527-4f34-bd7c-3a3c5ef850d1)


# Delete poll

Once the configuration for a poll is created you can delete this

## Delete poll

1. In betsy's dashboard click on the "poll" option in the side menu.\
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FGHAWnULOqcNfjVRyCqvP%2Fimage.png?alt=media\&token=f51c1ac5-dac8-4fb4-96c8-cf0e73af04eb)
2. Click on the "view" button\
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FNXi4j6TIt2u7Hbi49QmJ%2Fimage.png?alt=media\&token=71096b8a-6b76-49c0-b9a8-d6b105482796)
3. Click the "delete" button\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FRIPiNSENFwdsMMXJvsM4%2Fimage.png?alt=media\&token=c1f3259c-c04d-480d-9979-6215dd2a9ff1)
4. A pop-up window will be displayed, click on the “confirm” button\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2F2Z32HC7SXOCNdtojfjKj%2Fimage.png?alt=media\&token=52bf4848-1b65-4827-964f-d2ce12887442)
5. Notice the success message and that the log is no longer displayed\
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FYUqz4lC7vzZDJikOhB7V%2Fimage.png?alt=media\&token=2582791c-14a5-4d8d-9ae7-66211fbbcd48)<br>


# Thread Channels

{% hint style="info" %} <mark style="color:blue;">**🧵 Thread Channels 🧵**</mark>

Now, every time you post a message in a channel, a thread will be automatically created! This means more organization, focused discussions, and a cleaner way to follow conversations. 📈✨

Explore, engage and enjoy the simplicity and efficiency of this innovative function! 🎉💬
{% endhint %}

{% embed url="<https://t.gyazo.com/teams/chicksgold/ae81e86d782d58c899ef825a5e464e8e.mp4>" fullWidth="false" %}
Auto Thread Channel in Action
{% endembed %}


# Create Thread Channels

Manage your thread channel to help organize your server channels.

Create thread channels

1. In betsy's dashboard click on the "thread channels" option (1) in the side menu and click the "create" button (2).\
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FscboJ2mz05Iy2nLyfoNg%2Fimage.png?alt=media\&token=c0492253-a8b7-4821-af00-e3c39c5d9ef8)
2. "Thread channels" will only be created if this is activated.\
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FnOHmuD5X3oz8dEuswVyU%2Fimage.png?alt=media\&token=c0b4422f-aea7-4f9e-a081-dfdf69da0329)
3. From the drop-down list select the channel where you want the thread to be created automatically\
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2F9mE7wiZZCUqdJgXw8rs3%2Fimage.png?alt=media\&token=11fa1eb8-dafa-48cc-a0f4-76b6e7e25ddd)
4. You can write an initial message if you want or add an embed\
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FrrOMRfwVvmrtJo10LoQH%2Fimage.png?alt=media\&token=8b2ae0bf-6384-4887-b2c7-5d0ad6347acc)
5. Click the save button\
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2Fppf9Qe8YKjTzdXZM3eLe%2Fimage.png?alt=media\&token=d5bfbd24-7480-45f8-a92a-19ede3570f66)
6. Observe a toast message of success\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2F8myrAjfbAqYpbZMqdTS1%2Fimage.png?alt=media\&token=3737d36d-3183-4f40-b16e-8816ca1fd0f2)
7. Go to discord and in the channel you selected write a message, you will see that a thread will automatically be created\
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2F0tHcn97JuI2ffKHKu82o%2Fgif.gif?alt=media\&token=74b295ca-e1bf-44c9-9893-037a80dc141b)


# Edit Threads Channel

Once the configuration for a threads channel is created you can edit/view this

1. In betsy's dashboard click on the "threads channel" option in the side menu.\
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FReRh19wIgwUPbGhM5IgT%2Fimage.png?alt=media\&token=5a45cd7e-73f6-42d8-b462-14fe7764e07b)
2. Click on the "view" button\
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FyELkWnnlgXucUXLKDEPB%2Fimage.png?alt=media\&token=d93b9228-797d-4eb6-8997-939aad8a0f8f)
3. For example, edit the channel where your thread will be created from the drop-down list\
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2F7fwnrxwQHxlJzlr1BmHh%2Fimage.png?alt=media\&token=f609bbf5-0e37-4b11-897c-7753144693d2)
4. clic "save" button \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FF9rwdUVMABx0AphYkfoz%2Fimage.png?alt=media\&token=96a4aea7-0237-4ace-8945-3c5a37035b6e)


# Delete Thread Channels

Manage your thread channels and if you don't use them delete them.

1. click on the "view" button\
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2F3TtyF5i2OsMCklNuHhwT%2Fimage.png?alt=media\&token=709bab75-70a6-4e54-9664-032fb2bfbda8)
2. click on the "delete" button\
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FRr0bb5dbqVVFViC2wZ46%2Fimage.png?alt=media\&token=b562d19f-0d58-42da-97f3-deb19b4d49f6)
3. A pop-up window will be displayed, click on the “confirm” button\
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FLjqUhGRaCBe29GAyC0DQ%2Fimage.png?alt=media\&token=bd237e41-f6c2-4ee0-9ff6-e2e4bd460613)
4. Notice the success message and that the log is no longer displayed![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FVTJQpoMPfriZ98PCPKXn%2Fimage.png?alt=media\&token=8e4e261d-b8d5-4d04-b133-13a544fafd1e)<br>


# Disable a Thread Channel

1. To deactivate a channel thread you must click on the "deactivate" button\
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2F73Gh8ozcEOftuzt7pJKq%2Fimage.png?alt=media\&token=d60826e8-1ac4-4c6a-a21d-55ec0a200f2f)
2. A successful toast message will be displayed\
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FiMP68JNislBhgoRy7WqM%2Fimage.png?alt=media\&token=1c697a4e-09de-42b8-a811-d412b149647d)


# Send Message / Announcement

Send a message to channel, or send an announcement to several channels within the selected category.

{% hint style="info" %}
🚀 <mark style="color:blue;">**Get ready for the magic of messaging!**</mark> 🌟

***

We're about to explore an incredible tool that will transform the way we communicate.  Use the **Integrated message creator** to bring your words to life!<br>

🔥 **Be More Efficient:**&#x20;

&#x20;      If you plan to send messages like this one, don't miss out! Create a **message template** in the server resources area. This will reduce the necessary setup each time. Save time and energy! <br>

📢 **Is It a Top-of-Channel Message?**&#x20;

&#x20;     No worries! Use the **Tracked Messages** tool. With it, you can edit your message on the go, without needing to recreate it. Maximum flexibility and efficiency! 🛠️<br>

🌐 **Ready to Send!**&#x20;

&#x20;      Once your message is perfect, just press the **Send Message** button and watch the magic unfold. <br>

&#x20;**Let's revolutionize our communication! 💬**✨
{% endhint %}


# Create Message/Announcement

When a category is selected all channels in the category will receive the message. If a channel is selected only the channel will receive the message.

## <mark style="color:purple;">Create messages within a selected channel</mark>

1. Go to the "send message" option in the side menu.\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FoPNPBoCmbo7UW2ZJnTJF%2Fimage.png?alt=media\&token=68f79fe6-1886-48e6-a28e-4ad70e7092a0)
2. Enter the time and day you want the message to be sent\
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FnAoiPcx0y6mQeh2lvzw8%2Fimage.png?alt=media\&token=efeb177b-45b7-4183-a90a-955b04f53a7b)
3. Select the discord channel where you want the messag/announcement to be sent\
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FCfLc9t0MkNDs1RSDMTQ2%2Fimage.png?alt=media\&token=bc8bb60a-9da4-4f87-88ca-bb26d45df6f7)\
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FP9xEIy0n2h6aljbMuHfb%2Fimage.png?alt=media\&token=e7f0f64d-94d1-4a59-9e1c-f695c8fa0f71)
4. You can write a message, select a template you already have created or create an embed\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FViSfOwsBljnYFcThdACV%2Fimage.png?alt=media\&token=40dabd48-1181-4ef6-8452-3fd13704e1fc)
5. Click send message\
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FIZIyr6IWRGsFdN60pyJ6%2Fimage.png?alt=media\&token=5be621ac-50e6-4035-87e2-b49133426aa9)
6. A toast message will be displayed\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FyT2O4rxWAhZQj4Y9muk5%2Fimage.png?alt=media\&token=bbc602c6-adf2-488e-a43a-dace6db661bf)
7. It will be displayed as follows in discord\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2F9XToRpGHR4EbAI94DPQZ%2Fimage.png?alt=media\&token=32be098f-3eaa-4ad1-8ab6-19ced88159d6)

## <mark style="color:purple;">Create messages within a selected category</mark>

* Go to the "send message" option in the side menu.\
  \
  ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FoPNPBoCmbo7UW2ZJnTJF%2Fimage.png?alt=media\&token=68f79fe6-1886-48e6-a28e-4ad70e7092a0)
* Enter the time and day you want the message to be sent\
  ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FnAoiPcx0y6mQeh2lvzw8%2Fimage.png?alt=media\&token=efeb177b-45b7-4183-a90a-955b04f53a7b)
* Select the discord **category** where you want the messag/announcement to be sent\
  ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FMNNIWo85DvSGjurVAy1A%2Fimage.png?alt=media\&token=b438b55d-9ecd-4d96-ba95-7f6cf095b716)\
  \
  ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FzPB6ZoQkhZfToUi8gbR8%2Fimage.png?alt=media\&token=61146d3b-c77e-44de-a6ac-695a06f0551d)
* You can write a message, select a template you already have created or create an embed\
  ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FFBs4Lm5hQIxlE8jRzbl8%2Fimage.png?alt=media\&token=832b9faa-bf99-4541-8237-63c662e0276a)
* Click send message\
  ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FgcIYZLcKDW6mIsjyYpIf%2Fimage.png?alt=media\&token=dcaef443-b54a-4dd3-b204-3b354961f390)
* A toast message will be displayed\
  ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FdJ9BBZqPTPGJRBioCdL2%2Fimage.png?alt=media\&token=9f4876d5-e96e-41eb-974f-73af6caa209d)
* It will be displayed as follows in discord\
  \
  ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FjVMoRipshqEINztF57W2%2Fimage.png?alt=media\&token=83699a09-f5c8-4f7f-bbb2-fb8f547f7b47)\
  \
  ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FDuEWRJwcvb6CuT771oHA%2Fimage.png?alt=media\&token=0fd9ee17-fadf-4a91-ac1c-ce612c39e625)


# Tracked messages

Keep track of important messages, such as top-of-channel messages, rules, etc in an easy way and on-the-fly editing.

{% hint style="info" %} <mark style="color:blue;">**Attention, organization and efficiency enthusiasts! 🌟🚀**</mark>\
\
&#x20;Here come two amazing features that will revolutionize your server experience:

1. **Real-Time Automatic Updates!** 🔄 If you have active tracked messages in the server, get ready for some magic! Every time an edit is made, the original message will automatically update. No more missing out on important information due to changes or updates!
2. **Sticky Messages, but Better!** 📌 Heard of "Sticky Messages" in other bots? Well, we take this a step further! With the "Time to Resend" feature on tracked messages, you can ensure that your key message is repeated in the channel at defined intervals. Keep everyone in the loop effortlessly!

🌈✨ These features are designed to keep your server organized and up-to-date, ensuring that important information is always within everyone's reach! 🎉💫
{% endhint %}


# Create Tracked Messages

Tracked Messages are just normal messages that you keep track of. This allows you to edit them without resending/using a command/etc.

<mark style="color:purple;">Create tracked messages</mark>

1. In betsy's dashboard click on the "tracked messages" option (1) in the side menu and click the "create" button (2).\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2F0NeDHV0bigcr7FaBGYF6%2Fimage.png?alt=media\&token=d275bd22-7d74-48a2-9ce0-2ff02cd9b57c)
2. "Tracked messages" will only be created if this is activated.\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FPbyrrjL2mw1ayrChOxE9%2Fimage.png?alt=media\&token=52c70f6a-40e1-4f5a-8bf0-c92146c1b4d9)
3. Enter a name, it will be used as an internal identifier\
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2Fj5MLE5HXdUQj5NVqSE6p%2Fimage.png?alt=media\&token=801e1d1d-3f1c-4a78-bc90-3ecf118fd985)
4. Time to forward a message on discord (this is not a required field, so if you wish do not enter it)\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2Fy1mEvbHEc3TaNNgvWRBw%2Fimage.png?alt=media\&token=b3f98f4e-caf5-4a02-8c67-54f837bbb45d)
5. Select a channel where the information will be tracked\
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FZbQ5rkPUopkZyCYJHL9p%2Fimage.png?alt=media\&token=f1a417b6-9d97-4890-b251-26352c9ff96e)
6. If you want to write a personalized message you can do so.\
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FuGqxBKHMLtrXzMP7Ro2L%2Fimage.png?alt=media\&token=d47ef645-35eb-4f59-847f-385468c57f11)
7. A successful toast message and the record will be displayed in the main table.\
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2F4SdOAmBDE8ZHe0YRl6Tp%2Fimage.png?alt=media\&token=c9d18fe4-4988-41c1-b821-ca7cf41e2cb1)
8. This is what it looks like on discord:\
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FdKkMF1aN23xAsROEqVUI%2Fimage.png?alt=media\&token=77b53336-f9ab-4479-be39-0822bb45e629)


# Edit Tracked Messages

Once the configuration for a tracked messages is created you can edit/view this

<mark style="color:purple;">Edit tracked messages</mark>

1. In betsy's dashboard click on the "tracked messages" option in the side menu.\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FVDUYenqroO770e3YlKVQ%2Fimage.png?alt=media\&token=57c43c13-8625-4670-933b-08321466044d)
2. Click on the "view" button\
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FvTQucUIlcZjPYIM2xW10%2Fimage.png?alt=media\&token=210f14a9-3b92-4ca4-82ea-7c4856a640fd)
3. You can edit any option within the  "tracked messages" configuration, in any tab "embed or "components"\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2F2ZbTs7XTCOrtKr6LuS4K%2Fimage.png?alt=media\&token=65d08bbd-818d-48d3-a916-89ccd0ef8a5d)
4. As an example we are editing the text of the identifier\
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FQkvrCWmkjWD1HrekSyrf%2Fimage.png?alt=media\&token=b117c276-2b27-4df2-86b0-90c4636ed688)
5. Once you have finished the changes, click the "save" button, If the changes were made successfully a toast success message will be displayed\
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2F9Hi9R6QPTyvJvOHzDkea%2Fimage.png?alt=media\&token=6511d03c-6bb4-4695-854b-10f1498d1100)


# Copy Tracked Messages

<mark style="color:purple;">Copy tracked messages</mark><br>

1. Click on the side menu, specifically on the "tracked messages" option (1), an interface will be displayed with all your records (2)\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FoHz5WhY6WLqVxnmz9Trc%2Fimage.png?alt=media\&token=56e8d6c7-2ec8-450b-aba3-059967bea186)
2. Click on the "view" button\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FOaJ0r8Idm8etKdoYAEfx%2Fimage.png?alt=media\&token=bbd740db-e0de-4c2c-b869-12f86ca71046)
3. Click the "copy" button\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FQ31Mz0vwMgDVgGlGJ2ty%2Fimage.png?alt=media\&token=4badae59-2355-4d29-bc2b-2629f0934eef)
4. change the identifier\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FEjB9QWZo3NAarQOPya5Y%2Fimage.png?alt=media\&token=678d13b1-fb1a-4285-b609-37dd59edc1fa)
5. Click the save button\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2Flx5VZ3qsotSt5tqqBjCN%2Fimage.png?alt=media\&token=6f0c71a2-ef27-4373-aefa-7a2fedeba0ac)
6. Observe the copied records in the main table\
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FbGQ2TwCtZcJqIsI5Fukk%2Fimage.png?alt=media\&token=d2527066-a029-4c49-a84e-1a10c89db690)


# Delete Tracked Messages

Once the configuration for a tracked messages is created you can delete this

<mark style="color:purple;">Delete tracked messages</mark>

1. Click on the side menu, specifically on the "tracked messages" option (1), an interface will be displayed with all your records (2)\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2F78BQ7IHKgZspBg2wN79d%2Fimage.png?alt=media\&token=59be8ff8-6918-4ac7-a82c-1b59e048a38d)<br>
2. Click on the "view" button\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FNlYhsgz6IEjkIysJLPJX%2Fimage.png?alt=media\&token=20c1472d-2e70-4ddb-b3b6-730ea1b1fe16)<br>
3. Click the "delete" button\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FOEJxeuT42ZdXqqJSyKdn%2Fimage.png?alt=media\&token=2a860166-bc67-49be-9445-dd033e765c7f)
4. A pop-up window will be displayed, click on the “confirm” button\
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FGRprqnphEAtmAOj7D5MS%2Fimage.png?alt=media\&token=fa1150b0-0f85-447a-8f9b-a819a3f2da27)
5. Notice the success message\
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FXXVgROw1sGUk6zfHOFB5%2Fimage.png?alt=media\&token=cf974a4c-00aa-472c-ae99-254825357699)


# Sticky Messages

Sticky messages are messages that get sent in a channel anytime a new message comes through.

{% hint style="warning" %}
The Betsy Free Tier will set the Time To Resend to 12 hours and can only be changed if you are on the Bronze Tier or higher.
{% endhint %}


# Welcome Messages

Send channel or direct messages when a user joins your server.

{% hint style="info" %} <mark style="color:blue;">🌟</mark> <mark style="color:blue;"></mark><mark style="color:blue;">**Get ready for something amazing for your server! 🚀**</mark> \
\
This feature is a true gem: it allows you to send 💌 direct messages or channel messages automatically when a new user joins your community. It's like having a digital butler welcoming each new member with a personal touch!<br>

**Think about the flexibility**:\
\
\- You can opt to send direct messages for a warmer, more personal welcome 🤗, or choose a specific channel for vibrant public announcements 📢. The choice is yours!

Here's the best part: If you decide on both, this smart tool adapts to your needs! If a channel is selected and you also choose to send direct messages, the tool cleverly ignores the channel selection. So no confusion, just pure efficiency! 🌈

It's the perfect way to ensure that every new member of your community feels instantly part of something special and exciting. \
\
**Make your server shine with this fantastic feature! 💫**
{% endhint %}


# Create Welcome Messages

Create either custom channel welcome messages or direct DM welcome messages.

<mark style="color:purple;">Create welcome message</mark>

1. In betsy's dashboard click on the "welcome message" option\
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FCQI9docD4EqbLvUwZ65y%2Fimage.png?alt=media\&token=360a3d11-14d0-41c6-b9bd-b08c4a6d29b2)
2. Click the "create" button\
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2Fhjhl14N2HJB3w1yxUHKe%2Fimage.png?alt=media\&token=28238547-dbb7-4cab-a2c1-2a6f0fb8f2ae)
3. A new interface will be displayed \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FkCvrVRs4ZMfuAAHsuPaV%2Fimage.png?alt=media\&token=c55795dd-0b72-403f-a7a0-95c5940692ef)
4. The fields required to create a welcome message are:\
   \- Active\
   \- Welcome Message Type\
   \- Name\
   \- Channel\
   \
   **Active toggle**: Determines if the welcome message is currently being sent on new members or not.\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2F5aFzO91e8tHWGwrbI2AG%2Fimage.png?alt=media\&token=6feaa2cb-e08a-418e-87c2-079c94e7cc55)\
   \
   **Welcome message type**: The way the welcome message is to be sent. There are two ways:\
   &#x20;1\. Channel message: This is sent in the channel you select.\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FaTseNwAZFTXLUc9urD26%2Fimage.png?alt=media\&token=66cb9b7d-b7f4-4790-8308-757472930bb0)\
   \
   2\. Direct message: This is sent directly to the user that joined via DM.\
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FljLn70InxIDFiMKGMaCE%2Fimage.png?alt=media\&token=7edafec1-2afe-4855-b319-0a0bd3c9c287)\
   \
   **Name**: This is a way to help you identify the name of the welcome message. This is not shown to your members but is only shown in the admin panel to assist in referring back to this message in the list.\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2F97JoUSYNDLSNutcLfOjr%2Fimage.png?alt=media\&token=30419f37-d7b4-498b-b866-5caedf784873)\
   \
   **Channel:** When the Channel Message option is set this is required. This is the channel that the message will be sent\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FzKbWYdSSmwRADh0Xf9Lr%2Fimage.png?alt=media\&token=e023813b-0db4-4448-a4f0-4d2720949d49)
5. Enter the message you want to display\
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FOIvQdQW1row7cPzmpOoz%2Fimage.png?alt=media\&token=798ba042-573a-40d6-b3e5-5c2515931219)
6. Click the save button\
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FwgVEkTKshFdC5Dozi5hc%2Fimage.png?alt=media\&token=d823b002-e94f-473f-8f46-c5298d9a1742)
7. A successful message will be displayed and your record will be displayed in the table\
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FbboCTbDgA9MUXa71pcIz%2Fimage.png?alt=media\&token=aecdd8bd-53e4-4147-ba4b-031e73aa9563)<br>


# Edit Welcome Messages

Once the configuration for a welcome message is created you can edit/view this

<mark style="color:purple;">Edit welcome message</mark>

1. In betsy's dashboard click on the "welcome message" option in the side menu\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FKE8BSzxEYrsFk7y6mhZ8%2Fimage.png?alt=media\&token=d83de05d-9b14-47d8-bd61-47e8a218ca96)<br>
2. Click on the "view" button\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FXe44GBIECeW0R89eypsF%2Fimage.png?alt=media\&token=acb925f6-0880-48f0-abeb-caeef14a9a16)
3. You can edit any option within the poll configuration, E.g: name\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FDfIPjJRpLfNDOwOGzj5S%2Fimage.png?alt=media\&token=b5465d51-9982-423d-a4da-e76393440251)
4. Once you have finished the changes, click the "save" button, If the changes were made successfully a toast success message will be displayed\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FlNpIFOiShrJBa0RWpAgu%2Fimage.png?alt=media\&token=0ecf1094-debd-4933-a08e-b0d9f8b1f9b6)


# Delete Welcome Messages

Once the configuration for a welcome message is created you can delete this

<mark style="color:purple;">Delete welcome message</mark>

1. In betsy's dashboard click on the "welcome message" option in the side menu.\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FmAjPnoJaxcKQbEWAt7LO%2Fimage.png?alt=media\&token=e5e362a1-4ddb-459f-b6e5-cc0ae03e454d)
2. Click on the "view" button\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2F1wuFofZUpZ5B1n08UgL7%2Fimage.png?alt=media\&token=5df8773e-d29d-44d6-ba8a-82ec759ac261)
3. Click the "delete" button\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2Fb8wvElc0m2fwNzA9K4dG%2Fimage.png?alt=media\&token=b790fa37-31eb-43b2-8855-13944dec9ff6)<br>
4. Notice the success message and that the log is no longer displayed\
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FOCW75LozGQlZAC85BJDU%2Fimage.png?alt=media\&token=1d03a770-e1cb-411a-ad07-945b137fada7)


# Auto Responders

Reply to phrases or words quickly an efficiently.

{% hint style="info" %} <mark style="color:blue;">**Hello there! 🌟 You're about to discover something amazing!**</mark>

If you have frequently asked questions, need a warning, or are looking for information, you're in the right place! Our autoresponder is here to assist you 24/7. Whether you're seeking quick answers or detailed guidance, we're here to light your way with accurate and helpful information.

🚀 **Get ready for a fantastic experience!** 🚀
{% endhint %}


# Create Auto Responders

Respond to commonly asked questions, comments and more.

<mark style="color:purple;">Create auto responders</mark>

1. In betsy's dashboard click on the "auto responders" option\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FPG0ngRNwLt0EnIHkFwlr%2Fimage.png?alt=media\&token=cd88c12e-bb1f-4d2b-a76b-a14631aac298)<br>
2. Click the "create" button\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FV1lSzjUbDHqQrrtjAf7x%2Fimage.png?alt=media\&token=929df6fc-bf87-40e4-9ef6-9935966e82c9)<br>
3. A new interface will be displayed \
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FQtfGLCjYTkFNZ82fyWVh%2Fimage.png?alt=media\&token=16787d47-a0a8-4b4a-91ac-0e614f48c4ac)<br>
4. **Active toggle**: It will show the automatic response where you have configured it DM, Channel or response\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FJY2cZSzbp3inQAZ6WEVE%2Fimage.png?alt=media\&token=b7e9a1b0-1404-44d5-b1ec-9e5bf9439c05)
5. **Identifier**: This is a way to help you identify the name of the auto responder. This is not shown to your members but is only shown in the admin panel to assist in referring back to this message in the list.\
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FxOO1hd1KZoRm19rRYW8V%2Fimage.png?alt=media\&token=664bcf0c-9bbc-43f5-9bde-85c0a674aee9)
6. **Message type**: \
   \
   &#x20;\- Reply message:  Replies the original message, therefore pinging the user that sent the message.\
   &#x20;\- Direct message: Sends the message response to the user that sent it VIA DM.\
   &#x20;\- Channel message: Sends the message response in the channel that the user sent the message.\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2Fip8it5j9ThKszTAKJaEL%2Fimage.png?alt=media\&token=2a1e0fca-859b-492a-b50c-4a2ae22ab781)<br>
7. #### Words / Phrases:

   These are the words or phrases that will trigger the responder. For example if we have the word "help". If someone sends "Can someone please help me" the responder will respond with the message.\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2Fe83TSgg1HQvFARTRyDpY%2Fauto.gif?alt=media\&token=e24da63e-38db-4c2e-9428-40f17230063c)
8. #### Delete after (minutes):

   This is a way to clean up the response messages if you'd like. A timed job will be batched and the message will be deleted after the specified time in minutes.\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FEKp1BxVACGrds9tOKaDN%2Fimage.png?alt=media\&token=1cdb061c-bbb8-4346-a720-f466ff248a3f)
9. #### Ignored channels:

   This is a list of all the channels you want to be ignored for your responded. Any messages sent in these channels will not be triggered by the auto responder.\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FTZC1haHDCBKuZj14ovxk%2Fimage.png?alt=media\&token=397eb279-9310-4cd4-bb7e-613a9e7e8230)
10. #### Whitelisted channels:

    If any channels are whitelisted then only channels that are whitelisted will trigger the auto responder.\
    \
    ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FW8jmiwMxzuhcL5QYHjiO%2Fimage.png?alt=media\&token=082c14cd-9b37-4f9a-a765-d8a141ee0d28)
11. #### Whitelisted categories:

    If any category is whitelisted then only category that is whitelisted will trigger the auto responder\
    \
    ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FLTAHVvqgrniT3OqwfkQK%2Fimage.png?alt=media\&token=5d02a866-5408-446d-bc34-5d7b91b90f7c)
12. Once your configuration is created click on the "next" button\
    ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FPH7TXqsf6e59yYP4B1k3%2Fimage.png?alt=media\&token=4d245e9b-6047-40d1-8726-2acd23924c9b)
13. It will be located in the "message" tab where you can write what you want\
    ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FPmGRhhtlHcMAld98C8Xu%2Fimage.png?alt=media\&token=c96753f2-26cb-4d06-9613-ee04b8a857e9)
14. Click the save button, it will display a successful toast message\
    \
    ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2F0A99So9Ez2vlOPo29NTI%2Fimage.png?alt=media\&token=c53b0993-a466-4fe6-b892-14ea70f1e4cf)
15. This way it will be shown on discord\
    \
    ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FP8TN5RjaoVKHUP584CI4%2Fimage.png?alt=media\&token=10d9f6be-5ac6-4d71-b565-a80c15b0e3ec)


# Edit Auto Responders

Once the configuration for a auto responders is created you can edit/view this

* In betsy's dashboard click on the "auto responders" option in the side menu.\
  ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2Fb2D7mddEBbsJOuziNlGX%2Fimage.png?alt=media\&token=2abaa57f-9ce8-4098-85c2-de05bf8f3559)
* Click on the "view" button\
  \
  ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FwEMDFyNRalXrANcSFCxd%2Fimage.png?alt=media\&token=99c61453-643c-46d0-b1c9-f72ddc0148a5)<br>
* For example, edit the identifier\
  \
  ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2F4lpH4PLbBWCo0xkjahGg%2Fimage.png?alt=media\&token=e11d80d8-6fb6-48de-ab78-d91f6952a379)<br>
* Click "next and save" button \
  \
  ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FlZwLMVH66C6rBlUmQFZ0%2Fimage.png?alt=media\&token=11ef2702-cab1-4cb2-9fb9-e79373fc6aa1)\
  \
  ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FMBOrJriJ13BLGQnDeiaF%2Fimage.png?alt=media\&token=5b22d9a3-e166-43c0-bed8-20a8de2cecb1)
* A toast will be shown\
  \
  ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FPEhwGgcsBqncUP7H1KbT%2Fimage.png?alt=media\&token=20e6dbb0-0b27-4a86-9a6d-53bf9d4232bf)


# Delete Auto Responders

Once the configuration for an auto responders is created you can delete this

<mark style="color:purple;">Delete auto responders</mark>

1. Click on the side menu, specifically on the "auto responders" option (1), an interface will be displayed with all your records (2)\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FmJg8QubYA6lNdtIQMAWS%2Fimage.png?alt=media\&token=d6637bc1-9615-4e9d-959e-c892d2d03193)<br>
2. Click on the "view" button\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FnFziJGsvrbBUTTtfhWXj%2Fimage.png?alt=media\&token=0cf16b3c-2aba-48b1-8143-dd90af04c28d)<br>
3. Click the "delete" button\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2Ft8o4wriLJ0zyqeOTWg1m%2Fimage.png?alt=media\&token=0b40d402-ee86-470f-a146-564d252dad95)<br>
4. A pop-up window will be displayed, click on the “confirm” button\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2F38hnjsuffd4JAE3w4egR%2Fimage.png?alt=media\&token=8dd579d7-467b-45b9-83d0-d0dac2c0e2a5)<br>
5. Notice the success message\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FPKq6ng2OwZWgj4dXuWvJ%2Fimage.png?alt=media\&token=a55d7276-7828-446a-871b-8ecf4f553737)


# Custom commands

Build custom commands and experiences to fit your server

{% hint style="info" %} <mark style="color:blue;">**🌟🚀Get ready to take your server to the next level with our new feature! 🚀🌟**</mark>

🛠️ Build custom commands and experiences 🌟 \
🎨 Create your own universe of interactions, tailored to what your community loves. The possibilities are endless! ✨

Features:

🎚️ Total customization:&#x20;

&#x20;      \- You decide how your server interacts and feels.&#x20;

🛠️ Easy-to-use tools:&#x20;

&#x20;      \- You don't need to be a programming expert!&#x20;

🌐 Unique experiences:&#x20;

&#x20;      \- Make your server stand out with special features.&#x20;

**🌍 Imagine, create, and share!** \
&#x20;      **Make your server not just a place to chat, but an unforgettable experience. 🚀🎉**
{% endhint %}


# Create custom commands

Build custom commands and experiences to fit your server

## <mark style="color:purple;">Create custom commands</mark>

1. In betsy's dashboard click on the "custom commands" option (1) in the side menu and click the "create" button (2)\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FD8qTeDpCYtx3vw6nFr92%2Fimage.png?alt=media\&token=86d628db-cec2-4bf2-a606-c0bd8e136769)
2. Enter the name of the command you want to display in discord\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FqLTSzLp3mMMqZOzGk8mE%2Fimage.png?alt=media\&token=6e2b186e-7b81-4d47-830a-d49dc24309f2)
3. Enter the description of your command\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FXq5nI6GwQpmaYM10QdZy%2Fimage.png?alt=media\&token=2142bb55-efcd-4451-b56f-c11b5b17733a)
4. Click the save button\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FoN8mcT05M0Ziv0jW7pOK%2Fimage.png?alt=media\&token=cd9c8370-b2f9-4983-a2c0-73f7c4a090a6)
5. Observe the successful toast message\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FByB7mUCco5Q8eeKag8L2%2Fimage.png?alt=media\&token=eeca51eb-df95-4c04-96dd-51b98c8c26d4)
6. This is the way the command is displayed in Discord\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FyAzgnU9nrbK4fTjgTorw%2Fimage.png?alt=media\&token=ec212884-61f3-4c8b-b8e7-a27c733b5ebc)

## <mark style="color:purple;">Adding actions to your created commands</mark>

1. Go to the actions tab\
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FvN1i00K4hIefLsThVNMm%2Fimage.png?alt=media\&token=dbd4d239-daac-4cd5-9756-4d1a8cfabe06)
2. Click the "add action" button\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FRDh7Y2K5bQo7vjpSKgxQ%2Fimage.png?alt=media\&token=6181cfcd-f3ed-4c5e-96ef-5bda2411f0c9)
3. Select the action you want the command to perform, among them:\
   \
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FY4iYl3ZEmWeIAdDnDmoT%2Fimage.png?alt=media\&token=20590a8d-294f-4954-b26a-ff025756dea1)<br>


# Edit custom commands


# Delete custom commands


# Invite Tracker

Track invites created, who invited, who, and act on that information

View your Invites in a convenient table

<figure><img src="https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2Fzu0dPpvRuw8ynNg2ZzuF%2FqJMRuyy.png?alt=media&amp;token=7e74712e-a449-4128-b1b5-5c4074d384b2" alt=""><figcaption><p>The Invite Tracker Table</p></figcaption></figure>

Set roles to be automatically given when users reach a certain invite count

<figure><img src="https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FJEDxQDNaZnhMGo5uzbBL%2FScreenshot%202024-02-12%20at%2010.18.53%E2%80%AFAM.png?alt=media&amp;token=c874538d-8b15-4d19-b303-3bc4db50e343" alt=""><figcaption><p>Add Invite Role Modal</p></figcaption></figure>

Set a minimum account age for new users

<figure><img src="https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FB6U5QQWgYfezBmfm4uIg%2FScreenshot%202024-02-12%20at%2010.20.44%E2%80%AFAM.png?alt=media&amp;token=28b50414-1fac-4c58-9b08-d249fb22de57" alt=""><figcaption></figcaption></figure>


# Payments

Configure the /payment global command to add features

{% hint style="info" %} <mark style="color:blue;">**🌟🚀 Exciting news! 🚀🌟 Payments feature is here! 💳✨**</mark> \
\
🔐 Secure, direct payments into your account with the provided API keys. \
🏦 Betsy doesn't handle balances. Total control is yours! \
💰 Currently supporting only Crypto Payments through Coinbase Commerce. \
🔜 More processors like Stripe coming soon! \
\
**Get ready for a hassle-free payment experience! 🎉💸**&#x20;
{% endhint %}

<figure><img src="https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FWoTQnvLygJ4YrNa1qtPI%2FScreen%20Shot%202022-09-14%20at%2011.04.14%20AM.png?alt=media&amp;token=9b28fae0-73e3-438b-9b00-ac5810772424" alt=""><figcaption></figcaption></figure>

Simply add your Coinbase Commerce API key, and activate the feature, in the admin panel under this section and you can immediately start using the feature.

Read on how to create these payment with the global command by viewing that documentation below

{% content-ref url="/pages/SI9c399tQnleNblQxf2V" %}
[/payment](/global-commands/payment)
{% endcontent-ref %}


# Action Logs

Get notified when specific things happen in your server

{% hint style="warning" %}
Even when an action log item is active you must have the action log feature enabled. Without the feature enabled you will not receive and logging. You can do this by using the toggle on the top right of the page
{% endhint %}

Start by selecting the channel you would like to post logs to at the top. All events will be posted to this channel.

Toggle each of the events by using the toggle.

### Message Monitoring

#### Message Edits

When a message is edited on your server you will get a notification. This notification will include the before and after text.

#### Message Deletions

When a message is deleted on your server you will get a notification. This notification will include the message content that has been deleted.

### Role Monitoring

#### Role Creations

When a role has been created you will get a notification including the name of the role

#### Role Update

When a role has been updated you will get a notification including the name of the role

#### Role Deletes

When a role has been deleted you will get a notification including the name of the role

### User Monitoring

#### Member Banned

When a member is banned you will receive a notification.

#### Member Timed Out

When a member is timed out you will receive a notification of who was timed out.

####


# Invite Link Blocker

Block all discord invite links in your server. Messages that include invite links will be deleted.

{% hint style="info" %}
**Good to Know:** You can whitelist users and roles to bypass this blocker.
{% endhint %}

{% hint style="info" %}
**Good to Know:** If you have the Message Delete action log feature activate you will see the deleted message.
{% endhint %}

Simply select a channel for audit message and active the feature using the toggle on the top right to start blocking discord invite links in your server.

You may whitelist users and roles by their ID by entering the Role/User ID.


# Role Selection

Auto Role feature allows you to have a container that allows your users to select the roles they want to have.

{% hint style="info" %}
**Good to Know:** This feature is great for those that don't want to over use @everyone and @here tags. Empower your guild users to select when they want to be notified of important announcements
{% endhint %}

{% hint style="danger" %}
In order for the bot to have permission to give the specified roles the bot must have a role higher in the list with Manage Roles permission than the roles you want it to be able to give.&#x20;
{% endhint %}

![](https://t.gyazo.com/teams/chicksgold/e8bdf9235a136d0b40bb66874f77f643.png)

### Configuration

<table><thead><tr><th width="150">Configuration Item</th><th>Description</th></tr></thead><tbody><tr><td>Identifier</td><td>Used for your eyes only. Allows you to have the ability to classify what autorole you're editing</td></tr><tr><td>Description</td><td>Similarly to Identifier but this does not appear in the list of Auto Roles in the list page</td></tr><tr><td>Channel ID</td><td>The channel that this container message will be housed in</td></tr></tbody></table>

#### Container Message

![](https://t.gyazo.com/teams/chicksgold/ae7e8fe909b8255e2c57e30316fa54bf.png)

The message that this role selection menu is attached to is completely configurable using the message editor.

![An example of the Role Selector from the Betsy Support Server](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FUW60bsv8ECf4sRDu3SWU%2FScreen%20Shot%202022-08-02%20at%209.20.35%20AM.png?alt=media\&token=cab29273-ee88-44b7-8930-192ba3f0e5e5)

#### Role Configuration

After configuring the above it's time to configure the roles you want to be available to select from.

To start adding roles simply select the role from the provided dropdown. Upon selecting from the dropdown you will be selected with some options for additional configuration of the selection.

![](https://t.gyazo.com/teams/chicksgold/b5e5146375bd780fd68431ee36fe55c0.jpg)

| Configuration Item | Description                                                                                  |
| ------------------ | -------------------------------------------------------------------------------------------- |
| Description        | This is used inside the menu select for describing the role.                                 |
| Emoji              | Use the emoji selection menu to choose an emoji to have next to the role in the select menu. |

![This is an example without using Emojis](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2Fne9AZIUgn0WgKqTjMdPz%2FScreen%20Shot%202022-08-02%20at%209.40.24%20AM.png?alt=media\&token=f05b3d63-9563-4cf8-bbf1-a51e82e03e80)


# Channel Cleaners

Channel cleaners are an easy way to keep your channel history clean. Channel cleaners are run on every server at the top of the hour and will remove all messages older than your specified time in hour For more information, consult the rest of the pages associated with this functionality.


# Create channel cleaners

Channel cleaners are an easy way to keep your channel history clean.

{% hint style="info" %}
**Good to Know:** Channel cleaners run every hour on the hour.&#x20;
{% endhint %}

## Channel Cleaners

1. In betzy's dashboard go to "Channel Cleaners"\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FPeXTBFrg3gw7hLSNc5yt%2Fimage.png?alt=media\&token=53de633a-6f8a-477c-b4cd-09c35edea702)
2. You will notice the "Create New Cleaner" component\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2Fu5V3WSFLuxEtvjGtf53v%2Fimage.png?alt=media\&token=db0dd4a0-876a-4dde-bd19-ea566b5b58d3)
3. From the drop-down list select channel or category to delete\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FbNNkkmrBX2TOGXM2aSpw%2Fimage.png?alt=media\&token=f4364d3f-e9fe-4e3c-bc0e-43074a68d821)
4. Enter the time in hours you want to delete\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2F4Jk8tbhGVUIlFCPkmyCx%2Fimage.png?alt=media\&token=a0f7f1da-192e-4c71-b62b-cadc9f695fb9)

{% hint style="warning" %}
**Important:** \
\
\- The discord API does not allow the bulk deletion of messages older than 14 days. Any messages older than 14 days will be ignored.\
\
\- Due to the inefficiency of how the discord API is able to handle this we will only search the most recently 500 messages each run. Every time this runs as well it will search remaining messages, so if little messages are sent in that hour it could delete messages older than the previous run if you hit the 500 max in the previous run.
{% endhint %}

5. Click "add" button\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FkO8CAlSgyEnFNprK489w%2Fimage.png?alt=media\&token=ffe45f9b-cea5-494d-a28b-c8fa21a546b4)
6. You will be able to see your new record on the screen\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FQrEgy5f8MHPnvmkDttDq%2Fimage.png?alt=media\&token=9ed7642f-3b35-4ea6-acd5-78a16ec934d8)<br>
7. Messages older than 1 hours old are deleted hourly at the top of the hour. \
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FEmcUhMzNnUovOBGJuZUP%2Fdeleteg.gif?alt=media\&token=4a4b3702-4d86-4c76-a475-e9c38159cccf)

{% hint style="danger" %}
This is a very taxing operation for both Betsy API and the rate limits of the Discord API. This is an experimental feature and will be evaluated often. It could be removed in the future if it poses risk to Betsy.\
\
You do **NOT** get Message Delete events for this operation. Discord does not support message delete events for bulk deletions.
{% endhint %}


# Delete configuration of a cleaning channel

1. In betzy's dashboard go to "Channel Cleaners"\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FPeXTBFrg3gw7hLSNc5yt%2Fimage.png?alt=media\&token=53de633a-6f8a-477c-b4cd-09c35edea702)
2. You will be able to see your record on the screen\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FbkqG1xo5O7ephDmv8DRz%2Fimage.png?alt=media\&token=8f36f386-f345-4d33-ab67-86134e75b1a4)
3. Click the "delete" button\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FzIwTa7sa0osH3EALcmiO%2Fimage.png?alt=media\&token=a4ae7daa-e8fb-4a7c-af98-bee0301ee15c)
4. See the successful toast message\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FaJZu69nq3e3dIzAVuk9B%2Fimage.png?alt=media\&token=de53f8ee-1b46-45a1-9e9f-0e7e82306fce)


# Update channel cleaning

1. In betzy's dashboard go to "Channel Cleaners"\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FPeXTBFrg3gw7hLSNc5yt%2Fimage.png?alt=media\&token=53de633a-6f8a-477c-b4cd-09c35edea702)
2. You will be able to see your record on the screen\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2F8pHXNMJBnxL5004UrBEn%2Fimage.png?alt=media\&token=8b86b4a9-5870-471d-b6db-63c7fe3163f6)
3. Modify the number of hours you want and click the "update" button\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FWBuo9w5mHcpAdeKKNbSq%2Fimage.png?alt=media\&token=5f223d95-80b9-4346-9dbd-47658f3e0971)
4. See the successful toast message\
   \
   ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FipnwO69dxWmvPO8DBnqx%2Fimage.png?alt=media\&token=ba29e23d-3845-4a3d-b708-64c19e03fd2d)<br>


# User Verification

BETA - Verify your users. This will also collect information about their IP Address to determine if they are a bot or not.

### How does it work?

When User Verification is turned on your users will be messaged privately by Betsy asking them to visit a website to begin verification. This website is a Betsy Bot URL and once navigated to will gather data about the user's session and save that data for you to review.&#x20;

We use a service called IP Quality Score to gather this information.

As the Betsy Bot Database grows bigger the protection against alt accounts will improve.&#x20;

### Configuration

#### Setting your API Key

To use this feature you must have an IP Quality Score API Key. IPQS is a free service and you can receive an API key for free. Create an account on their website and provide the API key provided on the panel before activating the feature.

#### Verified Role

Select a role that you want the user to receive once a successful verification happens for that user.

#### Channel for Audits

This is the channel that logging events about the verification, including blocks, will be sent.

#### Channel for Verify Button

You can use this configuration item to handle users that have direct messages turned off as Betsy will not be able to message them. A simple message will be sent to this channel that has the URL that would normally be sent to the user via PM.

#### Block Alts

If this setting is toggled on then any time a alternate account is found for a specified user the verification will fail and the user will not receive the role.

#### Require Login

Having this toggled on will force the user to login via Discord to the site which gathers additional information on the user's Discord account.


# Reviews

Allow user to review your server, users within your server, or custom categories that you set

### Configuration

#### Settings

Select the channel that you would like newly created reviews to go to. Create your custom review categories in this section.&#x20;

#### Response Message

Customize the message that is sent back to the user once a review has been created

#### Submissions

View all of the submissions that have been made for your server


# Twitch Event Subscriptions

Get notified when the selected twitch channel(s) have certain things happen

{% hint style="info" %}
**Good to Know:** You can read more about what each of the events do and when they are fired off here. <https://dev.twitch.tv/docs/eventsub/eventsub-subscription-types> Eventually all events will be supported by Betsy Bot
{% endhint %}

Creating a new subscription is as easy as clicking "Create New Twitch Subscription"  and entering the information.

Depending on the event type selected the event message sent in your channel will include relevant information about the event. As an example if it's for a new follow or a new subscriber it will include the name of the person that follow/subscribed.

In the future being able to customize this message could be a thing.


# Channel Backups

Keep a backup of your channels and all the messages sent in them

View your existing channel backups

<figure><img src="https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FigL5RcBhz5mZMTWnxI1D%2FScreenshot%202024-02-12%20at%2010.22.11%E2%80%AFAM.png?alt=media&amp;token=c30c5604-b5df-478e-ad9a-6dbbfe5327e7" alt=""><figcaption><p>Viewing the list of channel backups</p></figcaption></figure>

View the messages sent

<figure><img src="https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FCM8lWtOvCFcHPFnMrnU8%2FScreenshot%202024-02-12%20at%2010.22.21%E2%80%AFAM.png?alt=media&amp;token=8fbf5c04-339b-4253-8771-92df3b36176b" alt=""><figcaption></figcaption></figure>


# Response Commands

Create simple commands that respond in a variety of ways.

{% hint style="info" %}
**Good to Know:** This is create for servers that want to relay information quickly for FAQs or just general information that is commonly referred to.
{% endhint %}

<figure><img src="https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FCB7PHDr67C0WdYx1je1r%2Fcustom-commands.png?alt=media&amp;token=e992e8c3-4e39-4663-91b1-8c319a72ae87" alt=""><figcaption></figcaption></figure>

### Configuration

| Name        | Description                                                                                                                                   |
| ----------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
| Command     | This is the command name and this is what is used in Discord to execute the command                                                           |
| Description | When reviewing the list of command or entering a specific command the description is shown to the user to let them know what the command does |

#### Action Configuration

Actions are essentially a message. You can have up to 5 actions per Response Command.

With actions you can only have one interaction response. Interaction responses are responses to the command itself. Every command must have one interaction response. If you do not create an interaction response the default one will be used as it is required by Discord.

Channel Message action types will just send a message in the channel where the command was executed. You can have as many channel message actions as you'd like. They will be sent as separate messages to the channel.

Use the message builder to create the message for the command. You can view the message preview on the right side of the admin panel page


# Data Commands

Data commands are custom commands that have additional functionality beyond sending a message.

Data commands have two different types. Currently data commands support forms and REST data commands.

View the related documentation by following the links below

{% content-ref url="/pages/0DE5d0c0J1I8SOdhd9ar" %}
[Forms](/configurable-commands/data-commands/forms)
{% endcontent-ref %}

{% content-ref url="/pages/KXDGUkOORPzydVjbvfzM" %}
[REST Commands](/configurable-commands/data-commands/rest-commands)
{% endcontent-ref %}


# Forms

Form data commands allow you to gather information utilizing Discord Forms

{% hint style="info" %}
**Good to Know: A form resource must be created before you are able to create a data command that opens a form. More information around creating a form can be found in** [Server Resources](/extras/server-resources)
{% endhint %}

Forms are a new feature to Discord as of March of 2022 and as a proof of concept this forms data command was created to have the initial supports around this.

{% hint style="warning" %}
As of August 2022 Discord Forms still only support the string and textbox types. We are still waiting for Select and number types before moving too far with this feature as use cases are currently small.
{% endhint %}

{% hint style="warning" %}
As of August 2022 only a maximum of 5 fields are allowed in any Discord Form.
{% endhint %}

When a form has been submitted you will be able to view all the submissions in the admin panel.


# REST Commands

REST Data Commands can be used to interface with external APIs in a variety of ways.

![](https://t.gyazo.com/teams/chicksgold/c890f671bc6eb73d316045cfb9af2560.png)

### Configuration

Specify the API Url to set what REST endpoint will be called when executing the command. As of this moment you can choose from POST / PUT / PATCH / DELETE / GET

#### URL Configuration

The URL used also accepts dynamic URL that are driven by the parameter name using the same syntax as the Message Template Engine. Anything wrapped in ${} will be replaced with the matching value for the given parameter name.&#x20;

In the event you are using a parameter for a dynamic URL the response, the parameter that matches parameter mapping will go unused. Anything can be put into this.

In the example below I am target the public Star Wars API to allow fetching of any available endpoints and their matching ID parameters. <https://swapi.py4e.com/>

<figure><img src="https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FdGGQuTtW7oCEVDhbwfGc%2FScreenshot%202024-01-06%20201900.png?alt=media&amp;token=8c2c949c-0324-44c4-a294-0457f8b1a9cf" alt=""><figcaption></figcaption></figure>

#### Header Configuration

The header configurable allows you to set custom headers that may be required for the REST endpoint to work as expected

Add a new header by clicking the "Add Header" button. You can then enter the name and value for that header

{% hint style="warning" %}
Any set headers will overwrite default headers.
{% endhint %}

#### Command Parameters

Create up to 25 parameters of different types. This determines how they are formatted when building the JSON to send to the specified URL

<table><thead><tr><th width="214.76053818313892">Configuration Option</th><th>Explanation</th></tr></thead><tbody><tr><td>Name</td><td>This is the name of the parameter in the discord command. This is not used in the data mapping</td></tr><tr><td>Description</td><td>This is the description of the parameter for the discord command. This is not used in the data mapping</td></tr><tr><td>Type</td><td>View below for information on types</td></tr><tr><td>Mapping</td><td>The dot notation form to map the parameter values to the generation JSON data. Refer to <a data-mention href="#understanding-the-dot-notation-property-mapping">#understanding-the-dot-notation-property-mapping</a></td></tr></tbody></table>

**There are various types that have different JSON mapping behavior.**&#x20;

* String
  * A plain text parameter that allows any plain text characters. There is little to no validation around this parameter
* Number
  * Parameter must be a numeric value. Allows decimals. Validation is handled by Discord. Will be sent as a number in the JSON object
* Integer
  * Parameter must be a whole number. Decimals are not allowed. Validation is handled by Discord. Will be sent as a number in the JSON object
* Boolean
  * Parameter must be true or false. Options are pre-populated by Discord in the parameter for quickly being able to select. Validation is handled by Discord. Will be sent as a boolean in the JSON object.

#### Default Data

Default data can be used to add any additional information that is not captured in a parameter. This allows you to have static information that may be required for every request to that endpoint.

<table><thead><tr><th width="214.76053818313892">Configuration Option</th><th>Explanation</th></tr></thead><tbody><tr><td>Name</td><td>This is just used for you to better know what these are used for. These are for you only.</td></tr><tr><td>Type</td><td>View below for information on types</td></tr><tr><td>Mapping</td><td>The dot notation form to map the parameter values to the generation JSON data. Refer to <a data-mention href="#understanding-the-dot-notation-property-mapping">#understanding-the-dot-notation-property-mapping</a></td></tr><tr><td>Value</td><td>The value to be inserted into the data.</td></tr></tbody></table>

### Understanding the Dot Notation Property Mapping

For this example I am going to assume you have read the above and understand how to make properties and then show you an example and how it would behave for the data mapping.

Let's take the following parameters as an example

<table><thead><tr><th width="150">Name</th><th width="150">Value</th><th width="150">Type</th><th>Mapping</th></tr></thead><tbody><tr><td>param1</td><td>something</td><td>string</td><td>someObject.param1</td></tr><tr><td>param2</td><td>1.50</td><td>number</td><td>param2</td></tr><tr><td>param3</td><td>true</td><td>boolean</td><td>someObject.boolean</td></tr><tr><td>param4</td><td>5</td><td>integer</td><td>someObject.anotherObject.param4</td></tr></tbody></table>

Using the above parameters you will have a generation JSON that looks like the following:

```json
{
    "someObject": {
        "param1": "something",
        "boolean": true,
        "anotherObject": {
            "param4": 5
        }
    },
    "param2": 1.50
}
```

{% hint style="info" %}
Note that the name of the parameter does not matter. See how param3's mapping has someObject.boolean and the name "param3" is not present anywhere.
{% endhint %}


# Server Resources

Server Resources are various types of storage that allow for reusability between many features.

{% content-ref url="/pages/ePVWgRpfNj0zoRu59P92" %}
[Message Templates](/extras/server-resources/message-templates)
{% endcontent-ref %}

{% content-ref url="/pages/0DE5d0c0J1I8SOdhd9ar" %}
[Forms](/configurable-commands/data-commands/forms)
{% endcontent-ref %}

{% content-ref url="/pages/998MmY6CYGPMLJhcwZsG" %}
[Key Value Storage](/extras/server-resources/key-value-storage)
{% endcontent-ref %}


# Message Templates

Message Templates allow you to quickly and easily reuse commonly built messages.

<figure><img src="https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FSnadCnsWcfXhEIPBIKGL%2FScreenshot%202024-03-18%20at%208.46.40%E2%80%AFAM.png?alt=media&amp;token=cf2fe896-5d6c-4189-b206-ba10591678a0" alt=""><figcaption><p>Messages can be access via the left hand side navigation</p></figcaption></figure>

You can find your created message templates in the "Load Template" dropdown at the top of the Message Builder.

<figure><img src="https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FJ14LWhBlkgq0z80nNont%2FScreenshot%202024-03-18%20at%208.48.04%E2%80%AFAM.png?alt=media&amp;token=eaa2713d-4c1e-4f10-bebd-7d87b7ec68cb" alt=""><figcaption></figcaption></figure>


# Forms

Forms are a newer feature to discord that allow you to collect information.

Forms can be used in Data Commands and Support Tickets to collect various bits of information that are useful for your specific use cases.


# Key Value Storage

Key Value Storage can be used to store various things through a key value collection

You can use Key Value Storage Message Templating to send stored values by their category or key to fit your business use-cases

View the documentation below for the Message Templating Engine under the `keyValue` option to understand better on how to use these built key values into your messages.

If you want a to fetch the first key in the list you can use the `keyValueCategory` Message Template Instruction. When "Mark Used on Fetch" is turned on it will fetch the first result from the list that is unused, and then when an item is fetched the USED property will be set to true.

{% content-ref url="/pages/tN49K5h3XsMn9KUJAuCp" %}
[Message Templating Engine](/extras/message-templating-engine)
{% endcontent-ref %}

<figure><img src="https://t.gyazo.com/teams/chicksgold/5814997c3b7ac921eed9aff1953c7e5f.png" alt=""><figcaption><p>The configuration page for the key value storage</p></figcaption></figure>


# Message Templating Engine

A powerful and useful templating engine to have more control over the messages you are sending with Betsy

## How does it work?

Anytime you send a message through Betsy the message will be interpreted by our templating engine which will format the message before it is sent to discord. Allowing you to do various things like inserting a time, date, parameter, and so much more.

## How to use it?

In order to tell the templating engine that you have something in your message that needs to be formatted you must include a template instruction, OR an empty template instruction (`${}`) inside the CONTENT of a message. Empty template instructions are replaced with an empty string so they are not sent in the final message.

Simply include our templating tag anywhere into the discord message and watch the magic happen. For example lets say you want to have a formatted date time that is 3600 seconds (1 hour) in the future. Anywhere in your message simply add \<t:${time:3600}> to show a formatted date in the future.

This example will make use of the Discord Date Time Formatting Feature <https://c.r74n.com/discord/formatting#Timestamps>

<figure><img src="https://t.gyazo.com/teams/chicksgold/5010909149fc9b782eb07150e6058aae.png" alt=""><figcaption><p>The templating engine being used in the message builder.</p></figcaption></figure>

<figure><img src="https://t.gyazo.com/teams/chicksgold/21ccb6555f0f0f202d6049509fe6ab84.png" alt=""><figcaption><p>The formatted message in Discord</p></figcaption></figure>

## Available Templating Functions

### time

This will generate the current epoch time, and accepts a parameter which is how many seconds in the future you want to add.&#x20;

Example `${time:0}` - The current time

Example `${time:60}` - One minute in the future

| Parameter | Description                                                                                                                                    |
| --------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| seconds   | The number of seconds to add to the current time. For example ${time:3600} will add one hour to the current time at which the message was sent |

### keyValue

This will pull a stored value into the message template.

Example: `${keyValue:testCategory:testKey}` In the below image example this will fill in "Some Awesome Value" into that space.

| Parameter | Description                                                             |
| --------- | ----------------------------------------------------------------------- |
| category  | The category identifier that you have set in the panel                  |
| key       | The matching key value for the stored item inside of the given category |

<figure><img src="https://t.gyazo.com/teams/chicksgold/cb166d617c0ff2a6cc022bb16a0e18d8.png" alt=""><figcaption><p>An example of the matching category parameter</p></figcaption></figure>

<figure><img src="https://t.gyazo.com/teams/chicksgold/06cab6b063616d2c5f3057ea67930b1d.png" alt=""><figcaption><p>An example of the matching key parameter</p></figcaption></figure>

### keyValueCategory

This will pull a stored value into the message template.

Example: `${keyValueCategory:testCategory}` In the above image example this will fill in "Some Awesome Value" into that space.

**NOTE: If Mark Used On Fetch is turned on it will grab the next UNUSED key value pair.**

### ticketUser

When the message is sent within a ticket channel this will replace the templating engine instruction with a mention to the user.

Example: `${ticketUser}`<br>

### ticketChannel

**Can only be used in the Interaction Response for a Ticket Channel.** Used to provide a link to the channel that is created for the ticket interaction response.

Example: `${ticketChannel}`


# Message FAQs

Learn more about all the things you can do with message formatting.

### Discord Formatting Guide

There is a lot you can do within Discord, and there are a lot of resources out there to help.&#x20;

Review this document on everything you can do within Discord Messages

<https://c.r74n.com/discord/formatting#EscapeMentions>

### How do I get an ID for an Emoji?

Discord has a neat little tool that allows you to get exactly what you need to enter inside Betsy.\
Simply type `\:myEmojiTag:`\
For example in the Betsy server we have :upvote: , so simply type `\:upvote:` and send it to Discord.

It will reply with you the following: `<:upvote:1097239123250651227>`

Put exactly that into the Betsy Message Editor to get your Emoji

<figure><img src="https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2F8F6wwOiPsqq5DXdLsbGm%2Fezgif.com-video-to-gif.gif?alt=media&amp;token=35629892-b680-4890-a1ed-a677dd75180a" alt=""><figcaption><p>Getting the Text</p></figcaption></figure>

<figure><img src="https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2Ff2lp79FG144iBkDbOZxP%2Fezgif.com-video-to-gif.gif?alt=media&amp;token=5e1f8e0c-9658-46d2-a7e5-850062345c93" alt=""><figcaption><p>Pasting into the Send Message Feature</p></figcaption></figure>


# Custom ID Actions

Through Message Components you can create custom interactions with different features to help customize your experience with Betsy even further.

## How do I use Custom ID Implementations?

Each component has a field available called "Custom ID". This field can be used to create custom interactions between features and allow you to create your unique custom actions.

When using a Custom ID Action for a menu there is both a Menu Custom ID and an Menu Option Custom ID. Be sure to enter both of these values correctly for the functionality to work.

&#x20;Custom actions may have variables that are accepted that can be added using the ":" character. Reference the example on each of the custom actions to understand how to add those variables and what variables each custom action accepts.

{% hint style="info" %}
You can chain Custom ID Actions together to create multiple actions for a single component action. For example `ButtonChannelSendTrackedMessage:test&CreateTicket:1098254540890972220:1098254541406883924` which will send a tracked message and create a ticket both in the same button click.

**Chaining Custom ID Actions is a premium feature.** Refer to the <https://docs.betsybot.xyz/betsy-bot-discord-bot/betsy-premium-subscriptions> page for more information
{% endhint %}

## List of Custom ID Actions Available

### MenuCreateTicket (Formely ManualCreateTicket)

This allows you to open tickets through a menu allowing you to create different types of tickets from a single message. You can read it more using the page below

You must supply the identifier of the ticket in the fields custom ID.

{% content-ref url="/pages/inni2dqykQxb0A6h2nzQ" %}
[Custom Implementations](/features/support-panels-tickets/custom-implementations)
{% endcontent-ref %}

### CloseTicket

This action can only be used in Button components and when used inside of a Ticket Channel will close the ticket. Acts the same as the global command "/ticket close"

### ConfirmCloseTicket

This action can only be used in Button components. This custom action can be used to confirm the closure of a ticket if the "Auto Close" feature is used. This will force close the ticket. Currently this only works when the ticket creator clicks the button.

### CancelAutoCloseTicket

This action can only be used in Button components. This custom action can be used to confirm the closure of a ticket if the "Auto Close" feature is used. This will cancel the auto close that has been setup for the ticket.

### DeleteTicket

This action can only be used in Button components. When used inside a ticket channel this will delete a ticket. This will override the close action and the ticket will not be closed. This is essentially the same as deleting the channel or using the "/channel delete" global command.

### ClaimTicket

This action can only be used in Button components. When used inside a ticket channel this will claim the ticket. This behavior mimics the behavior of the Claim Ticket button added when the ticket is opened in the initial message. A ticket MUST have "Allow Claiming" setting turned on.

### ButtonCreateTicket:{identifier}

This allows you to open tickets through button components. You can read it more using the page below. You must use the delimiter and append the identifier for the support ticket.

Example "ButtonCreateTicket:Some Ticket Identifier"

{% content-ref url="/pages/inni2dqykQxb0A6h2nzQ" %}
[Custom Implementations](/features/support-panels-tickets/custom-implementations)
{% endcontent-ref %}

### ButtonSendTrackedMessage:{identifier}:{?channelId}

This allows you to send a tracked message with a button. This is a channel message and anyone in the channel can see this message. You must use the delimiter and append the identifier for the tracked message.

The channel ID parameter is option. The channel id parameter can be used to change which channel the message will be sent in. Without this parameter it will always be sent to the channel the button was clicked in.

Example "ButtonSendTrackedMessage:MyIdentifier"

Example "ButtonSendTrackedMessage:MyIdentifier:1234567890"

### ButtonChannelSendTrackedMessage:{identifier}

This allows you to send a tracked message with a button. This is a channel message and anyone in the channel can see this message. You must use the delimiter and append the identifier for the tracked message.

Example "ButtonSendTrackedMessage:MyIdentifier"

{% hint style="info" %}
An interaction response is required for components so when using this you will receive "Message Sent" privately. We suggest using ButtonSendTrackedMessage instead.
{% endhint %}

### ButtonReplyTrackedMessage:{identifier}

This allows you to send a tracked message with a button. This is a reply message that is private and only the person interacting with the button can see the tracked message. You must use the delimiter and append the identifier for the tracked message.

Example "ButtonReplyTrackedMessage:TestTrackedMessage"

### ButtonUpdateWithTrackedMessage:{identifier}

This allows you to update the message that was interacted with. The new message that appears will use the visibility of the original message. That means if you update a replied to message ("Only visible to me") it will still only be visible to the person interacting. You must use the delimiter and append the identifier for the tracked message.

Example "ButtonUpdateWithTrackedMessage:Updated Tracked Message"

### AddRole:{roleId}

This allows you to have a button that will add a user to a specific role. You must use the delimiter and append the role ID.

&#x20;Example "AddRole:951157914612146241"

### RemoveRole:{roleId}

This allows you to have a button that will remove a role from a specific user. You must use the delimiter and append the role ID.

&#x20;Example "RemoveRole:951157914612146241"

### MenuUpdateWithTrackedMessage

This allows you to update the message that was interacted with. The new message that appears will use the visibility of the original message. That means if you update a replied to message ("Only visible to me") it will still only be visible to the person interacting.

The Menu Custom ID Must be "MenuUpdateWithTrackedMessage" and then the Option Custom ID Must match an Identifier used for a Tracked Message

### MenuSendTrackedMessage

This allows you to send a tracked message with a button. This is a channel message and anyone in the channel can see this message.&#x20;

The Menu Custom ID Must be "MenuSendTrackedMessage" and then the Option Custom ID Must match an Identifier used for a Tracked Message

### MenuChannelSendTrackedMessage

This allows you to send a tracked message with a button. This is a channel message and anyone in the channel can see this message.&#x20;

The Menu Custom ID Must be "MenuChannelSendTrackedMessage" and then the Option Custom ID Must match an Identifier used for a Tracked Message

{% hint style="info" %}
An interaction response is required for components so when using this you will receive "Message Sent" privately. We suggest using MenuSendTrackedMessage instead
{% endhint %}

### MenuReplyTrackedMessage

This allows you to send a tracked message with a menu select. This is a reply message that is private and only the person interacting with the button can see the tracked message.

The Menu Custom ID Must be "MenuReplyTrackedMessage" and then the Option Custom ID Must match an Identifier used for a Tracked Message

### DeleteMessage

Deletes the message that the component is attached to

### DeleteTrackedMessage:{identifier}

Deletes the last message that was sent for a tracked message

Example "DeleteTrackedMessage:MyIdentifier"

### VerifyMessage

This is the custom ID action used to send the verification for the User Verification feature. This custom ID action allows you to customize the message that is sent to your liking. Creating a button with this Custom ID Action will send the link they need to click in order to verify for your server.

### ReviewServer

Opens up the modal experience to review the server using the Review feature

### ReviewUser

Opens up the modal experience to review the Server using the Review feature

### ReviewCategory:{categoryName}

Opens up the modal experience to review the category provided with the parameter.

Example "ReviewCategory:MyReviewCategory"

### GithubIssueSubscribe:{repo}:{issueNumber}

Subscribes the channel to updates about the issue.

Example "GithubIssueSubscribe:my-repo:1234"

### SaveTicketTranscript

Saves the transcript for the support ticket that this custom ID action was executed in

Example "SaveTicketTranscript"

### GenerateTicketTranscript

Sends the HTML File for the ticket transcript in the support ticket channel the Custom ID Action was executed in

Example "GenerateTicketTranscript"

### MoveChannel:{categoryId}

Moves the channel that this custom ID action is executed on.

Example "MoveChannel:123456789"

### RenameChannel:{name}

Renames the channel with the given string

Example "RenameChannel:SomeNewName"

### OpenForm:{identifier}

Opens the form experience within Discord. The identifier links to your discord form title field created in the Betsy Panel.

Example "OpenForm:BugReport"


# Betsy REST API

The Swagger Generated REST API Resources

### Authentication

The REST API is currently only authenticatable using the JWT Token generated when logging in with Discord through the admin panel. You can find this key in your local storage for the website. Our JWT Tokens expire after 30 days.

In the future we will support additional authentication methods such as an API Key. We will make this a priority based on the amount of interest in this feature. So if you are interested in using this more efficiently please reach out.

### OpenAPI Specs

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/AuditLog" method="post" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/" method="post" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/Logout" method="delete" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/RefreshToken" method="get" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/Discord/Test" method="get" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/Discord/OAuth/ExchangeCode" method="post" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/Discord/OAuth/RefreshToken" method="post" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordAutoResponder" method="post" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordAutoResponder/{id}" method="get" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordAutoResponder/{id}" method="delete" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordAutoResponder/{id}" method="patch" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordAutoResponder/{id}/ToggleActive" method="patch" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordAutoroleContainer" method="post" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordAutoroleContainer/{id}" method="get" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordAutoroleContainer/{id}" method="delete" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordAutoroleContainer/{id}" method="patch" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordAutoroleContainer/{id}/ToggleActive" method="patch" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordChannelBackup" method="post" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordChannelBackup/{id}" method="get" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordChannelBackup/{id}" method="delete" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordChannelBackup/{id}" method="patch" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordChannelCleaner" method="post" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordChannelCleaner/{id}" method="delete" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordChannelCleaner/{id}" method="patch" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordChannelCleaner/{id}/Clean" method="post" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordChannelCleaner/Clean" method="post" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/Discord/ApplicationCommand/{id}" method="get" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/Discord/ApplicationCommand/{id}" method="delete" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/Discord/ApplicationCommand" method="get" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/Discord/ApplicationCommand" method="post" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/Discord/ApplicationCommand" method="patch" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/Discord/ApplicationCommand/Test" method="get" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/Discord/ApplicationCommand/Test" method="post" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordForm/Guild/{guildId}/Forms" method="get" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordForm/Guild/{guildId}/Forms" method="post" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordForm/Guild/{guildId}/Forms" method="patch" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordForm/{id}" method="delete" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordForm/Guild/{guildId}/Forms/{formId}" method="get" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGiveaway" method="post" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGiveaway/{id}" method="get" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGiveaway/{id}" method="delete" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGiveaway/{id}" method="patch" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGiveaway/{id}/ToggleActive" method="patch" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGuild" method="post" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGuild/{guildId}" method="get" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGuild/{guildId}/GlobalSettings" method="patch" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGuild/{guildId}/ConfigurationOwner/{newOwnerDiscordId}" method="patch" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGuild/{guildId}/InviteSettings" method="patch" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGuild/{guildId}/ActivateCustomBot" method="patch" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGuild/{guildId}/RegisterGlobalCommands/AI" method="post" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGuild/{guildId}/RegisterGlobalCommands/Giveaway" method="post" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGuild/{guildId}/RegisterGlobalCommands/Review" method="post" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGuild/{guildId}/RegisterGlobalCommands/KeyValue" method="post" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGuild/{guildId}/RegisterGlobalCommands/Payments" method="post" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGuild/{guildId}/RegisterGlobalCommands/Ticket" method="post" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGuild/{guildId}/RegisterGlobalCommands/Poll" method="post" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGuild/{guildId}/RegisterGlobalCommands/Channel" method="post" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGuild/{guildId}/RegisterGlobalCommands/Message" method="post" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGuild/{guildId}/ReviewSettings" method="patch" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGuild/{guildId}/AutoRoles" method="patch" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGuild/{guildId}/ApiKeys" method="patch" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGuild/{guildId}/AuthorizedUsers" method="patch" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGuild/{guildId}/AuthorizedOwners" method="patch" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGuild/{guildId}/Setup" method="post" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGuild/{guildId}/Commands" method="get" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGuild/{guildId}/Invites" method="get" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGuild/{guildId}/GuildUserInvites" method="get" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGuild/{guildId}/KeyValueCategories" method="get" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGuild/{guildId}/Channels" method="get" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGuild/{guildId}/Users" method="get" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGuild/{guildId}/DiscordCommand/{commandId}/ToggleActive" method="patch" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGuild/{guildId}/SetAuditLogChannel" method="patch" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGuild/{guildId}/SetFeatures" method="patch" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGuild/{guildId}/Channel/{channelId}/SendMessage" method="post" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGuild/{guildId}/SupportMessages" method="get" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGuild/{guildId}/WelcomeMessages" method="get" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGuild/{guildId}/DiscordMessages/{discordMessageId}" method="get" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGuild/{guildId}/DiscordMessages/{discordMessageId}" method="patch" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGuild/{guildId}/SupportTicketPanels" method="get" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGuild/{guildId}/SupportTickets" method="post" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGuild/{guildId}/TrackedMessages" method="get" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGuild/{guildId}/TrackedMessages" method="post" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGuild/{guildId}/TrackedMessages/{messageId}" method="get" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGuild/{guildId}/TwitchEventSubscriptions" method="get" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGuild/{guildId}/TwitchEventSubscriptions" method="post" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGuild/{guildId}/TwitchEventSubscriptions/{id}" method="delete" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGuild/PopulateNames" method="post" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGuild/{guildId}/SupportTickets/{settingsId}/Submissions" method="get" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGuild/{guildId}/SupportTickets/{settingsId}/Submissions/{supportTicketId}" method="get" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGuild/{guildId}/Resources/Messages" method="get" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGuild/{guildId}/DiscordChannelCleaners" method="get" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGuild/{guildId}/AutoRoleContainers" method="get" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGuild/{guildId}/AutoResponders" method="get" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGuild/{guildId}/Giveaways" method="get" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGuild/{guildId}/DiscordPolls" method="get" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGuild/{guildId}/DiscordThreadChannels" method="get" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGuild/{guildId}/RequiresLogin" method="get" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGuild/{guildId}/Verify/{userId}" method="post" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGuild/{newGuildId}/TransferFrom/{oldGuildId}" method="post" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGuild/{guildId}/AuditLogs" method="get" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGuild/{guildId}/DiscordChannelBackups" method="get" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGuild/{guildId}/DiscordReviews" method="get" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGuild/{guildId}/ImportTemplate" method="get" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordGuild/{guildId}/ImportTemplate" method="post" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordMessage" method="post" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordMessage/{id}" method="get" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordMessage/{id}" method="delete" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordMessage/{id}" method="patch" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordMessage/{id}/ToggleActive" method="patch" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordPoll" method="post" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordPoll/{id}" method="get" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordPoll/{id}" method="delete" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordPoll/{id}" method="patch" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordPoll/{id}/ToggleActive" method="patch" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordSupportTicket/{id}" method="get" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordSupportTicket/{id}/Close" method="patch" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordSupportTicket/{id}/Public" method="get" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordSupportTicketSettings/{id}" method="get" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordSupportTicketSettings/{id}" method="delete" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordSupportTicketSettings/{id}" method="patch" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordSupportTicketSettings/{id}/CloseOpenTickets" method="patch" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordThreadChannel" method="post" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordThreadChannel/{id}" method="get" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordThreadChannel/{id}" method="delete" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordThreadChannel/{id}" method="patch" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordThreadChannel/{id}/ToggleActive" method="patch" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordTrackedMessage/{id}" method="delete" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordTrackedMessage/{id}" method="patch" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/DiscordTrackedMessage/{id}/Active" method="patch" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/KeyValueCategory" method="post" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/KeyValueCategory/{id}" method="get" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/KeyValueCategory/{id}" method="delete" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/KeyValueCategory/{id}" method="patch" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/TwitchEventSubscription" method="get" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/User" method="post" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/User/UpdatePassword" method="post" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/User/Guilds" method="get" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/User/DiscordUser" method="get" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/User/Profile" method="get" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}

{% openapi src="<https://api.betsybot.xyz/swagger/v1/swagger.json>" path="/User/Verify" method="post" %}
<https://api.betsybot.xyz/swagger/v1/swagger.json>
{% endopenapi %}


# Webhooks

Webhooks can be used through the Betsy Bot API to interact with your server.

### Azure Webhooks

#### Pull Requests

Send a new pull request Webhook to the Betsy API to send a notification to your server.

| Setting      | Value                                                                     |
| ------------ | ------------------------------------------------------------------------- |
| URL          | <https://api.betsybot.xyz/Webhook/AzureDevops>                            |
| HTTP Headers | <p>Betsy-Guild-Id:\<yourGuildId><br>Betsy-Channel-Id:\<yourChannelId></p> |

<figure><img src="https://i.gyazo.com/66391815e28dfdab446a777e4f469035.png" alt=""><figcaption><p>Azure Service Hook Configuration</p></figcaption></figure>

Enter the information above for a new Webhook Service Hook in azure to receive an update in the given channel. Set the headers correctly to ensure it works.

{% hint style="info" %}
The bot must be invited and have permission to post in the given guild and channel.
{% endhint %}

<figure><img src="https://i.gyazo.com/e965b80f8ef499765b4336090c87c3a8.png" alt=""><figcaption><p>Test Webhook Sent with the above provided configuration</p></figcaption></figure>


# Betsy Webhook Messages

Send messages based on various webhook events from your favorite websites.

### Github

Check out our full article on the Betsy Blogs on how to setup and use Webhooks with Discord.

<https://blog.betsybot.xyz/step-by-step-guide-to-setting-up-github-to-discord-webhooks>

### Azure Devops - Service Hooks

You can setup Azure Devops Service hooks to have Betsy Send Messages based on various events that happen within your Azure Devops Projects.

#### Setup

1. On any Azure Devops project go to your Project Settings.
2. Click on "Service Hooks" in the left hand menu
3. Click the "+" button to create a new service hook
4. Under the list view select "Web Hooks" for your service type
5. Click Next
6. Select your Trigger (Check supported triggers below)
7. Select any filters you want for your trigger
8. Click Next
9. Enter your Action Details
   1. In the URL enter the following "<https://api.betsybot.xyz/Webhook/AzureDevops>"
   2. Your Authentication Username and Password can be null
   3. Under HTTP Headers enter the following
      1. Betsy-Guild-Id:\<Your Guild Id> (Betsy-Guild-Id:943258522643230740)
      2. &#x20;Betsy-Channel-Id:\<Your Channel Id> (Betsy-Channel-Id:961001381731377282)
   4. You can leave the rest of the settings alone
10. Test your New Service Hook with the Test Button. You should see a test message in your server.
11. If successful, you can hit finish.
    1. If not successful double check the settings. If still having issues open a support ticket in our discord.

#### Pull Requests (Supports all Pull Request Types)

<figure><img src="https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2F0upHEZyaPGOIkSFXIfv7%2FScreenshot%202023-05-22%20at%208.50.50%20AM.png?alt=media&amp;token=a3624eb0-6765-4366-a2f3-1cd8fe9b98ce" alt=""><figcaption><p>An example of a created pull request message</p></figcaption></figure>

#### Build Completed

<figure><img src="https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FWYtBMCxeAff0rZnftCON%2FScreenshot%202023-05-22%20at%208.51.31%20AM.png?alt=media&amp;token=33d034e7-82ac-4986-b7de-d96764bf2172" alt=""><figcaption><p>An example of a successful build</p></figcaption></figure>


# Github Integration

Let Betsy do more for you in Github by authenticating our Github App

### Configure your Github Organization / Account

1. Add the Betsy Bot Github Application to your organization <https://github.com/apps/betsy-bot/installations/select_target>
2. Get your installation ID for the bot.
   1. You can find this in the URL when configuring the bot
      1. Go to your Oranization Settings
      2. Go to Github Apps
      3. ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2F6YEfuWDOTpqcxY2r9Qtg%2FScreenshot%202024-01-02%20at%201.36.55%20PM.png?alt=media\&token=83dd813a-c636-47a7-a287-191e1ab9901b)
      4. Hit "Configure" on Betsy Bot
      5. ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FWIM2cOvLsy1Us1EKtfD4%2FScreenshot%202024-01-02%20at%201.37.23%20PM.png?alt=media\&token=f9744de8-0d0c-4469-9cb4-83d6d864a855)
      6. Find the Installation ID in your URL
      7. ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FFUOB1rSGPdtBlV94z0NE%2FScreenshot%202024-01-02%20at%201.37.52%20PM.png?alt=media\&token=e2057f86-43b8-4ae0-917d-970dbed951b6)
3. Enter your organization name and Installation ID into the settings page on the "Github" page in the Betsy Admin Panel
4. ![](https://343010505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FInrKt5xcGavfHdWUCbsA%2Fuploads%2FoYobc3iIxFYD8PDfMxae%2FScreenshot%202024-01-02%20at%201.43.57%20PM.png?alt=media\&token=fcc33a1e-943b-4a7c-baef-1be28f0fb04a)
5. Hit Save


