Custom CommandCustom Command
Dashboard
Discord
GitHub
Dashboard
Discord
GitHub
  • Guide

    • Getting Started
    • Creating Custom Commands
    • Syntax
    • Code and Comments
    • Using Variables
    • Using Arrays
    • Using Templates
    • Frequently Asked Questions
  • Trigger Types

    • Triggers showcase
    • Button Click
    • Channel add/remove
    • On Join/Leave
    • Library
    • Menu Interaction
    • Modal (Form) Interaction
    • Poll Updates Trigger
    • User Reaction
    • Role Given/Taken
    • Scheduled Event Updates Trigger
    • On Server Boost
    • Slash Command
    • Timed or Interval
    • On Timeout
    • Voice Join/Leave
    • Word Trigger
  • Tutorials & Examples

    • Ping command
    • Staff application
    • Report command
    • Collect reward
    • Simple Slash Command: Confession
    • Sending a poll
  • Other Information

    • Setting Up Your Custom Bot
    • Curl Arguments
    • Creating Embeds with the Embed Builder
    • Understanding Discord Rate Limits and Bot Cooldowns
    • Troubleshooting
    • Useful Information
    • Setting Up Welcomer
  • Changelogs

    • v1
    • V1.4.4
  • Functions

    • Member Functions

      • $authorAvatar
      • $authorID
      • $ban
      • $blackListIDs
      • $boostingSince
      • $changeNickname
      • $discriminator
      • $displayName
      • $eventNewNickname
      • $eventOldNickname
      • $findMember
      • $getUserBadges
      • $globalName
      • $hasAnyPerm
      • $hasAnyRole
      • $hasPerms
      • $hasRoles
      • $isBanned
      • $isUserDMEnabled
      • $kick
      • $memberSearch
      • $membersWithStatus
      • $mention
      • $moveUser
      • $muteUser
      • $nickname
      • $status
      • $unban
      • $user
      • $userAvatar
      • $userBanner
      • $userConnectedVC
      • $userExists
      • $userID
      • $userPerms
      • $userReacted
      • $userRoleColor
      • $userRoles
      • $userTag
      • $username
      • $usersBanned
      • $usersInChannel
      • $usersTyping
      • $usersWithRole
    • Channel Functions

      • $blackListChannelIDs
      • $cacheChannelMessages
      • $categoryChannels
      • $channel
      • $channelCategoryID
      • $channelCount
      • $channelExists
      • $channelID
      • $channelName
      • $channelPermissionsFor
      • $channelTopic
      • $channelType
      • $channelUsed
      • $clear
      • $cloneChannel
      • $closeTicket
      • $createChannel
      • $createForum
      • $deleteChannels
      • $editChannel
      • $editForum
      • $eventChannelID
      • $eventChannelParent
      • $findChannel
      • $findServerChannel
      • $getChannelMessages
      • $getChannelSlowmode
      • $latestMessage
      • $mentionChannel
      • $modifyChannelPerms
      • $newTicket
      • $removeContains
      • $serverChannels
      • $setChannelTopic
      • $slowmode
      • $transcriptChannel
      • $useChannel
      • $vcAfter
      • $vcBefore
      • $voiceChannelID
    • Message Functions

      • $DM
      • $addCmdReactions
      • $addMessageReactions
      • $addReactions
      • $argsCheck
      • $argsCount
      • $awaitMessage
      • $channelSendMessage
      • $clearReaction
      • $clearReactions
      • $createWebhook
      • $deleteCommand
      • $deleteIn
      • $deleteMessage
      • $deleteWebhook
      • Delete Webhook Message
      • $disableChannelMentions
      • Disable @everyone Mentions
      • $disableRoleMentions
      • $editEmbed
      • $editIn
      • $editMessage
      • $editWebhookMessage
      • $emoji
      • $emojiID
      • $emojiName
      • $emojiToString
      • $emojisFromMessage
      • Enable @everyone Mentions
      • $forwardMessage
      • $getCommandOption
      • $getEmbed
      • $getMessage
      • $getMessageReactions
      • $getReactionCount
      • $getReactions
      • $hasEmbeds
      • $hyperlink
      • $message
      • $messageAttachment
      • $messageExists
      • $messageFlags
      • $messageID
      • $messagePublish
      • $messageSlice
      • $messageType
      • $messageWebhookID
      • Modify Webhook
      • $msg
      • $noEscapingMessage
      • $noMentionMessage
      • $pinMessage
      • $poll
      • $referenceChannelID
      • $referenceMessageID
      • $reply
      • $sendCrosspostingMessage
      • $sendDM
      • $sendMessage
      • $sendWebhook
      • $sentMessageID
      • $unpinMessage
      • $webhookExists
    • Interaction Functions

      • $commandName
      • $getOption
      • $interactionDelete
      • $interactionEdit
      • $interactionId
      • $interactionReply
      • $modal
      • $modalAnswer
      • $modalID
    • Threads Functions

      • $addUsersToThread
      • $archiveThread
      • $closePost
      • $createPost
      • $createThread
      • $deletePost
      • $deletePosts
      • $deleteThreads
      • $editPost
      • $editThread
      • $getThreads
      • $joinThreads
      • $leaveThreads
      • $lockPost
      • $lockThread
      • $pinPost
      • $removeUsersFromThread
      • $thread
    • Role Functions

      • $blackListRoleIds
      • $colorRole
      • $createRole
      • $deleteRoles
      • $findRole
      • $getRoleColor
      • $giveRoles
      • $guildRoles
      • $hasRole
      • $highestRole
      • $highestServerRole
      • $lowestRole
      • $lowestServerRole
      • $mentionRole
      • $modifyRole
      • $modifyRolePerms
      • $modifyUserRoles
      • $role
      • $roleCount
      • $roleExists
      • $roleID
      • $roleIcon
      • $roleMembersCount
      • $roleName
      • /Role/rolePerms
      • $rolePosition
      • $setRoles
      • $takeRoles
      • $toggleRoles
    • Server Functions

      • $addEmoji
      • $allMembersCount
      • $createAutomodKeyword
      • $deleteAutomod
      • $deleteEmojis
      • $editAutomodKeyword
      • $emojiCount
      • $emojiExists
      • $getInviteInfo
      • $getServerInvite
      • $guild
      • $membersCount
      • $ownerID
      • $resolveEmojiID
      • $securityPause
      • $serverBanner
      • $serverBoostCount
      • $serverBoostLevel
      • $serverContentFilter
      • $serverDescription
      • serverEmojis
      • serverFeatures
      • $serverIcon
      • $serverName
      • $serverRegion
      • $serverSplash
      • $serverVerificationLevel
      • $setGuildIcon
      • $setGuildName
      • $systemChannelID
    • Random Functions

      • $random
      • $randomChannelID
      • $randomMention
      • $randomRoleID
      • $randomString
      • $randomText
      • $randomTextBiased
      • $randomUserID
      • $resetRandom
    • Text Functions

      • $buffer
      • $channelNSFW
      • $charCount[text]
      • $checkContains
      • $customEmoji
      • $disableMentions
      • $filterMessage
      • $filterMessageWords
      • $findChars
      • $findNumbers
      • $findSpecialChars
      • $indexOf
      • $isChannelMention
      • $isUserMention
      • $mentionType
      • $mentioned
      • $mentionedChannels
      • $mentionedRoles
      • $noMentionMessage
      • $numToWord
      • $numberSeparator
      • $padLeft
      • $padRight
      • $repeatMessage
      • $replaceText
      • $stringEndsWith
      • $stringStartsWith
      • $textLength
      • $textShuffle
      • $textSlice
      • $textTrim
      • $toLocaleUppercase[text]
      • $toLowercase[text]
      • $toUppercase[text]
      • $uri
      • $void
    • Condition Functions

      • $checkCondition
      • $conditional
      • $else
      • $elseif
      • $endIf
      • $endelseif
      • $if
    • Sticker Functions

      • $createSticker
      • $deleteSticker
      • $editSticker
      • $messageStickers
      • $serverStickers
      • $sticker
    • Event Functions

      • $eventCreate
      • $eventDelete
      • $eventEdit
      • $eventEnd
      • $eventExists
      • $eventStart
      • $getEventInfo
      • $getEventUsers
      • $guildEvents
    • User Timeout Functions

      • $timeoutAction
      • $timeoutBy
      • $timeoutReason
      • $userGetTimeout
      • $userRemoveTimeout
      • $userSetTimeout
    • Embed functions

      • $addField
      • $addTimestamp
      • $attachment
      • $author
      • $color
      • $description
      • Complete Embed
      • $footer
      • $image
      • $thumbnail
      • $title
    • Button Functions

      • $addButton
      • $addMenu
      • $awaitButton
      • $awaitMenu
      • $button
      • $buttonEmoji
      • $buttonID
      • $buttonIsDisabled
      • $buttonLabel
      • $buttonStyle
      • $buttonURL
      • $disableButton
      • $disableButtons
      • $disableMenu
      • $editButton
      • $editMenu
      • $enableButtons
      • $enableMenu
      • $eventSelected
      • $menuID
      • $removeButton
      • $removeButtons
      • $removeEmbed
      • $removeMenu
      • $selectMenu
    • Math Functions

      • $abbreviate
      • $abs
      • $ceil
      • $divide
      • $floor
      • $math
      • $mathMax
      • $mathMin
      • $modulo
      • $multi
      • $ordinal
      • $round
      • $roundTenth
      • $sub
      • $sum
      • $truncate
    • Text Split Functions

      • $advancedTextSplit
      • $concatTextSplit
      • $editTextSplitElement
      • $findTextSplitIndex
      • $getTextSplitLength
      • $joinSplitText
      • $removeSplitTextElement
      • $removeTextSplitElement
      • $spliceTextJoin
      • $splitText
      • $textSplit
    • Array Functions

      • $arrayClear
      • $arrayConcat
      • $arrayCount
      • $arrayCreate
      • $arrayElementCount
      • $arrayFilter
      • $arrayGet
      • $arrayInclude
      • $arrayJoin
      • $arrayLength
      • $arrayLoop
      • $arrayMap
      • $arrayPop
      • $arrayPush
      • $arrayRemove
      • $arrayReverse
      • $arraySearch
      • $arraySet
      • $arrayShift
      • $arrayShuffle
      • $arraySlice
      • $arraySort
      • $arrayUnique
      • $arrayUnshift
    • Object Functions

      • $objectCreate
      • $objectGet
      • $ObjectIncrease
      • $ObjectKeyExists
      • $ObjectKeys
      • $ObjectLoop
      • $ObjectMerge
      • $ObjectRemove
      • $ObjectRenameKey
      • $objectSet
      • $ObjectValues
      • $addObjectProperty
      • $createObject
      • $getObject
      • $getObjectKeys
      • $getObjectProperty
    • Is and Has Functions

      • $isBoosting
      • $isbot
      • $isConnected
      • $isDeafened
      • $isEmoji
      • $isHoisted
      • $isManaged
      • $isMentionable
      • $isMentioned
      • $isMuted
      • $isNumber
      • $isStreaming
      • $isTicket
      • $isValidHex
      • $isValidInvite
      • $isValidLink
      • $isValidObject
    • Only Functions

      • $onlyBotPerms
      • $onlyForCategories
      • $onlyForChannels
      • $onlyForIDs
      • $onlyForRoles
      • $onlyIf
      • $onlyIfMessageContains
      • $onlyNSFW
      • $onlyPerms
    • Regex Functions

      • $regexCheck
      • $regexMatch
      • $regexReplace
      • $replaceTextWithRegex
    • Date Functions

      • $creationDate
      • $dateStamp
      • $dateToTime
      • $day
      • $formatDate
      • $hour
      • $humanizeMS
      • $memberJoinedCode
      • $memberJoinedDate
      • $minute
      • $month
      • $parseDate
      • $parseTime
      • $second
      • $timeStamp
      • $timeToDate
      • $timezone
      • $year
    • Variables Functions

      • $deleteChannelVar
      • $deleteMessageVar
      • $deleteServerVar
      • $deleteUserVar
      • $get
      • $getChannelVar
      • $getMessageVar
      • $getServerVar
      • $getUserVar
      • $increaseChannelVar
      • $increaseServerVar
      • $increaseUserVar
      • $initVar
      • $let
      • $resetUserVar
      • $setChannelVar
      • $setMessageVar
      • $setServerVar
      • $setUserVar
      • $userLeaderboard
      • $userVarRank
      • $viewChannelVars
      • $viewServerVars
      • $viewUserVars
    • Bot Functions

      • $botCount
      • $botOwnerID
      • $botPing
      • $botTier
      • $botTyping
      • $botVerified
      • $botVersion
      • $cacheMember
      • $clientID
      • $cpu
      • $executionTime
      • $getBotActivity
      • $getBotInvite
      • $maxRam
      • $ping
      • $ram
      • $serverCount
      • $setBotActivity
      • $uptime
    • Useful Functions

      • $callFunction
      • $commandCode
      • $deleteTrigger
      • $editTrigger
      • $endForEach
      • $endFunction
      • $endTimeout
      • $error
      • $forEach
      • $function
      • $getToken
      • $getTrigger
      • $ignoreErrors
      • $includeLibrary
      • $jsonRequest
      • $redirectErrors
      • $return
      • $seq
      • $setTimeout
      • $spread
      • $stop
      • $suppressErrors
      • $triggerExists
      • $wait
    • Cooldown functions

      • $channelCooldown
      • $clearCooldown
      • $cooldown
      • $getCooldownTime
      • $serverCooldown
    • Http Requests functions

      • $httpRequest
      • $httpRequestHeader
      • $httpRequestStatus
    • Image Builder functions

      • $imageBorderRad
      • $imageCreate
      • $imageCrop
      • $imageDraw
      • $imageDrawBack
      • $imageFill
      • $imageHeight
      • $imageLineHeight
      • $imageLoadEmoji
      • $imageLoadFromURL
      • $imageOutput
      • $imagePositionBase
      • $imageSetOpacity
      • $imageStroke
      • $imageStrokeWidth
      • $imageTextAlign
      • $imageTextBaseline
      • $imageTextColor
      • $imageTextFill
      • $imageTextFillColor
      • $imageTextSize
      • $imageTextStroke
      • $imageTextStrokeColor
      • $imageTextWeight
      • $imageUseFont
      • $imageWidth
  • Contribute

    • Templating System
    • Function Template
    • Contributing to the Documentation
  • Legal

    • Privacy Policy
    • Terms of Service

$selectMenu

Creates a Menu with options.

Usage: $selectMenu[{menu structure] works only for one option

Menu Structure

to construct a menu inside $selectMenu, it needs to follow this structure

{id=menu id}
{placeholder/ph=A placeholder for the menu}
{min=minimum options to be selected (i.e 1)}
{max=maximum options to be selected (i.e 5)}
{type=the menu type (i.e text/user/role/mention/channel)}


// Each option can be structured like this
{option=Option name}
{value=option id}
{desc=description of the option (optional)}
{emoji=an emoji of the option (optional)}

  • type the menu type, can be text (default), user (to select a user), role (role select), mention (role or user select), channel (channel select)
  • id the id of menu must be unique on multiple menus
  • placeholder
  • min minimum to select (optional)
  • max maximum to select (optional)
  • option label of option
  • desc description of option
  • value id of option ,which $eventSelected returns when the user selects the option
  • emoji emoji for option (optional)

Info:

  • You can have up to 5 menu in a message
  • You can add maximal 20 options for each menu

Examples

Sending a menu with some options with $selectMenu

$selectMenu[
    {id=my_menu}
    {ph=Select the option}
    {type=text}
    {min=1}
    {max=2}

    {option=Option 1}
    {value=option_1}

    {option=Option 2}
    {value=option_2}

    {option=Option 3}
    {value=option_3}
]

Sending a menu with some options and selected some of them

$selectMenu[
    {id=my_menu}
    {ph=Select the option}
    {type=text}
    {min=1}
    {max=2}

    {option=Option 1}
    {value=option_1}

    {option=Option 2}
    {value=option_2}

    {option=Option 3}
    {value=option_3}

    {selected=option_1}
    {selected=option_3}
]

Sending a menu to select user with $selectMenu

$selectMenu[
    {id=my_menu}
    {ph=Select the user}
    {type=user}
    {min=1}
    {max=2}
]

Sending a menu to select user with $sendMessage

$sendMessage[
    {menu:
        {id=my_menu}
        {ph=Select the user}
        {type=user}
        {min=1}
        {max=2}    
    }
]

Sending a menu with selected user

$selectMenu[
    {id=my_menu}
    {ph=Select the user}
    {type=user}
    {min=1}
    {max=2}
    {selected_user=$userID}
]

Sending a menu with selected role

$selectMenu[
    {id=my_menu}
    {ph=Select the role}
    {type=role}
    {min=1}
    {max=2}
    {selected_role=$roleID[Test1]}
]

Sending a menu with selected channel

$selectMenu[
    {id=my_menu}
    {ph=Select the channel}
    {type=channel}
    {min=1}
    {max=2}
    {selected_channel=$channelID}
]

Sending a menu with selected mentionable (user / role)

$selectMenu[
    {id=my_menu}
    {ph=Select user or role}
    {type=mention}
    {min=1}
    {max=2}
    {selected_role=$roleID[Test1]}
    {selected_user=$userID}
]

{key=value} what is this for a syntax?

This syntax is called curl args.It is really similar to curl message.Especially new Functions support it ,you can use !!func function name to check if it supports curl arguments. Learn more

Do you want to add a menu inside a Function as a parameter, like $sendMessage[text]?

Use:

{menu:
{id=id}
{placeholder=Pls select your answer!}
{min=1}
{max=2}
{option=Option one }
{desc=txt for one}
{value=one}
{emoji=$customEmoji[accept]}
}

Please be aware!!

If you add any : in this function it will error! Check out this

Link escapes are needed, use \ to escape characters. Read me to see more

Tips

Using the menu as trigger check here to learn more.

Function difficulty: Medium
Tags: selectMenu component
Improve This Page!
Prev
$removeMenu