> For the complete documentation index, see [llms.txt](https://infinitybot.gitbook.io/infinitybot-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://infinitybot.gitbook.io/infinitybot-docs/guides/infinitybot-guides/how-to-create-a-custom-command.md).

# How to Create a Custom Command

Create a custom command for your server!

{% hint style="info" icon="gem" %}
This feature requires a [premium subscription](/infinitybot-docs/basics/premium.md) to work.
{% endhint %}

Premium members can request a custom command containing up to 50 actions. A developer will then ask you what you want and how you want it, they will then create the perfect custom command for you!

{% hint style="info" %}
Custom commands can only be used in one server. You need to be server owner to be able to create a custom command.
{% endhint %}

## Steps to Create a Custom Command

Below is everything you need to do to be able to create your custom command. You can create a ticket in the support server, a developer will help you there!

{% stepper %}
{% step %}

#### Command Name

First, you will need to select a command name. This can be anything, from a word to a prefix command. (`!prefix`)
{% endstep %}

{% step %}

#### What does your command do?

You need a base line of an idea what your command needs to do. You need this to be able to select the right actions for your command.
{% endstep %}

{% step %}

#### Select a chain of actions

You can select 50 actions for your command. Below are all actions that you can choose from:
{% endstep %}
{% endstepper %}

#### Message actions

<details>

<summary>Normal Message</summary>

A normal message is just a plain message. You can send it to the channel of the command, to a specific channel or as DM to a user.

![](https://2255898787-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZqXmdaTQZknKkvcG0Uxz%2Fuploads%2FfjCDvCh1EA9VZIXtMhVe%2Fimage.png?alt=media\&token=5ffa7f6b-d9cf-4f68-9f4a-f7b3000616b2)

</details>

<details>

<summary>Embed Message</summary>

An embed message is a message that contains an embed. You can put an author, title, base, footer, thumbnail image and image in the embed. You can also select a colour. You can send it to the channel of the command, to a specific channel or as DM to a user.

![](https://2255898787-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZqXmdaTQZknKkvcG0Uxz%2Fuploads%2FPn0d5NAnxEFBvpqxcumX%2Fimage.png?alt=media\&token=0e9744dd-8dc4-415f-af26-1a9a9d18e32a)

</details>

<details>

<summary>Message with Buttons</summary>

A message with buttons can be used to let users interact with the bot without using a command. The message can be a normal message, an embed or an empty message. You can also select a name, colour and emoji for the button. Messages can have up to 5 buttons.

![](https://2255898787-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZqXmdaTQZknKkvcG0Uxz%2Fuploads%2FLwaWf4Cmzf54LvHfosTx%2Fimage.png?alt=media\&token=4cda06df-8e19-4084-a126-17bf9ba84f5f)

</details>

<details>

<summary>Message with Menu</summary>

A message with a menu can be used to let users select something from a menu. The message can be a normal message, an embed or an empty message. You can also select a placeholder, selection name & description and an emoji for the menu. Messages can have up to 10 selections.

![](https://2255898787-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZqXmdaTQZknKkvcG0Uxz%2Fuploads%2FdkmT8r3vhdgKtaIyQnHh%2Fimage.png?alt=media\&token=5a30d5d2-b06e-463a-ab5c-e1dd77e83e49)

</details>

<details>

<summary>Pin a Message</summary>

You can also make the bot pin a message. This can be a message from any other action or the command that triggered the bot.

![](https://2255898787-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZqXmdaTQZknKkvcG0Uxz%2Fuploads%2F99Xw2MPsrbmcoMBkeQV4%2Fimage.png?alt=media\&token=b9d149ea-4ba3-4953-8e59-18025e9dfe52)

</details>

<details>

<summary>Delete a Message</summary>

You can also make the bot delete a message. This can be a message from any other action or the command that triggered the bot.

![](https://2255898787-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZqXmdaTQZknKkvcG0Uxz%2Fuploads%2FvqYCTAYlnBsDtgToKKIa%2Fimage.png?alt=media\&token=bafa7a8d-6a2a-46aa-b4b3-a6ec88a2abdf)

</details>

<details>

<summary>Send a Form</summary>

You can also send a form to allow users to enter content into the bot. You can use that content later on in the command. You can add a form title, question name & placeholder to a form. A form can have up to 5 questions.

**(!)** Forms can only be used right after a button or menu action.

&#x20;![](https://2255898787-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZqXmdaTQZknKkvcG0Uxz%2Fuploads%2FYCBdfOG9nf8UMIXcI9fH%2Fimage.png?alt=media\&token=befcb33a-c1c1-4c3b-97e5-dbc420a31d11)

</details>

#### Role actions

<details>

<summary>Add a Role</summary>

You can add one or more roles to a user.

</details>

<details>

<summary>Remove a Role</summary>

You can remove one or more roles from a user.

</details>

<details>

<summary>Create a Role</summary>

You can create a new role for your server. The role can have a name and colour.

</details>

<details>

<summary>Delete a Role</summary>

You can delete a role from your server.

</details>

#### Channel actions

<details>

<summary>Create a Channel</summary>

You can create a new channel for your server. The channel can have a name and description.

</details>

<details>

<summary>Delete a Channel</summary>

You can delete a channel from your server.

</details>

<details>

<summary>Create a Thread</summary>

You can also create a thread in a channel. The thread can have a name and can be a private or public thread.

</details>

#### User actions

<details>

<summary>Kick a User</summary>

You can kick a user from the server

</details>

<details>

<summary>Ban a User</summary>

You can ban a user from the server.

</details>

<details>

<summary>Time-out a User</summary>

You can put a user in time-out. This time-out can have a duration from 5 seconds to 28 days.

</details>

<details>

<summary>Change a User's Nickname</summary>

You can also change a user's nickname in the server.

</details>

#### Check actions

<details>

<summary>Check for a Role</summary>

You can also check if a user has a role or not.

</details>

<details>

<summary>Check for a Permission</summary>

Check if a user has a certain permission.

</details>

<details>

<summary>Check for a User</summary>

Check if the user is a user.

</details>

<details>

<summary>Chance</summary>

Let an action depend on a % chance.

</details>

<details>

<summary>Compare Values</summary>

Compart value A and value B against with other. The comparison type can be:

* Value A is **less than** value B (numbers only)
* Value A is **more than** value B (numbers only)
* Value A is **equal to** value B
* Value A is **not equal to** value B
* Value A **contains** value B
* Value A **does not contain** value B
* Value A **starts with** value B
* Value A **does not start with** value B
* Value A **ends with** value B
* Value A **does not end with** value B

</details>

#### Other actions

<details>

<summary>Take a Break</summary>

You can also make the bot wait a few seconds before running the next action.

</details>

#### Let a developer create the command for you!

Now create a ticket and a developer will help you create your custom command!
