Changelog
2025
January
- Added
$afkChannelID - Added
$afkTimeout[] - Added
$boostLevel - Added
$byteCount[] - Added
$commandFolder - Added
$commandName - Added
$commandTrigger - Added
$emojiExists[] - Added
$emojiName[] - Added
$getAttachments[] - Added
$getSlowmode[] - Added
$guildBanner[] - Added
$isEmojiAnimated[] - Added
$isMessageEdited[] - Added
$lastMessageID - Added
$lastPinTimestamp - Added
$linesCount[] - Added
$messageEditedTimestamp[] - Added
$rolePerms[] - Added
$rulesChannelID[] - Added
$systemChannelID - Added
$threadMessageCount - Added
$threadUserCount - Added
$voiceUserLimit[]
2024
August
- Added
$log[] - Added
$logQuota - Added
$suppressErrorLogging - Added
$ceil[] - Added
$floor[] - Added
$sqrt[] - Added
$isInteger[]
Previous Updates
July
- Added
$setUserRoles[] - Added
$getLeaderboardPosition[] - Added
$isBooster[]
June
- Added
$ai[] - Added
$aiQuota
March
- Fixed the bot sometimes duplicating its answer
- Fixed
$onlyForIDs[]not working correctly on big nodes
2023
June
- Fixed custom images not always being displayed
- Allowed for empty string values in
$jsonSetString[] - Added
$jsonArraySort[] - Added
$jsonArrayReverse[] - JSON Array function now can interact with JSON root
- Emoji argument now allows for emoji aliases
- Added
$nodeVersion[] - Added
$removeEmoji[] - Added
$addMessageReactions[] - Fixed
$nickname[]to work with the new Discord username system - Added
$displayName[] - Added
$userBadges[] - Added
$userBannerColor[]
Previous Updates
May
- Fixed
$min[]and$max[]not working with floats
April
- Fixed caching timeout information
March
- Fixed callbacks not always getting detected
- Fixed JSON functions inability to correctly return an object
- Fixed
$jsonArrayPop[]and$jsonArrayShift[]only working once on an array - Fixed a bug where
$jsonArrayPop[]and$jsonArrayShift[]would stop execution when trying to operate on an empty array - Fixed
$round[]adding trailing zeros - Added
$removeAllComponents
February
- Fixed caching issues for leaderboards
- Added
$jsonArrayShift[] - Added
$jsonArrayUnshift[] - Added
$jsonArrayPop[] - Added
$jsonJoinArray[]
January
- Added
$jsonParse[] - Added
$jsonClear - Added
$jsonStringify - Added
$jsonPretty[] - Added
$json[] - Added
$jsonExists[] - Added
$jsonSet[] - Added
$jsonArray[] - Added
$jsonArrayAppend[] - Added
$jsonArrayCount[] - Added
$jsonUnset[] - Added
$disableInnerSpaceRemoval - Fixed big numbers not working in leaderboard functions
- Added Emoji argument type
- Added
$isTicket[] - Added
$userBanner[] - Added
$randomGuildID - Added
$randomRoleID[] - Added
$randomCategoryID[] - Added
$channelNames[] - Added
$categoryChannels[] - Fixed
$allowUserMentions[]not working on slash commands - Fixed
$addTextInput[]not working with empty values - Added
$jsonSetString[] - Added
$jsonArrayIndex[]
2022
December
- Added limit on input numbers to 2128 on the basic math functions
- Fixed BDScript 2 having problems with handling unicode characters
- Fixed
$stopcausing undefined behaviour - Added
$getBanReason[] - Fixed caching issues for the text splitting functions
- Fixed issues with custom images
Previous Updates
November
- Deprecated
$userJoinedDiscord[]in favor of$creationDate[] - Added
Formatargument to$creationDate[] - Added
$editSplitText[] - Added
$serverEmojis[] - Added
$setChannelVar[] - Added
$getChannelVar[] - Added
$resetChannelVar[] - Added
channeloption to$variablesCount[] - Fixed BDScript 2’s escaping not working in some cases
October
- Added
$publishMessage[] - Made
$useChannel[]work with message components - Added
$channelPosition[] - Added
$categoryID - Added
$varExists[] - Added
$boostCount - Added
$categoryCount - Added
$isTimedOut[] - Added
stageandforumchannel types to$createChannel[] - Added
stage,announcement, andforumchannel types to$channelType[] $enableDecimals[]now works with$calculate[]- Added
$getCustomStatus[] - Added
$httpStatus - Added
$httpGetHeader[] - Added
$botOwnerID - Added
$repliedMessageID - Fixed the guild list fetching issue
- Added
$parentID
September
- Added
channelIDfield to$awaitFunc[] - Added
$trimContent - Fixed fetching guilds not always working in the app
- Added
$slashID - Fixed slash command reordering
- Added intent autodetection
- Added
globaluseroption to$variablesCount[] - Added support for big numbers in the math functions
- Added new text tutorial
- Fixed
$checkUserPerms[]ignoring channel permissions - Fixed
$addReactions[]not working on slash commands - Fixed
Ticket numberargument not working in$newTicket[] - Fixed
$httpAddHeader[] - Fixed some callbacks not being detected as callbacks
- Fixed attachments not working in slash commands
August
- Added
$scriptLanguage - Fixed
$stopbreaking$if[] - Renamed
$customImage[]argument toCustom image tag - Added
$hypesquad[] - Added
$dmChannelID[] - Fixed the app’s max choices limit
- Fixed
$registerGuildCommands[]removing previously registered commands - Fixed
$replynot working in DMs - Made it possible to return milliseconds and nanoseconds in
$getTimestamp[] - Fixed
$addTextInput[]not verifying max length - Fixed
$url[]returning an error when no input was provided - Added
$userServerAvatar[] - Fixed
$cropText[]not supporting unicode - Not putting required slash command options on top no longer breaks the commands
July
- Added hex to the color picker
- Fixed
$executionTimenot working inside embed fields - App now sends notification when bot hosting is expired
- Added
$sendNotification[]for premium bots - Made it possible to use only one option in a select menu
- Fixed
$editChannelPerms[] - Fixed verification of slash command names
- Fixed
$sortnot working with-1as return amount
June
- Fixed
$onlyBotChannelPerms[] - Fixed description verification in
$addSelectMenuOption[]and$editSelectMenuOption[] - Updated limits of select menu options
- Fixed updating components which are refering to
$messageID
May
- Fixed token issues
- Fixed disappearing slash command options
AllowedMentionsfield is now used in$channelSendMessage[],$sendEmbedMessage[]and$sendMessage[]- Fixed black screen after bot creation
- Fixed in-app tutorial
- Fixed escaping response in interactions
- Fixed cooldown error messages
- Fixed empty values in variables not getting saved
- Fixed userID being ignored when guildID is passed to
$getUserVar[]
April
- Added
"return ID of the ticket message"argument to$newTicket[] - Fixed disappearing slash commands from the app’s state
March
- Added
$toTitleCase[] - Fixed invite permission calculator
- Fixed
$suppressErrors[]and$embedSuppressErrors[]getting ignored by components errors - Fixed updating some components
- Added
$registerGuildCommands[] - Added
$unregisterGuildCommands[] - Added
/callback_list,/callback_tag_list, and/callback/:callback_tagendpoints to public BDFD API
February
$httpResult[]can return JSON now- Fixed
$httpResult[]not working with multiple requests - Saving a command in the webapp no longer restarts the bots
- Optimized slash commands resynchronization
- Fixed custom images not working after saving a command
- Made it possible to escape
\by using\\ - Removed user permission check for
$ban[],$banID[],$unban[]and$unbanID[] - Added
$newModal[] - Added
$addTextInput[] - Added
$input[] - Deprecated
$channelIDFromName[], use$channelID[]instead - Added
$onlyForCategories[] - Fixed
$modifyChannelPerms[]ignoring last permission - Added
$onAutoComplete[]callback - Added
$autoCompleteOptionName - Added
$autoCompleteOptionValue - Added
$appendOptionSuggestion[]
January
- Added
$unescape[] - Added a neutral permission (
/<perm>) to$modifyChannelPerms[] - Added stop bot button in the app
- Added restart bot button in the app
- Added
$editChannelPerms[](replacement for the deprecated$modifyChannelPerms[]) - Added
$roleGrant[](replacement for the deprecated$giveRole[]and$takeRole[]) - Fixed component functions inside
$async[]scope - Increased the limit of http functions in one command to
5 - Fixed
$userPerms[] - Fixed some bugs regarding math commands
- Added public BDFD API
- Added
$serverDescription[]
2021
December
- Saving a command no longer causes the bot to restart
- Fixed
$noMentionMessage[]in BDScript 2 - Added
$timeout[]and$untimeout[] $mute[]and$unmute[]has been marked as deprecated- Added
guildIDargument to$getUserVar[]and$setUserVar[] - Fixed the issue with some bots not starting with invalid intents enabled
- Fixed the role cache
- Slash command’s option description is now required
- Added
$shardID[] - Added sharding
- Improved interaction handling
- Added
$defer - Fixed getting invites
- Added debug information inside the app for translators
- Fixed
$serverNames - Added
%(modulo) to$calculate[] - Fixed removing custom images
- Added missing permissions
- Fixed unintentional server restarts
- The last argument in
$replaceText[]is now optional
Previous Updates
November
- Added
$reply[] - Added
$trimSpace[] - Added
$url[] - Upgraded the database
- Sped up the node starting time
- Added
$botCommands[] - Added
$unpinMessage[] - Added
$pinMessage[] - Fixed
$isUserDMEnabled[]not returning false in some cases $addReactions[]now works in slash commands$dm[]now can dm to more than one mention and can be used multiple times$dmnow can be used with$dm[]$random[]now can use decimals- Added
$'randomChannelID(BDScript Unstable only) - Fixed
$textSplit[]removing space
October
- Added
$deleteMessage[] - Added
$hostingExpireTime[] - Added timestamp option to
$premiumExpireTime - Fixed
$isUserDMEnabled[] - Fixed
imageparameter in$sendEmbedMessage[]and$webhookSend[] - Fixed caching issue for
$serverIcon - Made it possible to use empty labels in the buttons
- New UI
- Added search bar in the variables section
- Made it possible to use
https://youtu.be/URL in the streaming statuses - Added
$getTextSplitIndex[] - Added
$serverChannelExists[] - Fixed
$changeUsername[]and$changeUsernameWithID[]not working on the current bot - Made
$ephemeralwork with the buttons - Fixed global variables not getting saved
- Fixed
$deletecommandnot getting catched by$tryblock - Made it possible to open function’s wiki article from the functions list
September
- Updated ToS
- Fixed
$executionTimenot working in embeds - Added
$botNode - Added
$isBanned[] - Fixed a problem with
$charCount[]having problems with unicode - Added
$channelType[] - Added
$async[]block function and$endasync - Added
$await[] - Added
$sort[] - Added
$userPerms[] - Added
$serverNames[] - Improved variables lookup time
August
- Added
$webhookTitle[] - Added
$webhookDescription[] - Added
$webhookFooter[] - Added
$webhookContent[] - Added
$webhookUsername[] - Added
$webhookAvatarURL[] - Added
$webhookCreate[] - Removed permission check from
$deleteChannelsByName[] - Removed permission check from
$deleteChannels[] - Removed permission check from
$createChannel[] - Fixed the issue with bots not working in threads
- Added
$startThread[] - Added
$webhookColor[] - Fixed optional field in
$getServerVar[] - Fixed floating points in
$onlyIf[]conditions - Added
$webhookDelete[] - Added
$webhookSend[] - Removed permission check from
$modifyChannelPerms[] - Made it possible to use multiple
$onInteraction[]s - Added
$onInteractioncallback (without[]) - Added
$customID - Made it possible to use different scripting languages in callbacks
- Added
$editThread[] - Added
$threadAddMember[] - Added
$threadRemoveMember[] - Added
$getEmbedData[] - Made it possible to use block functions (
$if[],$try, etc.) inside function arguments in BDScript 2 - Fixed preprocessor failures in some corner cases in BDScript 2
- Fixed a bug with block-functions adding extra new line in BDScript 2
- Fixed and optimised
$setVar[] - Added
$sendEmbedMessage[] - Fixed condition parsing in
$if[]for the normal BDScript and BDScript Unstable (BDScript 2 didn’t have any issues) - Made command saving faster
July
- Added
$getTimestamp - Added support for decimals in the math functions
- Added
$newSelectMenu[] - Added
$addSelectMenuOption[] - Added
$editSelectMenu[] - Added
$editSelectMenuOption[] - Added
$removeComponent[] - Added
$calculate[] - Added
$round[] - Added
$enableDecimals[] - Added
$nickname - Added row and column information in BDScript 2 errors
- Fixed an issue with BDScript 2 not requiring
] - Adjusted the optimizer in BDScript 2
- Added
$onlyForRoleIDs[] - Added
$getCooldown[] - Fixed problems with
]in some functions - Fixed component functions inside
$eval[]function - Fixed minor bugs inside BDScript 2 parser
- Fixed author ID not showing up in
$mentioned[..;yes] - Fixed
$serverNameswhich removed two last characters - Fixed
$addTimestamp[]when used for multiple embeds - Added limits for the
$round[]function (max decimal place) - Added
$and[] - Added
$or[] - Added
$allowRoleMentions[] - Added
$allowUserMentions[] - Added
$guildExists[] - Fixed
$serverVerificationLvl
June
- Fixed
$sendMessage[]not working in normal BDScript - Fixed
$checkUserPerms[] - Added BDScript 2 script language
- Added to BDScript 2:
$try,$catchand$error$eval[]$optOff[]$stop[]$var[]
- Added customizable code highlighting
- Fixed
$lowestRoleand$highestRole - Added
$isBoolean[] - Made it possible to add 5 buttons per row
- Added optional field
return typeto$getLeaderboardValue[] - Added
$deleteRole[] - Added
$ephemeral - Added
$elseif[]to BDScript 2 - Fixed URL in buttons
- Fixed buttons in DMs
- Fixed problems with custom prefixes
- Added
$getUserStatus[] - Added
$min[] - Added
$max[] - Fixed
$customEmoji[] - Made it possible to edit embeds in
$editMessage[] - Added support for multiple embeds
- Added
$httpAddHeader[] - Added
$httpRemoveHeader[]
May
- Fixed a bug which allowed executing certain types of callbacks as normal commands
- Fixed member caching issue
- Fixed caching bots
- Fixed changing tokens in the webapp
- Fixed
$isUserDMEnabled[] - Added
$addButton[] - Added
$editButton[] - Added
$removeButtonsand$removeButtons[] - Added
$onInteraction[]callback - Fixed some issues with slash commands
- Added
$c[]
April
- Added
$httpGet[],$httpPost[],$httpPut[],$httpDelete[]and$httpPatch[] - Improved overall caching
- Added
$httpResult[] - Made command execution faster
March
- Added
$cropText[] - Added
userIDfield to$awaitFunc[] - Fixed removing normal commands and slash commands
- Added
$removeLinks[] - Made returning authorID optional in
$findUser[] - Added
$slowmode[] - Added
$checkUserPerms[] - Added
$isNSFW[] - Fixed setting NSFW in
$modifyChannel[] - Fixed
$userJoined[]and$userJoinedDiscord[] - Added
$editMessage[] - Fixed caching for new members.
- Added
$slashCommandsCount - Added
$botID - Added more permissions:
AttachFilesTTSManageWebhooksEmbedLinksExternalEmojis
- Added
$serverCooldown[] - Fixed an issue with not expiring app bans
- Fixed some issues with
[and] - Fixed problems with slash commands and cooldowns
February
- Added
$sendMessage[] - Added
$reply - Added slash commands
- Fixed mentions in
$findChannel[] - Improved performance in the command interpreter
- Optimized reaction handlers
- Added
$isSlash - Added new optional field to
$message[] - Fixed semicolons in
$channelSendMessage[]
January
- Fixed a problem with statuses not showing up
- Fixed an issue with mentions not working
- Fixed loading bots from database
- Increased duration to 40 minutes for
$deleteIn[],$editIn[],$editEmbedIn[],$replyIn[] - Added if statements (
$if[],$else,$endif) - GuildID is now returned instead of
everyonein$lowestRole[]and$highestRole[] - Space commands have been removed (you can still use
$alwaysReply) - Added
$channelTopic[] - Fixed issues with streaming status
- Fixed the issue with tags/discriminators not working for
$userID[]and$findUser[] - Added
$findChannel[]and$channelExists[] - Added
$userJoined[]and$userJoinedDiscord[]
2020
December
- Timezones in
$time[]has been fixed - Updated Discord API version
- Added Competing presence
- Added
$botLeave[] - Fix for
$getLeaderboardValue[] - Added
userIDoption to$resetUserVar - Added
serverIDoption to$serverOwner - Added
$premiumExpireTime
Previous Updates
November
- Fixed disappearing bot status
- Fixed
$serverCountin bot status - Improved caching
- Functions that require privileged intents are now marked accordingly
- Added
$getLeaderboardValue[] - Added
$awaitReactions[] - Awaited commands are now available for everyone
- Added awaited reactions
- Fixed problems with DMs
October
- Optimized memory usage
- Added member and presence intents
- Added
$editEmbedIn[] - Added
serverIDfield to server variables - Allowed using awaited functions in awaited commands
- Fixed leaderboards
- Fixed
$randomMention,$randomUserand$randomUserID - Added
$awaitReactions[]for premium bots - Added
$usedEmoji $deletecommandsends an error now- Fixed
$serverVerificationLvlnot working on very high verification servers - Fixed reconnecting bots to gateway
September
- Added
$ignoreTriggerCasefor premium bots - Fixed caching guilds
$findUser[]&$findRole[]are no longer case sensitive$findUser[]returns authorID if no user found- Added awaited commands for premium bots
- Fixed weird brackets in embeds
- Added trigger list in the app
August
- Migrated to the new infrastructure (new database and API)
- Premium released
- Fixed
$isMentionable[] - Fixed
$isHoisted[] - Added
$removeSplitTextElement[] $userAvatar[]no longer stops code execution- Fixed
$argCount[] - Added
$findUser[] - Added
$findRole[] - Added
$disableSpecialEscaping
July
- Renamed
$splitText[]to$getSplitText[]to avoid confusion ($splitText[]still works) - Added
$joinSplitText[] - Added
$getInviteInfo[] - Added
$guildID[] - Fixed
$numberSeparator[]in the bot’s status $roleID[]and$channelID[]no longer stop code execution- Enabled BDScript Unstable for callbacks
- Added
$getTextSplitLength
June
- Fixed
$getReactions[]in BDScript Unstable - Fixed bracket escaping for some commands in BDScript Unstable
- Fixed
$modifyChannel[](random slowmodes added on channels)
May
- Fixed
$onlyBotPerms[] - Bot Designer List Open Beta
- Added
$botListDescription[]and$botListHide - Fixed brackets issue in
$serverNames - Other bug fixing for Bot Designer and Bot Designer List
April
- Fixed
$serverIcon - Added
$changeCooldownTime[] - Disabled
$randomUserID,$'randomUserID,$deleteInand$dmin$onMessageDelete - Fixed
$addField[] - Added error message in
$getServerVar[]when provided variable does not exist - Fixed
$userID[]to not stop code execution, if user is not found - Added
$botLeave - Removed permission check from
$clearcommand. - Fixed
$isAdmin[]
March
- Added
$getReactions[]and$userReacted[] - New command interpreter
- Added to new parser:
$'random[]and$'random$'randomText[]$'randomUser$'randomMention$'randomUserID$'randomString[]
- Fixed brackets in
$getMessage[] - Changed behaviour of
$onlyPerms[]command - Added
$charCount[] - Added
$clearReactions[] - Added new options to
$getMessage[] - Fixed adding slowmode when using
$modifyChannel[] - Added
$checkContains[] - Added
$addEmoji[] - Fixed the bug with
$command prefix and$noMentionMessage - Added
$unbanID[] - Added
$hasRole[] - Optimized the leaderboard commands
- Fixed permissions in some commands
- Fixed
$onlyPerms[] - Fixed the bug with
$command prefix and$message
February
- Fixed errors in
$addField - Added
$serverRegion - Added
$serverOwner - Added
$emoteCount - Added
$isMentionable[] - Added
$isHoisted[] - Added
$serverIcon[] - Fixed suppressing errors in some variable commands
- Fixed bug with
$replaceText[]inside$description - Added
$isValidHex[] - Added
$isAdmin[] $userID[]does not require discriminator now- Added
$serverVerificationLvl - Fixed stopping command when
$changeUsernameWithID[]or$changeUsername[]throws an exception - Added
$modifyRolePerms[] - Added
$isUserDMEnabled[] - Added new option to
$mentioned[] - When
userIDis not provided in$discriminator[], the author’s ID will be used - Added
$argCount[] - Added
$roleExists[]and$roleExists[] - Added
$varExistError[] - Removed permissions check for
$kick[]function - Fixed brackets issue in
$messageand$noMentionMessage - Fixed
$globalUserLeaderboard[] $repeatMessage[]won’t send an error when there is0provided
January
- Final premium preparations
- Space commands for premium bots
- Added
sendChannelMessage()to JS - Added
$isNumber[] - Better description for
$replaceText[] - Removed
#from$getRoleColor[] - Added possibility of adding custom error message to
$suppressErrors[] - Added
$embedSuppressErrors[] - Added
$getServerVar[]in command’s name for premium bots - Added custom separators to
$numberSeparator[] - Fixed issue with
+and-in$numberSeparator[] - iOS release
- Added
$isBot[] - Added
userIDoption to$takeRole[] - Fixed problems with timezones
@everyonerole shows up now when it’s a highest/lowest role in$highestRole/$lowestRole@everyonerole now works in$rolePosition[]- Added multi-line support for
$replaceText[] - Fixed no errors in
$roleID[] - Added
$toUppercase[]and$toLowercase[] - Added
roleIDanduserIDto$modifyChannelPerms[] - Added
$authorOfMessage[] - Added
$userID[] - Improved servers response time by over 10x
- Fixed issues with
$setServerVar[]and$setUserVar[] - Added multi-line support for
$textSplit[] - Fixed brackets in
$username
2019
December
- Fixed high ping issues
- Fixed whole bunch of other issues
- Added to JS:
- authorId,
- channelId,
- userMentions,
- roleMentions,
- unban(),
- takeRole(),
- giveRole(),
- channelTyping(),
- createChannel(),
- removeChannel(),
- unpinMessage(),
- banWithReason(),
- kickWithReason(),
- removeRole(),
- createRole()
- Created status website https://status.botdesignerdiscord.com
- Web version of Bot Designer for Discord has been moved to new address https://botdesignerdiscord.com
- Fixed some issues in web version
- Fixed
$banID[] - Preparations for premium points
Previous Updates
November
- Added
$rolePosition[] - Released translation strings to volunteers
- Added
kick()andban()to JS - Released new stable version
If you want to access this changelog externally, we have a JSON version of the changelog to which you can send a GET request and work with a JSON document further.
If you want to see the BDScript changelog, click here.