Documentation Index
Fetch the complete documentation index at: https://docs.duckybot.xyz/llms.txt
Use this file to discover all available pages before exploring further.
v1.7.0 Stable: ERLC Rewrite, Regions, and more!
Our ERLC rewrite is finally complete! Over the past 2 months, weâve been working on completely rewriting the internals of everything related to ERLCâ including Automations, Live Server Logs, Live Server Status Messages/Channels, In-Game Roles, Bounties, Tempbans, BOLOs, Command Queueing, and so much more. Along with that, weâve upgraded our custom-developed public ERLC API wrapper to erlua v3.8.1, supporting the new ERLC API v2 which brings so many new possibilities to your Automationsâ and with this update, theyâre already here.Hereâs whatâs new in v1.7.0 Stable:Automations
- Weâve added 4 new triggers to Automations:
- Region Entered: When a player enters a RegionâŚ
- Region Exited: When a player exits a RegionâŚ
- Emergency Created: When a player calls emergency servicesâŚ
- Plate Used: When a player uses a license plateâŚ
- Weâve also added 2 new conditions to Automations:
- In Region: If the target player is in the specified regionâŚ
- Not in Region: If the target player is not in the specified regionâŚ
- Weâve also added 1 new action to Automations:
- Punish Player: Issue the target player a punishment.
- You can now use the Components Editor within the Send a Message action.
- There are many new variables available for actions, including (but not limited to):
{vehicle.plate}for triggers where the target is related to a vehicle or driver{staff.count},{notindiscord.count}, etc. as a number form of
- Most actions can now be edited, meaning you no longer have to delete and re-add them if youâd like to change it.
- The normal limit for Automations has been extended from 10 automations -> 15 automations.
- Lastly, you now have the ability to export your Automations into an Exportable which can be shared with others to import within their server. If the automation is imported within a different server, the author will be prompted to select new valid channels and roles where they are necessary.
ERLC Integration Rewrite
- Weâve completely rewritten the internals of our ERLC Integration, which includes every Ducky feature related to ERLC.
- Now that we use ERLCâs API v2, Ducky can see player positional data, player wanted level, vehicle plate, and emergency calls.
- The ERLC API v2 also allows Ducky to fetch all server information in just one request compared to the previous 9 requests requiredâ meaning everything ERLC-related should be approximately 9x faster.
- All servers are now cycled on an interval of approximately 15 seconds, allowing for near real-time referencing which allows for quicker automation triggers, faster logs, and more. Itâs also proactive against ratelimits, making sure ratelimited requests donât even hit the wrapper.
- The following changes have been made to the
/erlc *commands:/erlc players <team>: The/erlc teamcommand has been merged into/erlc players./erlc execute: The/erlc commandcommand has been renamed to/erlc execute./erlc emergencies: View active server emergency calls and the units responding./erlc locate: View a playerâs location, address, and custom Region if any are configured./erlc panel: The entire ERLC Player Panel has been rewritten from the ground up, allowing for much quicker interaction, refreshing, and a smoother experience overall.- There is no longer a loading message prior to the commandâs response (unless the ERLC API is slow)
- All command responses have been re-styled with the usage of icons in mind
ERLC Regions
- The new Regions feature has arrived, allowing you to create custom areas of the ERLC map to be used in different systems, including Automations and Linked VCs.
- Regions are mapped out using the new Region Editor, one of the first web-based editors by Ducky.
- You can link a Region to a Voice Channel within your Discord server, and all linked in-game players will be automatically moved accordingly to their location.
- The Waiting VC channel is the channel that players are placed in when they are outside of a region.
In order for players to be moved to a regional voice channel:
- The player must have their Discord account linked with Ducky.
- The playerâs Discord account must already be in a regional voice channel, which includes the Waiting Voice Channel.
Servers with Ducky Plus+ are able to create up to 25 regions compared to the 10 regions normal servers can.Additionally, they are also able to add up to 25 points to their Regions compared to the limit of 10 points on normal servers.
In-Game Commands
- Weâve implemented a new
:log vehicle <query>command, allowing your staff members to easily identify a vehicle ownerâ even if they didnât catch their username. - You can also use
:log message wanted <content>to message all wanted players within your server.
Website Rewrite
- The entire website has been rewritten in TypeScript by our Web Developers!
- This allows for much more interactivity, responsiveness, and way quicker loading times.
- Weâve implemented a new Status page that will soon show uptime historyâ itâs accessible at https://duckybot.xyz/status. The old status page is still accessible via https://status.duckybot.xyz/.
- Thereâs a new https://duckybot.xyz/compare page that allows you to view what Ducky offers compared to its competitor services.
- The modpanel (available to affiliates only) has not yet been migratedâ weâre actively working on it. For now, youâll be automatically redirected to the legacy version available at legacy.duckybot.xyz/servers//panel.
Exportable Names
- You can now name your exportables so they can be easily identified later on.
- Additionally, the Export Embed message command has been replaced with Export Message, allowing you to fetch all embeds, content, and components you need in one click.
LOA Upgrades
- You can now configure LOA Mentionables which are roles/users that are automatically mentioned when a staff member submits an LOA request.
- You can now view the LOA history of a staff member via the
/loa history <member>command.
Quality of Life Changes
- The case ID is now shown on Discord Moderation messages
- The
/helpmenu has been redesigned & rewritten to support the new internal command alias structure - The usage of the
{infraction.expires}variable is now detected in Infractions and will automatically clear formatting around it if the timestamp cannot be shown - The signature utility, which signs a Direct Message from Ducky with a link button to the guild which it came from, is now used in more places
- Queueing ERLC commands now stores the authorâs ID which allows for better tracking and possibly a new command in the future
- Ducky now uses âcanceledâ instead of âcancelledâ
- Channels can now be locked from outside of the channel via
/(un)lock <channel> - You can no longer interact with bots via Economy
- Ticket permissions are now changed upon subject change via
/ticket manage - Added
{guild.membercount.raw}(raw, unformatted membercount) and{guild.membercount.suffix}(the suffix of the number, i.e. âstâ, ândâ, ârdâ, âthâ) variables to Welcome Messages - Internally renamed the shift state
breakintopause - Internally added support for more future Web Editors (currently only includes the Region Editor)
- Internally changed logging styling for readability
Bug Fixes
- Resolved issues where a member could moderate themselves
- Resolved issues where Automations using the Interval trigger would be significantly delayed, often by minutes
- Resolved issues where the âEmbedâ exportable type could not be previewed
- Resolved issues where the Components Editor did not support the âEmbedsâ exportable type
- Resolved issues where the
{*.avatar}variables were not parsed in editors - Resolved issues where loading messages would load infinitely, included commands such as
/serverinfo - Resolved issues where guild names would be too long or filled with non-alphanumerical characters therefore the name could not be previewed in signatures
- Resolved issues where
/erlc playtimewould take ages to load - Resolved issues where the Joingate Triggered embed was malformed
- Resolved issues where playsessions were only logged/tracked if shift types were configured even though those two are completely unrelated
- Resolved issues with the same winner being selected multiple times in the same roll
- Resolved other issues that arose from support threads & bug reports following v1.6.0 Stable
v1.6.0 Stable: Playtime Rewards, Components Editor, and more!
The first update of 2026 is here! Weâve been working on v1.6.0 Stable for a while now, and after weeks of testing, development, and even more testing, itâs finally ready.Hereâs whatâs new in v1.6.0 Stable:Automations
- Weâve added 3 new actions to Automations:
- Lock Channel: Lock a specified channel.
- Unlock Channel: Unlock a specified channel.
- Re-check Conditions: Re-check the automationâs conditions, and do not continue executing the automation if they are no longer met.
ERLC Playtime Rewards
- Our new ERLC Playtime bridge between Usersettings and the ERLC Integration module is here, bringing you the ability to reward and track your most active players.
- You can now configure playtime rewards via the ERLC Integration page. For more information, check out the documentation.
- Members are able to opt-out of playtime tracking via
/usersettings-> Edit settings⌠-> Toggle Track Playtime.
Components Editor
- Our new Components Editor is now available via the
/messagecommand. - The Components Editor allows you to add buttons, dropdowns, and more with message responses determined by exportables.
- This was a very highly-requested feature by the community, and weâre excited to finally bring it to you.
- Youâll soon be able to use this in other places such as welcome messages in a future update.
Improved Builders
- Weâve started using Modals v2 for our builders. This update marks the start of this transition, so keep in mind that not all builders are completely transferred to Modals v2.
- Modals v2 offers many clean and useful components such as option, role, and channel dropdowns, text inputs, checkboxes (soonâŚ), and more.
- Weâre also using better labels for the different options. For example, instead of asking the user for Required Role, it asks, What role should be required to use this shift type?
- The transition can already be found in places such as the Economy, Shift Management, and ERLC Integration pages of
/setup.
On-Shift Nickname Prefix
- You can now add an on-shift nickname prefix that will automatically be appended to memberâs nicknames when they go on-shift.
- This can be edited via the Shift Type Builder on the
/setup-> Shift Management page.
Coinflip and Reminders
- The new
/coinflipcommand lets you flip a coin and determine heads or tails. - The new
/reminders list|set|cancelcommand lets you manage your own reminders. Youâll automatically be reminded via DMs when itâs time to be reminded.
Ticket Close Reason & Transcript Fixes
- Weâve resolved issues regarding 0-byte or empty transcripts. This issue was caused by deleting the ticket too fast, which meant that it was being deleted while the transcript was being generated.
- You can now include a close reason which will be sent along with the transcript to the opener.
- Additionally, the category name limit has been bumped from 25 -> 50.
Discord Staff Immunity
- You can now toggle Staff Immunity on the Discord Moderation page of
/setup. - When enabled, this prevents your staff members from moderating eachother. This is disabled by default.
Joingate & Direct Welcome Message
- Welcome/AutoRoles is now Welcome/Autoroles. Huge change, we know.
- You can now configure a Direct Welcome Message, which is automatically sent via the memberâs DMs when they join.
- You can also configure a Joingate for your server, which automatically kicks users who have an account younger than the Joingate Threshold.
Exportable Cross-Type Support
- You can now import exportables of different types than what you need.
- For example, if you have an Embed exportable but you want to import it into the Message Editor, you can do just that, and it will automatically transform the data structure appropriately.
Role Command Toggles
- The
d!rolecommand no longer needs you to specify a subcommand such asaddorremove. - If no subcommand is provided, it will now toggle the role on the member.
- For example, if the @troptopreal already has the Quacker role and
d!role troptopreal Quackeris used, the Quacker role will be removed from @troptopreal.
Membercount Goal Projection
- The
/membercountcommand now has an optionalgoalargument. - This will show an approximation of how long/when the server will hit that amount of members.
Whitelisted Antiping Channels
- You can now configure specific channels where antiping will not be triggered.
Editable Verification Panels
- You can now edit your Roblox Verification Panel instead of having to recreate a new one every time.
Careers Page
- Weâve added a Careers page to our website, which displays requirements and the application for the position.
Documentation Progress
- Weâre making progress on writing our Documentation as our team of Docwriters continues to grow.
- All existing pages will be kept up-to-date, and are up-to-date right now.
Quality of Life Changes
- Renamed Welcome/AutoRoles -> Welcome/Autoroles
- Renamed Discord Server Status -> Discord Server Statistics
- Added markdown string to
/emoji view - Added username instead of nickname to lock/unlock channel logs
- Added unmute reason to the DM notification sent to the member
- Added proper sorting to the
/feedback viewcommand - Added bypass for sanitization of
/sayfor members with the Manage Server permission - Rewrote our variable replacing utility to use better pattern matching and prevent unwanted replacement
- Deprecated skull (custom âđâ) emoji and use the swords (custom ââď¸â) instead
- Deprecated usage of
suband replaced it withusubto chop strings by characters instead of bytes (prevents âInvalid JSONâ errors) - Autoresponders now mention on reply
- Automations are now executed asynchronously to prevent the Delay action from affecting the serverâs ERLC server status messages, channels, logs, etc.
Bug Fixes
- Resolved issues with 0-byte/empty ticket transcripts
- Resolved issues with web ticket transcripts failing to load due to expired cookies
- Resolved issues with completely inaccurate timestamps on web transcript messages
- Resolved issues with ticket unclaim embeds not sending
- Resolved issues with the ticket Hide claim mode not functioning whatsoever
- Resolved illogical statements in feature limits
- Resolved issues with exportable codes appearing as normal single-digit integers
- Resolved issues with large numbers breaking our number formatter utility
- Resolved issues with refunding Ducky Plus+ slots from removed guilds
- Resolved issues with
/setuppage selector teleporting to the incorrect page - Resolved issues with using
{*.avatar}variables in the Message Editor resulting in HTTP Error 50035 - Resolved issues with
/ticket managenot letting you change the ticketâs subject - Resolved issues with removing audit log channels from an audit log type
- Resolved issues with
/suggestion listerroring - Resolved issues with
/softbanerroring - Resolved issues with
/leaderboarderroring - Resolved issues with creating a shop item
- Resolved issues with missing subcommands of
/punishments ...in/help - Resolved issues with editing/removing Autoreact Channels if more than one autoreaction was added to the same channel
- Resolved issues with department nicknames being synced unidirectionally