Documentation
Parsers
Component Parser

Component Parser

Component parser consists of 3 parts: ActionRow , Button and Menus

ActionRow

ActionRow is a container for buttons and menus. It can contain up to 5 buttons and 1 menu.

Usage

 
{actionRow:
    // Button or Menu parser
}

Button

Button is a clickable button. It can be used to send a message, open a link or execute a command.

Usage

{
    button: label: style: customId: disabled: emoji;
}

Properties

PropertyTypeDescriptionRequired
labelstringButton labelYes
stylestring | numberButton styleYes
customIdstringButton customIdYes
disabledbooleanButton disabledNo
emojistringButton emojiNo

Button styles

StyleDescription
1 | primaryPrimary
2 | secondarySecondary
3 | successSuccess
4 | dangerDanger
5 | linkLink

Example

{button:
    click me:
    primary:
    click-me:
    no:
    ✔️
}

Menu

Menu is a dropdown menu. It can be used to send a message, open a link or execute a command.

ℹ️

Menu is divided into : stringInput, textInput, userInput, roleInput, mentionableInput, channelInput

StringInput

StringInput is a dropdown menu with string inputs.

Usage

{stringInput:
    customId:
    placeholder:
    minValues:
    maxValues:
    disabled:
    {option:
        label:
        value:
        description:
        default:
        emoji
    }
    {option:...}
}

Properties

PropertyTypeDescriptionRequired
customIdstringMenu customIdYes
placeholderstringMenu placeholderYes
minValuesnumberMenu minValuesYes
maxValuesnumberMenu maxValuesYes
disabledbooleanMenu disabledNo
optionstringMenu optionYes

Option properties

PropertyTypeDescriptionRequired
labelstringOption labelYes
valuestringOption valueYes
descriptionstringOption descriptionNo
defaultbooleanOption defaultNo
emojistringOption emojiNo

Example

{stringInput:
    string-input:
    Select a string:
    1:
    1:
    no:
    {option:
        Option 1:
        option-1:
        Option 1 description:
        no:
        ✔️
    }
    {option:
        Option 2:
        option-2:
        Option 2 description:
        no:

    }
}

TextInput

TextInput is a dropdown menu with text inputs.

Usage

{
    textInput: label: style: customId: placeholder: required: value: minLength: maxLength;
}

Properties

PropertyTypeDescriptionRequired
labelstringMenu labelYes
stylestring | numberMenu styleYes
customIdstringMenu customIdYes
placeholderstringMenu placeholderNo
requiredbooleanMenu requiredNo
valuestringMenu valueNo
minLengthnumberMenu minLengthNo
maxLengthnumberMenu maxLengthNo

TextInput styles

StyleDescription
1 | shortShort
2 | paragraphLong

Example

{textInput:
    text-input:
    short:
    text-input:
    Enter a text:
    no:
    no:
    1:
    100
}

UserInput & MentionableInput & RoleInput

UserInput, MentionableInput and RoleInput are dropdown menus with user, mentionable and role inputs.

Usage

{
    stringInput: customId: placeholder: minValues: maxValues: disabled;
}
 
// same for mentionableInput and roleInput

Properties

PropertyTypeDescriptionRequired
customIdstringMenu customIdYes
placeholderstringMenu placeholderYes
minValuesnumberMenu minValuesYes
maxValuesnumberMenu maxValuesYes
disabledbooleanMenu disabledNo

Example

{userInput:
    user-input:
    Select a user:
    1:
    1:
    no
}
 
// same for mentionableInput and roleInput

ChannelInput

ChannelInput is a dropdown menu with channel inputs.

Usage

{channelInput:
    customId:
    placeholder:
    minValues:
    maxValues:
    disabled:
    {channelType:
        CHANNEL_TYPE
    }
    {channelType:...}
}

Properties

PropertyTypeDescriptionRequired
customIdstringMenu customIdYes
placeholderstringMenu placeholderYes
minValuesnumberMenu minValuesYes
maxValuesnumberMenu maxValuesYes
disabledbooleanMenu disabledNo
channelTypestring | numberMenu channelTypeNo

ChannelInput channelTypes

ChannelTypeDescription
0 | text | GUILD_TEXTGuild Text
1 | dm | DMDM
2 | voice | GUILD_VOICEGuild Voice
3 | group | GROUP_DMGroup DM
4 | category | GUILD_CATEGORYGuild Category
5 | news | GUILD_NEWSGuild News
10 | newsThread | GUILD_NEWS_THREADGuild News Thread
11 | publicThread | GUILD_PUBLIC_THREADGuild Public Thread
12 | privateThread | GUILD_PRIVATE_THREADGuild Private Thread
13 | stage | GUILD_STAGE_VOICEGuild Stage Voice
14 | directory | GUILD_DIRECTORYGuild Directory
15 | forum | GUILD_FORUMGuild Forum

Example

{channelInput:
    channel-input:
    Select a channel:
    1:
    1:
    no:
    {channelType:
        GUILD_TEXT
    }
    {channelType:
        GUILD_VOICE
    }
}