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

Collect reward

In this guide, you will learn how to create a one-time use command that allows users to collect a money reward.

1. Create a command

The first step is to create a new command, which you can learn to do in this guide.

2. Set a trigger

Users will collect their reward by using the !collect command, so let's set that up as the trigger:

Trigger

3. Craft the code

Now that we have the initial setup done, it's time to make the command actually work.

We will use:

  • $getUserVar - to load the user's balance
  • $let - to temporarily store the balance
  • $math - to calculate new balance
  • $setUserVar - to set the new balance

Prize

The reward that users will receive is 100$ with the template economy. Since the template economy uses the money user var to store a user's balance, we will contribute to that var.

Getting user var

Let's get a user's balance and store it in a temporary variable called bal:

$let[bal;$getUserVar[money]]

Calculating new balance

Next, we'll add 100$ to the balance:

$let[bal;$math[$bal+100]]

Saving the new balance

Now that we have the new balance, let's overwrite the current balance with the new one:

$setUserVar[money;$bal]

At this point, the command will successfully increase the balance, but we want to ensure that users can only collect the reward once.

Setting a variable

In order to prevent users from collecting multiple rewards, we need to save information about whether each user has already used the command.

$setUserVar[hasCollected;true]

Adding a condition

Now that we have a variable called hasCollected that returns whether the user has already collected the reward, let's use it to prevent users from collecting the same reward multiple times by putting this code at the beginning of the command:

$onlyIf[$getUserVar[hasCollected]!=true;You cannot collect the same reward more than once!]

Final result

Setup preview

Let's see if it works correctly

Member08/02/2026
!collect
Custom Command Bot 08/02/2026
Enjoy your 100$ reward!
Member08/02/2026
!collect
Custom Command Bot 08/02/2026
You cannot collect the same reward more than once!

Note

You may not always limit executions to one per user, you can use other vars like server vars to restrict the command to one execution per server.

🎉 Congrats!

You've learned how to make a command that can be used only one time!

Improve This Page!
Prev
Report command
Next
Simple Slash Command: Confession