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

Library

Basic Information

Library is one of the unique triggers, that doesn't get triggered by events in your server. A library can be included (referenced) in other commands so you can use the code in it after calling $includeLibrary[Library name].

The goal of this trigger is simply sharing code, functions or objects across multiple custom commands (see the example below).

Syntax

The value of the trigger is the Library name.

Example

Create your library that contains users' information

Note that the library name is users. We will use it in next step.

Create a normal word command whois

First, let's include the library, with $includeLibrary. After including, we can directly use the object defined in the library and retrieve some information to display.

Output

What is the point?

In this example the object is only used in a single custom command. But at some point you might want to add another custom command using the same object, e.g. listusers sending a message with all users in it. When the object changes, e.g. you want to add another user to it, then you'll have to update the object in all custom commands accordingly. This takes time and there's a chance errors get introduced or one of the custom commands using this object is missed and now uses a different object. With a library you can use the same object across all these commands without having to copy it to each. Updating the object is done in a single place and all custom commands referencing (including) the library users will use the updated object at the same time.

In the same way you can also define functions in a library to share code across multiple custom commands.

That demonstrates a library's usefulness.

Some functions related to Library

$includeLibrary: Include your library

Improve This Page!
Prev
On Join/Leave
Next
Menu Interaction