Changelog
All notable changes to this project will be documented in this file. See commit-and-tag-version for commit guidelines.
4.5.6 (2026-07-19)
Bug Fixes
- roll: bracket roll for custom formula broken (d8790c1)
4.5.5 (2026-07-19)
4.5.4 (2026-07-19)
Bug Fixes
- roll: semi-direct bracket roll broken if message stats with markdown (0bc2792)
4.5.3 (2026-07-18)
Bug Fixes
- regex: ReDoS guard (again) (f030389)
4.5.2 (2026-07-18)
Bug Fixes
- bulk: add a limit for number of bulk & add translation for the generated error (00a0bdd)
- cpu spike because statName was not escaped during the getStatsRegex that can lead to ReDoS (738935b)
4.5.1 (2026-07-17)
Bug Fixes
- roll: bracket roll (semi-direct notation) broken (3652451)
4.5.0 (2026-07-12)
Features
- web: add a sharable web page with all characters + allwo to share only one (1edfc9f)
Bug Fixes
- bot:calc: ephemeral error when using hide + wrong attributes set to 0 (885fdea)
- dice: in bulk roll, comments without
#was stripped. (a423325) - roll:comments: broken parser when using slashcommands with comments in roll + comments options (f73cda8)
- roll:gm: lost comments when used in dice (acea0f3)
4.4.9 (2026-07-08)
Bug Fixes
- bot: enhance ignore count handling in comments (10733a2)
- roll: should not send roll typing error in sentry (084a11f)
4.4.8 (2026-07-03)
Bug Fixes
- roll: error when a formula use a sign & comparing the result to a sign (d38cbcc)
4.4.7 (2026-07-03)
Bug Fixes
- bot:register: Cannot read properties of undefined (reading 'trim') (8ae52e1)
4.4.6 (2026-07-03)
4.4.5 (2026-07-02)
Bug Fixes
- web:playground: wrong url to dashboard in the playground (fa88b98)
4.4.4 (2026-07-02)
Bug Fixes
- roll: throw an error in invalid comparator (878ab3d)
4.4.3 (2026-07-02)
Bug Fixes
- bot:direct: resolve
{exp|0}with default value (aaf1c26) - bot:roll: fallback to normalize the brackets (77d358e)
- bot:roll: resolve the $stats inside brackets before wrapping (8290c96)
- bot:snippets: duplicated trailed comments (271a320)
- web:playground: resolve
{exp}(e7e393c)
4.4.2 (2026-06-26)
Bug Fixes
- handle missing parent channels in thread operations (9a5d99b)
4.4.1 (2026-06-25)
4.4.0 (2026-06-24)
Features
- add statistics management to Playground component (ef3a297)
4.3.0 (2026-06-23)
Features
- web:playground: enhance dice rolling logic and UI options (d01a58f)
- web: render Playground directly on playground.* hostname (f370ec7)
Bug Fixes
- server: allow Iconify CDN in Content-Security-Policy (025b6fc)
4.2.0 (2026-06-22)
Features
- web: add playground page (8d9c083)
Bug Fixes
- web:i18n: not found i18n key, AGAIN (a5c62b8)
4.1.1 (2026-06-21)
Bug Fixes
- customFormula: stats was not parsed properly (fa10984)
4.1.0 (2026-06-21)
Features
- custom formula (ce9e108)
- web:memory: use jwt for caching memory, no disconnecting when bot restart! (8cf12cf)
Bug Fixes
- result: wrong display with shared rolls (3dc3f9a)
- web: overlap in dashboard + config fixes (17cd029)
4.0.5 (2026-06-17)
4.0.4 (2026-06-17)
Bug Fixes
- bot:on_delete: enmap error for key not found when deleting (93b799a)
4.0.3 (2026-06-12)
Bug Fixes
- comments without # works again in /roll commands (b763fe9)
4.0.2 (2026-06-05)
Bug Fixes
- core: do not roll bulk dice when the X in
X#dYis not a number (for examplea#d100orhello world 1#d100) (67d0c54), closes a#d100 1#d100 - dep: escapeRegex was added to uniformize (376de7b)
- dep: remove escapeRegex and use the one in uniformize package (1aa1ba6)
4.0.1 (2026-05-30)
Bug Fixes
- bot:graph: Cannot read properties of undefined (reading 'statsName') (e73d2a9)
4.0.0 (2026-05-15)
⚠ BREAKING CHANGES
- the dbd command doesn't exists anymore, user need to use /macro instead of.
Features
- add "total" rolls to have the number of roll done in the server (9320860)
- add
invertoption for some system (85225c1) - add
karma resetif needed (9774907) - add a select/choose in a list commands (6b2a84f)
- add activities commands for admin only (private server) (5c64805)
- add aide changelog (33f9bbd)
- add an "update template" commands to quick update without re-registering the channels. (c808658)
- add assets (b3141a1)
- add auto-role (04eae4d)
- add basic maths function (#15) (8c81b27)
- add character name support to dice roll processing (c18e06d)
- add chart generation and attribute selection functionality (ce3b04b)
- add commands config anchor (8246805)
- add delete template functionality (dfbeb10)
- add disableCompare & sortOrder (3d965f9)
- add edit command (5417182)
- add editMe command to update bot profile information (8d7f68d)
- add EMOJI_MATH constant and update return statements to include it (40441e5)
- add expander functionality to user settings and update related commands (b571387)
- add ignoreNotfound option to user settings and update related functionality (496d0d9)
- add more options with statistiques (1fc924c)
- add mp_roll command for private channel usage and update roll command contexts (3f9638f)
- add new social media links and icons to constants (2cf58db)
- add onDebug and onWarn event handlers to logger (770e23c)
- add replaceUnknown option to user settings and update related functionality (7699eed)
- add setPity command for managing pity configuration (24b6612)
- add snippets functionality for creating, deleting, and listing user-defined macros (b721657)
- add sortOrder parameter to rollCustomCriticalsFromDice function (e02812a)
- add stats to user settings and refactor snippet display functions (0735246)
- add strip_ooc option to remove out-of-characters messages, and other improvements (1ccbe33)
- add support for custom critical in template (80dee14)
- add support for info stats comments and refactor comment extraction logic (efa8a64)
- add switching locale & fix locale (4a81dd9)
- add tests (ec8ec70)
- add tools function: luck_meter (6bb0b72)
- add translation (43f203b)
- add user data integration for dice rolls and character retrieval (7a284d6)
- add user settings command for creating and displaying the link created by the context menu (5eb6ccb)
- add web dashboard scaffold with Discord OAuth2 (steps 1 & 2) (#48) (3c02857)
- adding a role for dbd / dbroll (335d573)
- adding translation (92b4fe6)
- adjust displaying result (075e0cc)
- adjust the display of "simple send dice" (b5ef01a)
- allow "global" dbd & dbroll if the template allow it (#13) (b3d01d9)
- allow attributes in snippets (c74cbe6)
- allow better handling combination of maths and test value (2c7368c)
- allow bracket command (70a4a02)
- allow calcultation in
<(value)(e7630cb) - allow critical success/failure message (f0f233c)
- allow force distribution of points (085b11e)
- allow multiple logs for forum (0485125)
- allow self registration (deda85e)
- allow simple roll in DM (00451d7)
- allow threshold in macro & snippets (6a060a3)
- allow to close scene & return to the "default" thread channel (00958f4)
- allow to disable thread auto creation (6af503d)
- allow to edit avatar of embeds (58b5f6b)
- allow to get the comments from a simple message after dice roll (without comments notation) (499dc15)
- allow to hide roll result (f4d6c6e)
- allow to ignore some dice from the karma (1ad2388)
- allow to post directly in a forum and let the bot create a new post in it (603d26f)
- allow to set a specific channel/thread for rolling result (f4da2af)
- allow to set another channel for user (32c5123)
- allow to set char even if not registered using the
[@tag](https://github.com/tag)(9a0a36d) - allow to upload avatar instead to use a link outside of discord (2562a92)
- allow to use normal message in roll (instead of comments only) (45e9690)
- allow usage of formula (4c03a08)
- allow using directly message to roll (6e233db)
- allow using in forum for forum roleplay (e5a21c3)
- allowSelf: add option where moderator needs to validate the sheet (64fb496)
- alow to delete char if not delete when message was deleted (517a1ca)
- attributes: allow formula in attributes (only between attributes) (c0d797d)
- auth: implement stricter rate limiting and improve error logging (0dc212f)
- autodelete usersettings when needed (29805f1)
- avatar: allow using cdn image ! (778b254)
- base roll should works the same as parsing message content (5fb8c78)
- better autocompleting (014c464)
- better commands for temp bubble (244ac6f)
- better message (045d206)
- better processing of custom critical and display value (0aab83b)
- bot🎱 add 8ball command with response handling and integration (0753579)
- bot:character: checkbox! yipee! (94a1d30)
- bot:display: add access check for thread visibility and add an url to the sheet in the heading (8addbff)
- bot:join: add onMemberJoin event handler for new guild members (59fbc8b)
- bot:join: enhance onMemberJoin with logging and character caching (ec0a183)
- bot:roll: allow comments + critical_success + critical_failure without using
{c[fs]:(sign)(value)}for accessibility. (c32f097) - bot:tool: allow to move a sheet to another channel (dc66b95)
- bot: enhance dice rolling with custom critical values #custom-critical (de2887d)
- build: automate version synchronization with postrelease script (ecdb694)
- Bulk_add multiple characters (4a116cb)
- calc: add "transform" to round, ceil, floor, sqrt or square the result (bbc9cda)
- calc: add calc commands based on statistics (6260c34)
- calc: enhance calc sign with allowing
>=and ⩾ ascii (37cc9a1) - calc: set calc result as other roll, allowing better "forwarding" with anchor and logUrl (499d5dd)
- capitalize each words instead of the first (77a0ea8)
- channelName: allow to detect emoji while channel starts with special ascii characters (57e4f44)
- characters: add force refresh option for character fetching and cache invalidation (a9bb121)
- choose: add
|and weight with *nb (c981679) - choose: should allow multi word if using ; or , (590f95b)
- command to display a chara data (48cc8ff)
- commands: improve sign handling in roll and calc commands (9c6eb7d)
- config: disable logs + anchor (026dc9d)
- config: enhance display command with general and template subcommands (b9cb377)
- config: update Vite configuration for optimization and build settings (d9efc64)
- contextMenu: add a command to copy the result (88a6948)
- copyResult: add possibility to create link using reaction + button (7045224)
- custom critical per dice roll with
{(*)c(sf):(sign)(number)}syntax. (ba55c42) - custom-critical: add custom critical in the embeds for user and template (00f88bc)
- dashboard:character: add the refresh bouton directly on the header (af6ff42)
- dashboard:favorites: implement favorites functionality for guilds (ea6e5cf)
- dashboard: add channel access check for members and update character linking logic (7c89e07)
- dashboard: add proper page when user refuses Discord OAuth (e49a9de)
- dashboard: add role-based dashboard access restrictions (8aa5672)
- dashboard: add server characters tab and name search filter (b616412)
- dashboard: add server characters tab and name search filter for GMs (ea5a43a)
- dashboard: show Discord owner name on server characters, grid layout for search (2e86b56)
- dashboard: when editing the template, allow to update sheet with the new template (03f6aeb)
- dbd: allow using
{{exp}} in dice for replace with the expression (719d883) - db: enhance embed parsing logic for user and template data (11361f8)
- dbroll: allow to exclude a statistiques from dbroll (d3e551f)
- delete message about thread creation if any (13a9da4)
- delete-char: now add a wall to prevent deleting by error (confirm button) (b428938)
- description: add command to update guild description (01a67db)
- dice with parenthesis will be better handled (43194b6)
- dice: add 'ul' parameter to various functions for improved error handling (684328d)
- dice: allow comparaison in ; syntax (6962e85)
- dice: support for dollars values in expression (b2d6b43)
- disallow channel with self register (09f1cc3)
- display: display evaluated formula (33e070d)
- docs: add links to Dashboard for server configuration and settings management (aa9457a)
- edit will be done by button & modals (809d137)
- enhance avatar handling by allowing attachment uploads and improving error handling (684baeb)
- enhance dice roll processing with infoRoll support and refactor user data handling (97f8c8d)
- enhance interaction handling and button functionality with new moderation options (ed444c9)
- enhance leaderboard functionality to display all options when none selected (7535426)
- enhance template functionality with character and original dice support (e4fff64)
- enhance user data handling and improve comment formatting (666505d)
- ephemeral for info & global context cmd (3c911dd)
- error-handling: improve error reporting with detailed messages (08f698a)
- exit the bot on uncaught error + send a message via webhook for alert (24aabc2)
- handle by the core too much dice & stats (b58f182)
- health-check: enhance health check endpoint with detailed status and resource usage (5e13b53)
- help: add bot stats (859bd1c)
- help: enhance help message with new configuration options and commands (c8b17b3)
- if a channel is named with
🎲send direct result (ec8162d) - if the server have a template ⇒ enable by default the commands ID when the bot is ready (73748eb)
- implement avatar reupload functionality and improve avatar handling in display logic (e001718)
- implement moderation for dice edits and validations (feb56fb)
- implement template rendering with improved token replacement and context handling (7829572)
- implement trivial comparison caching for pity management (20a500d)
- import csv & hide characters (5089cec)
- integrate character import, edit, and logs on dashboard (2a19d89)
- integrate user data into dice roll processing and result formatting (7536b0d)
- it is now possible to remove template dice value from user (0fa1b67)
- karma: add sort option (raw/ratio) to leaderboard command (b7f6d7f)
- leaderboard: add minimal threshold to create the leaderboard. (f575ea1)
- link to original when rp message (9b9a37c)
- logger: add sentry logs (cdf49ca)
- logger: enhance logging configuration and add pretty log styles (a03f23b)
- logger: improve logging format and add deleteByMessageIds function (513189a)
- logging: replace console.error and console.warn with logger (468dfda)
- luckmeter: add ephemeral (c5b4466)
- math: allow outside of a guild (3d12852)
- memory-database: use a enmap "memory" database to store all user-characters, speed up a lot the bot in the roll process. (befd6ee)
- mention user when using the same channel for roll (5d97b18)
- mj roll to roll any dice for another user (b8e7dc3)
- mj: allow roll on global dice if exists (ac50687)
- modals: implement user statistics registration and validation (3d6cbba)
- onMessageSend: allow moderator to ping someone to "roll for them" (3ec1fd4)
- opposition roll option in dice (6a49ec2)
- optimize error message and try/catch (c2fa75d)
- order: add support for sort order global configuration (9ad6a27)
- overwrite existing snippets (d51025a)
- parse-result: enhance compareValue to format originalDice output (238caaa)
- parse-result: replace roll function with getRoll in custom critical (a75e6da)
- parser: improve handling of custom critical rolls and comparisons (89e5f78)
- pity: add pity feature and adjust karma display (07e3be0)
- pity: trigger pity based on a random value, starting at 75%. (3c5c0a2)
- prevent quickest moderator to validate until the user mark it as "confirmed" (220abed)
- private char (7a5a26d)
- reaction: allow to copy reaction between saved message/interaction + send result to DM if used with 📩 (c97c7cf)
- refactor custom critical handling in embeds (40da490)
- register template statistiques (170ecda)
- register: allow to wipe all characters when registering new template (4fe5939)
- remove character name parameter from dice roll functions (600b934)
- remove followup with the commands, as you can copy codeblock in mobile (1c60fed)
- remove restriction on adding a template & add it when template is deleted (ea61eb2)
- rename DBD to macro (f02f16e)
- result: allow to send result > 4000 (extreme case) (1a2b2f8)
- roll: add exclusion of specific statistics (7fbd036)
- roll: enhance dice roll logic with dynamic modificators and comparaison (fe93226)
- roll: enhance mj_roll command with autocomplete for transformations (b90f6eb)
- scripts: add dashboard release script for improved deployment (14bf01d)
- selfRegister: enhance validation process with modal support and footer data handling (515868d)
- set a default tags for forum post (d6cc887)
- set translation (e65efa0)
- snippets: allow to import snippets from a JSON file (81043c8)
- snippets: enhance error handling and validation messages for snippets (85edb0e)
- stats: add leaderboard, graph, and user bilan functionalities with new types and utility functions (c421594)
- stripOOC: add thread mode option for OOC deletion configuration (9694448)
- support sending in another channel (1633f89)
- support to custom avatar URL in charasheet (3d4fd88)
- sync-version: add script to synchronize package versions (7af49b6)
- template assets (14821f1)
- template: add components for managing templates including AddButton, CheckBox, and CopyButton (61643b2)
- tests: add test for result within a simple roll (1c2cc33)
- threshold: allow to use "simple" number to replace the original threshold (if any) (362386b)
- timer: better displaying time (ec5f4fe)
- ui: enhance ConfigFormFooter with Snackbar notifications for save and discard actions (febbaf1)
- ui: enhance ConfigFormFooter with warning icon and style updates for better visibility (0d32312)
- update comment processing logic and improve test assertions for dice rolls (aaff09a)
- update dotenv configuration for production environment (d72d6a1)
- update to node crypto engine for better number generation (5e6a543)
- use the real name for statistics when found (be239e1)
- utils: add isNumber utility function for value validation (ad200a2)
- utils: integrate capitalizeParenthesis for enhanced text formatting (96a1586)
- validation: update error message for user not found and improve condition for hidden output (a281943)
- verify combinaison/formula before register (f645449)
- web: show guild avatar and name as dashboard header (74eb658)
Bug Fixes
- "D" not recognized (4d82096)
- a simple dice always comparate to the stats, even when we don't want to (c42abcf)
- add an error when the file is not a JSON file (a9e5125)
- add fetchAvatarUrl utility and update avatar handling across modules (8540560)
- Add lint suppression for Discord customId property names (1cb635a)
- add MENTION_ID_DETECTION regex and refactor getIdFromMention function (f350b87)
- add profiler start/stop calls in interaction handling (9375b60)
- Add proper guard clauses for optional db parameter (5d4447e)
- add silent option to suppress error messages in getTemplate function when loading the first time (2bf6270)
- add support for displaying custom critical settings in the embed and diceType (3b4b8cb)
- Add unused db parameter to Move.start for interface consistency (28e662e)
- adjust error throw (27d20c4)
- adjust help (879880e)
- adjust message when editing avatar (504fed0)
- adjust pagination logic and update footer for last page in modals (783eb61)
- allow bracket roll in same message that code blocks (1e95a4f)
- allow double sign in exploding dice (6f6c598)
- allow more character in detection (7bd3bf6)
- allow neg stats & block with force distrib (quickfix) (5443db1)
- allow negative statistics in template (622e1ce)
- allow to get cs and cf (00b547c)
- allow to import/export with channel id (a6e1a6a)
- appareance of server list (0c8c0e3)
- async reaction (65d58ed)
- attributes: should refuse to save any invalid attributes (5019afb)
- auto-role: inverted the stats/dice role (153f4ca)
- autocomplete: return empty array + verify existence of stats before autocomplete (61ca025)
- autorole not added in some condition (0f92687)
- available tags crashing (efb10dd)
- avatar & channel are not mandatory (fd0a426)
- avatar channel (e6cc395)
- avatar: discord use different domains for media/cdn (e5173e8)
- avatar: validate avatar URL (2fba310)
- await in fetchChannel (9d4a9cf)
- bad env for Math constants (9a01672)
- better eval and message (26b9439)
- better name for thread (934ac15)
- better zod error (prevent crash if too much error) (508c7f5)
- bot:character: add user_id in character Data to check if the user can have access to it (6dad042)
- bot:choose:
0in weight should be treaten as if (like string) and not throwing an error or ignored (8aa44cf) - bot:choose: adjust formatting for response content in choose/8ball command (a2cd69d)
- bot:criticalcount: preserve streaks for no-op messages in addCountLogic (b404f25)
- bot:guilds: remove guild from user favorites and clean caches on deletion (08064d1)
- bot:karma: karma is now ephemeral per default (8654383)
- bot:ready: build PRIVATE_ID set inside the handler to avoid TDZ (760e8ae)
- bot:roll: enhance bulk roll handling in comparison logic (0e35caa)
- bot:roll: re-integrate custom critical /critical in roll handling in slashcmds (2dd1efb)
- bot:status: log status file creation and loading events (196cca2)
- bot: enhance dice roll with stat replacement (1b82161)
- bot: ensure public channel creation for template command #custom-critical (201b2cb)
- bot: remove unnecessary await in downloadTutorialImages call (ac01d07)
- broken cs/cf in baseRoll (75fac8c)
- broken indirect roll (329bf6b)
- broken success, multiple dice values... (429065b)
- broken type (8c60946)
- build error (4e9cf15)
- bulk roll with extra space at the start (64c86ae)
- bulk: should keep the original comparaison in the header (8d0c857)
- bulk: shouldn't match critical if the dice type doesn't match in bulk roll (7b399ac)
- buttons: button disappear when register dice (7cfdf44)
- cache: duplicate key translation create a cascading issue in french (fe3b227)
- calc: better result in chained expression (9f65ff8)
- calc: undefined symbol when calc's result = 0 (8698ada)
- calc: uniformize when rolling the expression (d91f5a1)
- can't delete capa when " - " in name; (5b76094)
- can't display negative result (553ce9f)
- can't register user dice (df060b5)
- can't remove result_channel (514417b)
- cannot convert null to undefined (896a486)
- cannot read of undefined "statsname" (4047bd3)
- Cannot read properties of undefined (reading 'toLowerCase') in Object.entries(dices) (88b6c10)
- capitalization issue on import (18b50b9)
- capitalize for userEmbed fields name (27e4e8c)
- case of channel not found (e25a776)
- catch all error when needed (917ecf2)
- catch delete error (df75694)
- Centralized command helpers, autocomplete, and interaction context (0726907)
- chainedRoll: better take into account the comments on_message_send.ts (ec18748)
- change console.log to console.info for version update message (f093704)
- change one line (8712a80)
- channel where to send character sheet when default channel is not set (e86c701)
- channels: enhance channel type checks to exclude non-text channels (920f6f3)
- char is not iterable (8fc36ea)
- characters 304 (90d2948)
- characters doesn't appear on non admin ser (ab680d1)
- choose: prevent random.sample to roll when the list is empty or howMany > list length (cf7988a)
- choose: use array fill instead of repeat (ea59ff8)
- clean critical blocks from dice content during processing (b348dba)
- cmds appear event outside of the bot (f6be554)
- colorize json has no call signature (21e95f1)
- commands: correct client parameter in bulkDeleteCharacters call (50e86fb)
- comment indentation (277ecf9)
- comments deleted when an user data is send (3fbc339)
- comments not set when using with stats (3797521)
- comments with statistics in $ (95be868)
- configuration: add option to disable thread creation and refactor related functions (a37dc02)
- configuration: remove unused disabledLogs variable (bbd0a4d)
- context should not take the bot as it (e4b0266)
- context-menus: switch results to dice accordingly (19e2c83)
- contextMenu: improve line matching logic and remove duplicate partial (21b9d19)
- context: should not add the context link if the option is disabled (97b826a)
- conversion from json to Enmap (361c468)
- copyResult: add compare result (failure/success) & adjust aspect with other comments (f337d1a)
- correct condition for generating stats dice in custom criticals (a25bf6f)
- Correct duplicate prevention logic in Move feature (ce798f8)
- correct French translations for graph attribute options (d5651b2)
- Correct IFeature interface to match actual implementations (9bd5a0f)
- correct import path for localization module in button functionality (649cda3)
- correct page number in modal title (52312c5)
- correct templateID check and update documentation formatting (97e1b52)
- crash (ee212f7)
- crash / unhandled error when message not found (33cabc2)
- crash /multiple error even when skip = true (202fc4c)
- crash at startup (795c8e3)
- crash when changing command /delete cmd (a96dd65)
- crash when config is not found (33d9d48)
- crash when starting the bot when the template is not found (2fdcf37)
- crash when the command is used in thread (c7eddcc)
- crash with private allowed only for moderator (44b5d63)
- critical message doesn't work (d6e1815)
- csp: allow data URI fonts and external HTTPS images (ea2cbf8)
- custom_critical: correct value assignment in custom critical logic (ea7827f)
- custom-critical: allow dice also in custom critical compared to a dice to be rolled (prevent also errors :clown:) (249146c)
- custom-critical: fix name trimmed in the database and also the affect skill and onNatural dice that have no effect (5e9c1f2)
- customCritical:
Invalid left hand side of assignment operatorwhen using=instead of==(0e7851b) - damage: allow overriding template dice when registering an user (aka fix duplicate) (9d09c94)
- damage: on duplicate value registered with damage dice, allow to override a existing value (035a9ef)
- dashboard:character: avatar cache, again (45c494a)
- dashboard:character: Some text was cut (ebd3485)
- dashboard:char: user globalName instead of member name (6dd41af)
- dashboard:snippets: attribute should be passed & allow snippets with it (c1c6799)
- dashboard:template: fix modal height to prevent resize on tab switch (6b22c68)
- dashboard:template: remove maxHeight property for improved scroll behavior (0f07245)
- dashboard:template: restore original reducer actions to fix react-hook-form error (ab03b24)
- dashboard: fix server characters tab - stats/avatar, refresh button, tab order (6c1fe36)
- dashboard: perf + add template global config (24776e5)
- dashboard: role removal, admin chip, strict admin restriction (48017b3)
- dashboard: show all bot-present guilds in server list (8d0711b)
- dashboard: slow down refresh spin animation to 1.4s (0e3c9b1)
- dashboard: spinning refresh feedback and stale Discord CDN avatar fix (4c0b418)
- dashboard: use local font instead of google for privacy & proxy (1220b46)
- dbd: missing translation (0d87190)
- db: move uniformization of user records to correct location (a9f2edc)
- db: old version of the dashboard can lead to a wrong version for ascending/descending, so it will be fixed in ready (will be removed in future version) (0f4697d)
- db: remove redundant comment in get_user.ts (99a79c6)
- dbRoll: accent should be kept in the final roll message (eea8876)
- dbroll: forgot to remove the detect critical before parsing the comparator (f824942)
- deferReply to gain time when registering user (bc47ad4)
- delete semi-direct message (a672928)
- delete user (9948082)
- delete: delete message and memory DB (4f435e1)
- deletion with multiple ID (5e6ac3d)
- dependencies: update discord.js to latest version (f547642)
- dice not recognized (a8868ea)
- dice:records: in first records, embed was not updated (a63b84c)
- dice: expression should be also converted even used in
{exp}(9fec858) - diceNotFound: I dunno why but in some condition, the template is not fully fetched on user resulting in cache error. (1dd6be0)
- dice: preserve parentheses when replacing stats in formulas & allow combinaison of tree stats without error (45b57bd)
- diceRoll: affectskill should only works if dollarsValue is defined (da22ba1)
- diceRoll: comments for dice allowing "&" and main comments (c970115)
- diceRoll: do not trimAll in baseRoll (because it breaks comments!) (02712e5)
- dice: should use attribute even if no character is found (16e7b1b)
- dice: use
{exp}to prevent colliding with{{exp}} stats name (3732260) - disable ping on graph (asked by user) (44b193e)
- disableCompare: incomplete comment preservation for multiple comments. (1f9d754)
- disableCompare: message in example (60f4c2d)
- disableCompare: update parameter names for clarity in processChainedDiceRoll and isRolling functions (9dc8634)
- displaying of delete after was wrong if default settings is applied (71df774)
- displaying of the self registration configuration (b1ed88b)
- display: prevent runtime error if guidSettings is not disable (e21e15b)
- do not delete user when not found (because cache error) (f283d97)
- do not mention user in comments (09a8279)
- do not readonly (0d3a96c)
- double code d'erreur dans la commande not found character (d8b2274)
- duplicate commands when adding the bot (27220eb)
- duplicate message when roll in result_channel (fcb75dc)
- duplication of charName (af4b15b)
- edit-template: adjust dialog height and enable scroll buttons for improved usability (3bb9b40)
- edit: bulk edit memory when editing template (cb15d29)
- editMe: allow reset to default (84a8fa6)
- embeds: specify message type as Djs.Message
<boolean>(a7f488f) - empty comments (b20b96f)
- empty message (567cd2a)
- enhance moderation cancellation with user notification and utility functions (f3c0ef8)
- enhance timer descriptions and error handling in translations (0b4950d)
- enhance variable matching regex and improve formula processing (cbf2e62)
- ensure attributes are only retrieved for valid guild interactions (0a062be)
- ensure chart function is called for luckMeter.graph.title case (2aab076)
- ensure critical count is only deleted if it exists on user quit (5064633)
- ensure proper parsing of custom value in natural dice evaluation (b6402eb)
- ensure user ID is valid and not a webhook in saveCount function (d761a5a)
- error message (928d847)
- error should be better to understand (b4ac915)
- error when calling directly by name (25fb1dd)
- error when generating formula test (3aa5e5d)
- error: e.code can be a number or a string, add a conversion (7dec0b6)
- errors: add missing permission error messages for bot access (e69da26)
- excel je te hais (e676102)
- exploding dice wrongly parsed (dfe1b23)
- export critical count functions and clean up imports (77e303b)
- export: fetch correctly avatar & channel when asked (e63fee9)
- export: set default member permission to moderators (2233eea)
- expr: should not display the
+0or-0(4887dd2) - fallback to Discord embed field names when damageName missing (eef7497)
- features: should not findLn for stats/macro (788704b)
- fetch as text (71c68c4)
- fetch character data from Discord instead of in-memory cache (de6c683)
- fetch user when not found in cache (e8d345d)
- field can be more than 25 so we need to separate the embed during registrationt oo (55d705e)
- field not found (93c8239)
- filter: crash when filter
>=25 (13f2396) - filter: crash when filter
>=25 (cff1b94) - filter: forgot normal returns when values
<=25 (7a72ec4) - findChara: forgot to return when a char is found (caab5d2)
- forgot a keys (024d014)
- forgot opt (74f82e3)
- forgot some char in dice recognition (828067d)
- forgot to remove a param in rollWithInteraction (9f3dd4c)
- forgot to remove console.log for course example (db0a536)
- forgot to set context for all the commands (acebbb6)
- forgot translation between things (52e6f0d)
- format error when pinging user in comments (287baa9)
- graph generation with minimal value (65f740a)
- graph path (764d1f1)
- guarding the fetching of botmember (ddbae15)
- Handle case when user has no existing characters in Move (9d135d6)
- handle dice with () and comments (ea8b9ca)
- handle errors in dice comparison logic gracefully (13995c5)
- handle JSON parse error when cancellation (21f085a)
- hard cap for embeds (d0c9b55)
- help message doesn't send right as they are pretty long (76669e2)
- i18n: translation not found (44bf1e9)
- id not found in mp (cd58af5)
- if a custom channel is set, private char must be ignored (+-) (67c7eaa)
- if the select menu disappear, make it appear with the button (f69a154)
- implement parseComparator function and update interaction handling (eb9d6a9)
- import: allow to delete old char via an option in the cmd (d28da76)
- import: standardize header with new lib (22f32b7)
- improve avatar error handling by updating error messages and refining URL validation (3fbfeac)
- improve avatar file handling and validation in user interactions (3e8c184)
- improve channel validation and response handling in send function (32e79b8)
- improve character name handling and filtering in autocomplete functions (a848487)
- improve critical hit handling and modify import paths (b0b2176)
- improve error handling and logging in on_error.ts (32cb602)
- improve error handling for missing pin permissions (6549266)
- improve reply handling for empty user stats (f431dcf)
- improve validation for imported stats and macros (f6cb849)
- in some condition, discord image link can be cdn (0f56296)
- increase minimum similarity threshold for snippet and dice matching (14990b6)
- infostat: capitalize on list doesn't work (912a7d9)
- interaction.guild.id doesn't exists in MP (033c0c2)
- interaction: make resetButton asynchronous and improve select handling (d407024)
- InteractionNotReplied: should check before to send the follow up (c266531)
- interactions: handle expired interactions and add permission checks for modal replies (4dced5a)
- interpolation (f3c7068)
- isPrivate not recognized (5e043a9)
- karma: display emoji when >1 (a053cb5)
- karma: double counting (3bad446)
- karma: fix misleading longestStreak display (802cbb1)
- karma: total key not found (5ac2777)
- keep bracket message because it a rp reply (188bc05)
- key doesn't exists (c5c5abc)
- key not found (7bf758d)
- lang: update the lang in memory too (7bda09c)
- logger with wrong config doesn't display logs (589d8a8)
- logger: update release version to match package.json (77c5613)
- logging: improve error logging format and add ephemeral replies for user feedback (51f1a10)
- macro: clean up dice message handling and remove unnecessary comments (c7c9799)
- Make db parameter optional in Avatar and Rename implementations (eee2eb3)
- Make db parameter optional in IFeature.start for Move compatibility (5801e69)
- make the get Embed translation agnostic (de9cbeb)
- markdown conversion (b0f6651)
- memory-database: make updateCharactersDb call awaitable in thread message handling (c2e5707)
- memory-database: prevent fatal error when no message are found for cache completion (54674f9)
- mention on mjroll (ce3cc6d)
- message broken (c336a47)
- message sending logic for chunked replies (6daff3e)
- messageId is the first in the list ; not the last. (b4ae012)
- misplaced return (09b42ef)
- missing await (b365010)
- mjRoll: default should give the first chara in the user (7cc41ca)
- mjRoll: incoherence between data in user retrieval (64ee533)
- modals: use modals from discord 14.23 (cc4d71d)
- modificator + sign result (b51940f)
- multiple dice combined not recognized properly (cdd78d0)
- no data in userEmbed (332f850)
- no need to check the type of critical as typescript do this for me (0ba0323)
- no need to verify the template each time user add a new dice skill (0fa5c3f)
- no permission to send the welcome so fallback to DM (5309d76)
- no user found when registering skill dice (a6c3031)
- on_message_send: text cc not recognized (f31014b)
- on-message: regression with "comments" on normal dice (like
1d20 helloor1d20 # hello) (410f5c0) - only moderator should be allowed to move an user to another (c0a8151)
- opposition not rolled successfully (15fa28f)
- optimize translation (114d29c)
- optimize updating data (53696cc)
- organization in commands (af43049)
- parse-result: add custom critical value evaluation in the /dbd (a351c7e)
- parse-result: do not add the comparator if the symbol for not is here (c83226f)
- parse-result: enhanced the comments handling of shared rolls (eb90736)
- parse-result: finally i fixed these too much space in res (dc99507)
- parse-result: handle undefined statistics in convertNameToValue function (e70edae)
- parse-result: handle when cc used without $ value & allow them (8fd5b8a)
- parse-result: message for success should only be used on "exact" result (5f257e8)
- parse-result: modify the message formatting in
result_as_text.tsto ensuresuccessOrFailureis prepended correctly (5dffb86) - parse-result: parseEmbed not exported (d8c5e90)
- parse-result: should keeps the comments between [] as if (69d1ef5)
- parse-result: trimAll on roll commands (49a8166)
- parseEmbeds with name (31d37ab)
- pass attribute in executing snippets for statsDice (1e64adc)
- permission for edit image (1fce371)
- pity: curly brace roll should be detected as trivial too (b6063e4)
- pity: forgot to pass pity in the shared roll (067035a)
- pity: incorrect operator use (should use
||) (dc82d27) - pity: should check pity only in guild context (87d1170)
- pity: the prevCacheKey was updated to use the channelId (de77392)
- pity: when adding count, streaks are not updated; when deleting, they must also not be decremented, otherwise the series becomes inconsistent. (e3da8d1)
- pity: wrong authorid during delete in the cache (06b2334)
- Potential null reference when accessing guild settings. (104836c)
- pre-commit: add missing newline at end of file (557f4b2)
- presentation of message (title case) (ef5f07e)
- preserve original macro/damage names with accents in export and import (1e550ce)
- prevent "interaction already replied" when an error is throw (d80b180)
- prevent roll on simple number (289fff5)
- private channel should not be allowed if private channel is not set (be08927)
- random was not good, so check was broken (ec19d29)
- record: improve avatar fetching logic and channel selection (should be used when the user is a moderator) (f5b7990)
- record: update avatar verification to return null for empty avatar (a9d6e8f)
- record: update user and channel input handling in modals (f005670)
- refactor interaction reply to use reply helper function (5a609a3)
- regex:
!should not be valid if not followed by!=in theses case (42408bf) - regex: enhance STAT_MATCHER to support optional parentheses around variable names (04c9026)
- register dice in first registering (8eab2b0)
- registering DB (18ee649)
- registration: duplicate found even if the diceEmbed is empty (f858a2f)
- regression with parenthesis (d26e94f)
- remaining value not accurate (c168085)
- remove debug console logs from base_roll and dice_extractor (424da9a)
- Remove IFeature implementation from abstract BaseFeature class (ee45662)
- remove limitation for dice at 25 ; (f8aa815)
- remove log (045acaf)
- remove log (bbaeb25)
- remove logs (f100735)
- remove redundant cleanUrl option in getUserFromInteraction call (aa2484f)
- remove unnecessary config object from fetch function return (bb9578a)
- Remove unnecessary non-null assertions in MoveFeature (ccfe276)
- remove unused intents (a0d4bb6)
- rename 'combination' to 'combinaison' in codebase (main) (ed9639d)
- rename commands (4bed704)
- rename: allow to remove name with recognizing default (947d022)
- renaming deleted all chara (1191ecd)
- replace QUERY_URL_PATTERNS with DICE_COMPILED_PATTERNS in roll and validation logic (226e6a6)
- reply already replied (231f96a)
- reply: ensure proper handling of reply options for edited responses (491e1dc)
- Required options must be placed before non-required options (4bdb3ac)
- result: sanitize comments to preserve channel mentions and improve formatting (6f86133)
- return default char when using display/graph with no charName (9f9a54f)
- roll custom critical if they are dice (702a131)
- roll detect for non roll message (072179f)
- roll parsing (02bbae4)
- roll: allow 4000 characters comments using componentV2 (c64d419)
- roll: ensure comparator is checked before processing dollarValue (5a64c7d)
- roll: evaluate expressions in dice rolls and update modificator handling (43a9697)
- roll: exclude automatically dice from comparaison with
{syntax}if the entire dice is in it. (da1f019) - roll: preserve comments in dice target during parsing (86cb176)
- roll: reroll instead of getting the first result when sending to log (98a0a03)
- roll: should get the critical roll when available in /roll (6ff921f)
- roll: should not considerate ! as a sign if not followed by = (6bf7578)
- roll: should support
{dice}and{{dice}>20} as target failure/success (f025c93) - roll: template not found (1cfdf8f)
- roll: undefined text in command (648caaf)
- same (3f94da7)
- sanitize string values in context menus (158d64e)
- scene: verify bot permission before trying to create thread (08c734c)
- send directly image from URL for tuto (d1ca784)
- send: urgent fix - wrong message deleted (6ff718b)
- set manager on the wrong name (f9a4422)
- sharedRoll: better handling comments in complexe shared roll (statistics + comparaison) (4cde44e)
- sharedRoll: false positive shared rolls when the comments includes ; (7123138)
- sharedRoll: parenthesis dice with shared roll comparaison (a3d8f1c)
- shared: should not displaying a empty line if not comments exists in the shared dice (75e6cbf)
- shortened links (314e4be)
- should have context for guild (dd55d32)
- should calculate points on all stats, not only the "page" stats. (7be5803)
- should delete input if (012ba3f)
- should delete message input after sending the result (90df8b5)
- should handle accented character in charname (055edc9)
- should not be 0 when the number is under 10 (c0604ab)
- should not display character if they are none (7a2c7d9)
- should not display the server custom critical if they are not the same as the diceType (9ad333e)
- should not keep the CC that continue to contains
$(48fed51) - should not processed dice between code (
1d20) (fec2af8) - should not throw error when a min/max is 0 (6a6dcd3)
- should not throw error when template not found (2667a8e)
- should return early when no result found (1d38bf1)
- should roll for bulked roll again (d6c1557)
- should send error in DM to not flood the channels when an error appear (3de2478)
- should support at last expression in shared rolls in snippets (fd5ca1d)
- should throw an error if the set contains more than 25 fields (6bff0ee)
- should throw error on undefined roll (9add0bf)
- should use /ignore/ also in shared roll (d4a1e49)
- should use error and not e (1ba1c38)
- should use this.ul (e6963ce)
- simplify cmds with removing /r and /select (7293e7e)
- skill: improve dice validation and parsing in bot (bfc5522)
- skip not found when ready (aef4c4c)
- snippet validation rejects valid dice with comments (2cf7627)
- snippets: should support
{dice}and{{dice}>20} (ca2b38e) - snippets: should use reply for better handling result (94cc092)
- sort server (06a99aa)
- sortOrder: function should be awaited (1745703)
- space can be allowed in key name (e5fb8ac)
- statistic not found when registering the first time a dice (498cfa1)
- stats:edit: combination starting with number is not a NaN (233374a)
- stats: should be capitalized (9657e0e)
- styles: update confirm colors for better visibility (3a9f123)
- style: trimEnd the last test for finalRes (prevent too much newlines) (a7e13ed)
- subtext format (c8be46e)
- switch to enmap 6.0.0 (ad8cdbd)
- synchronize user template with guild settings and remove unused utility (d083553)
- template: add missing space in embed message (d3aab8f)
- template: should add a little message & continue when the template can't be pined (006691a)
- test (ea1a5f7)
- the autocomplete should be based on the client instead of the guild lang (243b566)
- there will always be an embed at this step (c82a896)
- throw an error if stats not found on a selected char (6226433)
- throw an error when the user is not found to create an early return instead to wait for an exploding assignment (0548d69)
- total = 0 (a0d65b1)
- total exceeded should be accurate (cb6c28d)
- total is undefined (ecfd6fd)
- total should not includes critical as they are already counted in they respective things (431460b)
- total should not includes critical as they are already counted in they respective things (cfb149e)
- translate: import error (5b9f6e0)
- translation context word (4ab3926)
- translation crashed (7627e90)
- translation for transform (bdc8bba)
- trim commands (9919d14)
- typo (12ee6cf)
- typo (ad08682)
- typo (a1705a2)
- typo during refractor broke cmd (07108c3)
- typo in choose description (8799e95)
- typo in name (d77c253)
- typo in setDescriptions method (9d50e91)
- typo that break the bot (f12a74c)
- typo that broke translation description in user (be42cdb)
- ui: enhance ConfigFormFooter with icon buttons for better UX (454df89)
- undefined success (0a1d047)
- unequal and equal doesn't works (824758e)
- unequal and equal doesn't works (8fc0be5)
- uniformize entirely broken… (816b35e)
- unknow message while creating a new user (and probably other modal / button interaction) (86619c6)
- unknown message while creating a new user (and probably other modal / button interaction) (4a7e9f0)
- update avatar thumbnail handling to clear if links include discord CDN (5db3917)
- update character and common translations in JSON files (8f052a9)
- update charUserOptions and edit command to improve option descriptions and error handling (1874ef9)
- update error handling in reply to include context for user not found (310ff7d)
- update error handling in reply to include context for user not found (fcaedfb)
- update error messages for template not found scenarios (183e50d)
- update member access verification and handle private user data in interactions (d33c55f)
- update regex patterns for custom critical and opposition handling (e07b4a6)
- update reuploadAvatar function to include translation support and enhance error avatar handling (65a1316)
- update template cache when needed (7f6a4d2)
- urgent fix for uniformize (2adbd84)
- use another regex for capitalization (5a86bd9)
- use char.damageName for export (original names, fiche-only macros) (52775a8)
- use const for restricted command name (3e959f0)
- use correct import for utils (ab4dfff)
- use new version of verify template (without checking roll) while caching (8f1aa73)
- use primarry the language of the serv, not the registerer (b77ea9b)
- use the metadata user only when there is no content available (5cb278d)
- user not found (ecbeb00)
- user not found (ed31185)
- user not found when the username has number (like myname124) (62fbbfd)
- user shouldn't be allowed to set a private sheet (80962de)
- user shouldn't be mandatory (1187f36)
- user: they are too much condition where we want to get the user if we can (03affbc)
- utils: add uniformization for record keys and values (56cf1f7)
- utils: enhance
capitalizeBetweenPunctfunction (59e3c5e) - validate attribute names to prevent hyphens in user settings import (a36a999)
- validation: correct logic for stat value number check (60d8455)
- verify the url of avatar in case of problem (1305504)
- web: stabilize Tooltip
openprop to avoid controlled/uncontrolled switch (46eeb1e) - when using with create url, the result add too much \n (f528eca)
- whitespace: starting with the space for align (ccb8aa3)
- wrong data dir in enmap (6fc00a8)
- wrong error message (3666b55)
- wrong parsing of comments (3fec940)
- wrong path for linux (07fc061)
3.21.0 (2026-05-03)
Features
- bot🎱 add 8ball command with response handling and integration (0753579)
3.20.1 (2026-04-30)
Bug Fixes
- bot:roll: re-integrate custom critical /critical in roll handling in slashcmds (2dd1efb)
3.20.0 (2026-04-28)
Features
- bot:join: add onMemberJoin event handler for new guild members (59fbc8b)
- bot:join: enhance onMemberJoin with logging and character caching (ec0a183)
- bot:roll: allow comments + critical_success + critical_failure without using
{c[fs]:(sign)(value)}for accessibility. (c32f097)
Bug Fixes
- bot:status: log status file creation and loading events (196cca2)
3.19.1 (2026-04-26)
Bug Fixes
- attributes: should refuse to save any invalid attributes (5019afb)
- bot:karma: karma is now ephemeral per default (8654383)
3.19.0 (2026-04-25)
Features
- dashboard:favorites: implement favorites functionality for guilds (ea6e5cf)
Bug Fixes
- bot:guilds: remove guild from user favorites and clean caches on deletion (08064d1)
3.18.1 (2026-04-24)
Bug Fixes
- bot:criticalcount: preserve streaks for no-op messages in addCountLogic (b404f25)
3.18.0 (2026-04-23)
Features
- leaderboard: add minimal threshold to create the leaderboard. (f575ea1)
3.17.0 (2026-04-23)
Features
- karma: add sort option (raw/ratio) to leaderboard command (b7f6d7f)
3.16.4 (2026-04-21)
3.16.3 (2026-04-21)
3.16.2 (2026-04-21)
Features
- web: show guild avatar and name as dashboard header (74eb658)
Bug Fixes
- bot:ready: build PRIVATE_ID set inside the handler to avoid TDZ (760e8ae)
- web: stabilize Tooltip
openprop to avoid controlled/uncontrolled switch (46eeb1e)
3.16.1 (2026-04-20)
Bug Fixes
- bot:choose:
0in weight should be treaten as if (like string) and not throwing an error or ignored (8aa44cf)
3.16.0 (2026-04-20)
Features
- bot:display: add access check for thread visibility and add an url to the sheet in the heading (8addbff)
3.15.0 (2026-04-19)
Features
- characters: add force refresh option for character fetching and cache invalidation (a9bb121)
- dashboard: add channel access check for members and update character linking logic (7c89e07)
3.14.0 (2026-04-19)
Features
- integrate character import, edit, and logs on dashboard (2a19d89)
Bug Fixes
- bot:roll: enhance bulk roll handling in comparison logic (0e35caa)
- bulk: should keep the original comparaison in the header (8d0c857)
- fallback to Discord embed field names when damageName missing (eef7497)
- fetch character data from Discord instead of in-memory cache (de6c683)
- preserve original macro/damage names with accents in export and import (1e550ce)
- use char.damageName for export (original names, fiche-only macros) (52775a8)
3.13.0 (2026-04-17)
Features
- dashboard: add proper page when user refuses Discord OAuth (e49a9de)
- dashboard: when editing the template, allow to update sheet with the new template (03f6aeb)
3.12.2 (2026-04-16)
3.12.1 (2026-04-16)
Bug Fixes
3.12.0 (2026-04-15)
Features
- attributes: allow formula in attributes (only between attributes) (c0d797d)
3.11.0 (2026-04-14)
Features
- bot:tool: allow to move a sheet to another channel (dc66b95)
- template: add components for managing templates including AddButton, CheckBox, and CopyButton (61643b2)
Bug Fixes
- dashboard:template: fix modal height to prevent resize on tab switch (6b22c68)
- dashboard:template: remove maxHeight property for improved scroll behavior (0f07245)
- dashboard:template: restore original reducer actions to fix react-hook-form error (ab03b24)
- edit-template: adjust dialog height and enable scroll buttons for improved usability (3bb9b40)
- pre-commit: add missing newline at end of file (557f4b2)
3.10.7 (2026-04-11)
Features
- ui: enhance ConfigFormFooter with warning icon and style updates for better visibility (0d32312)
Bug Fixes
- db: old version of the dashboard can lead to a wrong version for ascending/descending, so it will be fixed in ready (will be removed in future version) (0f4697d)
- result: sanitize comments to preserve channel mentions and improve formatting (6f86133)
3.10.6 (2026-04-11)
Features
- docs: add links to Dashboard for server configuration and settings management (aa9457a)
- scripts: add dashboard release script for improved deployment (14bf01d)
- ui: enhance ConfigFormFooter with Snackbar notifications for save and discard actions (febbaf1)
Bug Fixes
- ui: enhance ConfigFormFooter with icon buttons for better UX (454df89)
3.10.5 (2026-04-09)
Bug Fixes
- styles: update confirm colors for better visibility (3a9f123)
3.10.4 (2026-04-08)
3.10.3 (2026-04-08)
3.10.2 (2026-04-08)
3.10.1 (2026-04-08)
3.10.0 (2026-04-08)
Features
- add ignoreNotfound option to user settings and update related functionality (496d0d9)
- add replaceUnknown option to user settings and update related functionality (7699eed)
3.9.0 (2026-04-06)
Features
- add chart generation and attribute selection functionality (ce3b04b)
Bug Fixes
- correct French translations for graph attribute options (d5651b2)
- ensure chart function is called for luckMeter.graph.title case (2aab076)
3.8.0 (2026-04-05)
Features
- stats: add leaderboard, graph, and user bilan functionalities with new types and utility functions (c421594)
3.7.0 (2026-04-03)
Bug Fixes
- snippet validation rejects valid dice with comments (2cf7627)
3.6.2 (2026-04-02)
3.6.1 (2026-04-01)
3.6.0 (2026-04-01)
Features
- bot:character: checkbox! yipee! (94a1d30)
Bug Fixes
- bot:character: add user_id in character Data to check if the user can have access to it (6dad042)
3.5.0 (2026-03-31)
Features
- dashboard: add role-based dashboard access restrictions (8aa5672)
Bug Fixes
- dashboard: role removal, admin chip, strict admin restriction (48017b3)
- dashboard: show all bot-present guilds in server list (8d0711b)
3.4.1 (2026-03-31)
Bug Fixes
- update character and common translations in JSON files (8f052a9)
3.4.0 (2026-03-31)
Features
- snippets: enhance error handling and validation messages for snippets (85edb0e)
Bug Fixes
- csp: allow data URI fonts and external HTTPS images (ea2cbf8)
- should throw error on undefined roll (9add0bf)
3.3.0 (2026-03-31)
Bug Fixes
- dashboard:snippets: attribute should be passed & allow snippets with it (c1c6799)
- dashboard: use local font instead of google for privacy & proxy (1220b46)
3.2.0 (2026-03-31)
Features
- config: update Vite configuration for optimization and build settings (d9efc64)
- dice: add 'ul' parameter to various functions for improved error handling (684328d)
3.1.1 (2026-03-31)
Bug Fixes
- dice: should use attribute even if no character is found (16e7b1b)
3.1.0 (2026-03-31)
Features
- auth: implement stricter rate limiting and improve error logging (0dc212f)
- dashboard:character: add the refresh bouton directly on the header (af6ff42)
- dashboard: add server characters tab and name search filter (b616412)
- dashboard: add server characters tab and name search filter for GMs (ea5a43a)
- dashboard: show Discord owner name on server characters, grid layout for search (2e86b56)
Bug Fixes
- appareance of server list (0c8c0e3)
- avatar channel (e6cc395)
- characters 304 (90d2948)
- characters doesn't appear on non admin ser (ab680d1)
- dashboard:character: avatar cache, again (45c494a)
- dashboard:char: user globalName instead of member name (6dd41af)
- dashboard: fix server characters tab - stats/avatar, refresh button, tab order (6c1fe36)
- dashboard: slow down refresh spin animation to 1.4s (0e3c9b1)
- dashboard: spinning refresh feedback and stale Discord CDN avatar fix (4c0b418)
- dice: preserve parentheses when replacing stats in formulas & allow combinaison of tree stats without error (45b57bd)
- do not readonly (0d3a96c)
- same (3f94da7)
- should not display character if they are none (7a2c7d9)
- sort server (06a99aa)
3.0.1 (2026-03-27)
Bug Fixes
- dashboard:character: Some text was cut (ebd3485)
- dashboard: perf + add template global config (24776e5)
3.0.0 (2026-03-27)
2.38.0 (2026-03-27)
Features
2.37.7 (2026-03-24)
Bug Fixes
- interpolation (f3c7068)
2.37.6 (2026-03-20)
2.37.5 (2026-03-20)
Bug Fixes
- should throw an error if the set contains more than 25 fields (6bff0ee)
2.37.4 (2026-03-20)
2.37.3 (2026-03-14)
Bug Fixes
- Cannot read properties of undefined (reading 'toLowerCase') in Object.entries(dices) (88b6c10)
2.37.2 (2026-03-11)
Bug Fixes
- cannot convert null to undefined (896a486)
2.37.1 (2026-03-01)
Bug Fixes
- autocomplete: return empty array + verify existence of stats before autocomplete (61ca025)
- deferReply to gain time when registering user (bc47ad4)
- error: e.code can be a number or a string, add a conversion (7dec0b6)
- guarding the fetching of botmember (ddbae15)
- improve error handling for missing pin permissions (6549266)
- scene: verify bot permission before trying to create thread (08c734c)
- should use error and not e (1ba1c38)
- template: should add a little message & continue when the template can't be pined (006691a)
2.37.0 (2026-02-19)
Features
- description: add command to update guild description (01a67db)
2.36.0 (2026-02-15)
Features
- math: allow outside of a guild (3d12852)
2.35.1 (2026-02-08)
Bug Fixes
- export: set default member permission to moderators (2233eea)
2.35.0 (2026-02-05)
Features
- add expander functionality to user settings and update related commands (b571387)
- add stats to user settings and refactor snippet display functions (0735246)
- allow attributes in snippets (c74cbe6)
Bug Fixes
- ensure attributes are only retrieved for valid guild interactions (0a062be)
- handle errors in dice comparison logic gracefully (13995c5)
- improve error handling and logging in on_error.ts (32cb602)
- improve reply handling for empty user stats (f431dcf)
- improve validation for imported stats and macros (f6cb849)
- increase minimum similarity threshold for snippet and dice matching (14990b6)
- misplaced return (09b42ef)
- pass attribute in executing snippets for statsDice (1e64adc)
- prevent "interaction already replied" when an error is throw (d80b180)
- space can be allowed in key name (e5fb8ac)
- throw an error when the user is not found to create an early return instead to wait for an exploding assignment (0548d69)
- update template cache when needed (7f6a4d2)
- use correct import for utils (ab4dfff)
- validate attribute names to prevent hyphens in user settings import (a36a999)
2.34.0 (2026-01-31)
Features
- overwrite existing snippets (d51025a)
Bug Fixes
- key doesn't exists (c5c5abc)
2.33.1 (2026-01-24)
Bug Fixes
- duplicate commands when adding the bot (27220eb)
2.33.0 (2026-01-21)
Features
- add delete template functionality (dfbeb10)
2.32.5 (2026-01-17)
Bug Fixes
2.32.4 (2026-01-17)
Bug Fixes
- should have context for guild (dd55d32)
2.32.3 (2026-01-17)
Bug Fixes
- forgot to remove console.log for course example (db0a536)
- improve character name handling and filtering in autocomplete functions (a848487)
2.32.2 (2026-01-17)
Bug Fixes
- forgot to set context for all the commands (acebbb6)
2.32.1 (2026-01-17)
Bug Fixes
- simplify cmds with removing /r and /select (7293e7e)
2.32.0 (2026-01-15)
Features
- add new social media links and icons to constants (2cf58db)
- ephemeral for info & global context cmd (3c911dd)
2.31.0 (2026-01-02)
Features
- add disableCompare & sortOrder (3d965f9)
- add setPity command for managing pity configuration (24b6612)
- add sortOrder parameter to rollCustomCriticalsFromDice function (e02812a)
- implement trivial comparison caching for pity management (20a500d)
- order: add support for sort order global configuration (9ad6a27)
- pity: add pity feature and adjust karma display (07e3be0)
- pity: trigger pity based on a random value, starting at 75%. (3c5c0a2)
Bug Fixes
- allow double sign in exploding dice (6f6c598)
- bulk: shouldn't match critical if the dice type doesn't match in bulk roll (7b399ac)
- comment indentation (277ecf9)
- context: should not add the context link if the option is disabled (97b826a)
- disableCompare: incomplete comment preservation for multiple comments. (1f9d754)
- disableCompare: message in example (60f4c2d)
- disableCompare: update parameter names for clarity in processChainedDiceRoll and isRolling functions (9dc8634)
- karma: display emoji when >1 (a053cb5)
- karma: double counting (3bad446)
- karma: fix misleading longestStreak display (802cbb1)
- karma: total key not found (5ac2777)
- no need to check the type of critical as typescript do this for me (0ba0323)
- pity: curly brace roll should be detected as trivial too (b6063e4)
- pity: forgot to pass pity in the shared roll (067035a)
- pity: incorrect operator use (should use
||) (dc82d27) - pity: should check pity only in guild context (87d1170)
- pity: the prevCacheKey was updated to use the channelId (de77392)
- pity: when adding count, streaks are not updated; when deleting, they must also not be decremented, otherwise the series becomes inconsistent. (e3da8d1)
- pity: wrong authorid during delete in the cache (06b2334)
- Potential null reference when accessing guild settings. (104836c)
- shared: should not displaying a empty line if not comments exists in the shared dice (75e6cbf)
- sortOrder: function should be awaited (1745703)
2.30.9 (2025-12-24)
Bug Fixes
- Add lint suppression for Discord customId property names (1cb635a)
- rename: allow to remove name with recognizing default (947d022)
2.30.8 (2025-12-20)
Bug Fixes
- mjRoll: default should give the first chara in the user (7cc41ca)
- mjRoll: incoherence between data in user retrieval (64ee533)
2.30.7 (2025-12-18)
Bug Fixes
- roll: should support
{dice}and{{dice}>20} as target failure/success (f025c93)
2.30.6 (2025-12-17)
Bug Fixes
- broken cs/cf in baseRoll (75fac8c)
- regex:
!should not be valid if not followed by!=in theses case (42408bf) - snippets: should support
{dice}and{{dice}>20} (ca2b38e)
2.30.5 (2025-12-17)
Bug Fixes
2.30.4 (2025-12-17)
Bug Fixes
- snippets: should support
{dice}and{{dice}>20} (ca2b38e)
2.30.3 (2025-12-16)
Bug Fixes
- regex: enhance STAT_MATCHER to support optional parentheses around variable names (04c9026)
- roll: preserve comments in dice target during parsing (86cb176)
2.30.2 (2025-12-16)
Bug Fixes
- replace QUERY_URL_PATTERNS with DICE_COMPILED_PATTERNS in roll and validation logic (226e6a6)
- roll: exclude automatically dice from comparaison with
{syntax}if the entire dice is in it. (da1f019) - roll: should not considerate ! as a sign if not followed by = (6bf7578)
- update regex patterns for custom critical and opposition handling (e07b4a6)
2.30.1 (2025-12-16)
Bug Fixes
- snippets: should use reply for better handling result (94cc092)
2.30.0 (2025-12-16)
Features
- result: allow to send result > 4000 (extreme case) (1a2b2f8)
2.29.0 (2025-12-15)
Features
- help: add bot stats (859bd1c)
2.28.1 (2025-12-14)
Bug Fixes
- add MENTION_ID_DETECTION regex and refactor getIdFromMention function (f350b87)
- Add proper guard clauses for optional db parameter (5d4447e)
- Add unused db parameter to Move.start for interface consistency (28e662e)
- Correct duplicate prevention logic in Move feature (ce798f8)
- Correct IFeature interface to match actual implementations (9bd5a0f)
- features: should not findLn for stats/macro (788704b)
- Handle case when user has no existing characters in Move (9d135d6)
- Make db parameter optional in Avatar and Rename implementations (eee2eb3)
- Make db parameter optional in IFeature.start for Move compatibility (5801e69)
- missing await (b365010)
- refactor interaction reply to use reply helper function (5a609a3)
- Remove IFeature implementation from abstract BaseFeature class (ee45662)
- Remove unnecessary non-null assertions in MoveFeature (ccfe276)
- shortened links (314e4be)
- should use this.ul (e6963ce)
- there will always be an embed at this step (c82a896)
- update error handling in reply to include context for user not found (310ff7d)
- update error handling in reply to include context for user not found (fcaedfb)
- when using with create url, the result add too much \n (f528eca)
2.28.0 (2025-12-12)
Features
- choose: add
|and weight with *nb (c981679) - health-check: enhance health check endpoint with detailed status and resource usage (5e13b53)
- logger: add sentry logs (cdf49ca)
Bug Fixes
- choose: use array fill instead of repeat (ea59ff8)
2.27.0 (2025-12-10)
Features
- sync-version: add script to synchronize package versions (7af49b6)
Bug Fixes
- logger: update release version to match package.json (77c5613)
- macro: clean up dice message handling and remove unnecessary comments (c7c9799)
2.26.3 (2025-12-09)
Bug Fixes
- add profiler start/stop calls in interaction handling (9375b60)
- InteractionNotReplied: should check before to send the follow up (c266531)
- roll: allow 4000 characters comments using componentV2 (c64d419)
- sharedRoll: false positive shared rolls when the comments includes ; (7123138)
2.26.2 (2025-12-07)
Bug Fixes
- allow negative statistics in template (622e1ce)
2.26.1 (2025-12-07)
Bug Fixes
- allow bracket roll in same message that code blocks (1e95a4f)
- allow neg stats & block with force distrib (quickfix) (5443db1)
2.26.0 (2025-12-03)
Features
- choose: should allow multi word if using ; or , (590f95b)
Bug Fixes
- allow more character in detection (7bd3bf6)
2.25.0 (2025-12-03)
Features
- onMessageSend: allow moderator to ping someone to "roll for them" (3ec1fd4)
2.24.4 (2025-12-02)
2.24.3 (2025-12-02)
2.24.2 (2025-12-02)
Bug Fixes
- regression with parenthesis (d26e94f)
2.24.1 (2025-12-02)
Bug Fixes
- comments with statistics in $ (95be868)
- opposition not rolled successfully (15fa28f)
- sharedRoll: better handling comments in complexe shared roll (statistics + comparaison) (4cde44e)
- sharedRoll: parenthesis dice with shared roll comparaison (a3d8f1c)
- should handle accented character in charname (055edc9)
- should use /ignore/ also in shared roll (d4a1e49)
2.24.0 (2025-12-02)
Features
- mj roll to roll any dice for another user (b8e7dc3)
Bug Fixes
- use the metadata user only when there is no content available (5cb278d)
2.23.1 (2025-12-02)
Bug Fixes
- comments deleted when an user data is send (3fbc339)
- crash /multiple error even when skip = true (202fc4c)
- empty comments (b20b96f)
- handle dice with () and comments (ea8b9ca)
2.23.0 (2025-12-02)
Features
- allow to ignore some dice from the karma (1ad2388)
- dice with parenthesis will be better handled (43194b6)
2.22.3 (2025-12-01)
Bug Fixes
- choose: prevent random.sample to roll when the list is empty or howMany > list length (cf7988a)
2.22.2 (2025-11-30)
Bug Fixes
- ensure user ID is valid and not a webhook in saveCount function (d761a5a)
- id not found in mp (cd58af5)
- interaction.guild.id doesn't exists in MP (033c0c2)
- total = 0 (a0d65b1)
- total is undefined (ecfd6fd)
- undefined success (0a1d047)
2.22.1 (2025-11-28)
Bug Fixes
- Centralized command helpers, autocomplete, and interaction context (0726907)
2.22.0 (2025-11-28)
Features
- snippets: allow to import snippets from a JSON file (81043c8)
2.21.0 (2025-11-25)
Features
- add
karma resetif needed (9774907)
Bug Fixes
- cannot read of undefined "statsname" (4047bd3)
- message sending logic for chunked replies (6daff3e)
- reply already replied (231f96a)
2.20.0 (2025-11-23)
Features
- use the real name for statistics when found (be239e1)
2.19.0 (2025-11-22)
Features
- allow threshold in macro & snippets (6a060a3)
Bug Fixes
- should support at last expression in shared rolls in snippets (fd5ca1d)
2.18.1 (2025-11-22)
Bug Fixes
- expr: should not display the
+0or-0(4887dd2)
2.18.0 (2025-11-22)
Features
- add snippets functionality for creating, deleting, and listing user-defined macros (b721657)
- autodelete usersettings when needed (29805f1)
Bug Fixes
- sanitize string values in context menus (158d64e)
2.17.2 (2025-11-22)
Bug Fixes
- typo (12ee6cf)
2.17.1 (2025-11-22)
2.17.0 (2025-11-22)
Features
- allow to set char even if not registered using the
[@tag](https://github.com/tag)(9a0a36d)
2.16.0 (2025-11-21)
Features
- implement template rendering with improved token replacement and context handling (7829572)
2.15.0 (2025-11-21)
Features
- enhance template functionality with character and original dice support (e4fff64)
2.14.3 (2025-11-21)
2.14.2 (2025-11-21)
2.14.1 (2025-11-21)
Bug Fixes
- context-menus: switch results to dice accordingly (19e2c83)
2.14.0 (2025-11-21)
Features
- add user settings command for creating and displaying the link created by the context menu (5eb6ccb)
2.13.3 (2025-11-18)
Bug Fixes
- typo in setDescriptions method (9d50e91)
2.13.2 (2025-11-18)
Bug Fixes
- typo in choose description (8799e95)
2.13.1 (2025-11-18)
2.13.0 (2025-11-18)
Features
- add a select/choose in a list commands (6b2a84f)
- update to node crypto engine for better number generation (5e6a543)
2.12.0 (2025-11-03)
Features
- remove followup with the commands, as you can copy codeblock in mobile (1c60fed)
2.11.3 (2025-11-02)
Bug Fixes
- correct page number in modal title (52312c5)
2.11.2 (2025-11-01)
Bug Fixes
- crash when config is not found (33d9d48)
2.11.1 (2025-11-01)
Bug Fixes
- update member access verification and handle private user data in interactions (d33c55f)
- wrong path for linux (07fc061)
2.11.0 (2025-10-31)
Features
- enhance interaction handling and button functionality with new moderation options (ed444c9)
Bug Fixes
- correct import path for localization module in button functionality (649cda3)
- improve avatar file handling and validation in user interactions (3e8c184)
2.10.8 (2025-10-31)
Bug Fixes
- synchronize user template with guild settings and remove unused utility (d083553)
2.10.7 (2025-10-31)
2.10.6 (2025-10-31)
Bug Fixes
- wrong error message (3666b55)
2.10.5 (2025-10-31)
2.10.4 (2025-10-30)
Bug Fixes
- update avatar thumbnail handling to clear if links include discord CDN (5db3917)
2.10.3 (2025-10-30)
Bug Fixes
- adjust pagination logic and update footer for last page in modals (783eb61)
2.10.2 (2025-10-30)
2.10.1 (2025-10-30)
2.10.0 (2025-10-30)
Features
- enhance avatar handling by allowing attachment uploads and improving error handling (684baeb)
Bug Fixes
- improve avatar error handling by updating error messages and refining URL validation (3fbfeac)
- remove redundant cleanUrl option in getUserFromInteraction call (aa2484f)
- update charUserOptions and edit command to improve option descriptions and error handling (1874ef9)
- update reuploadAvatar function to include translation support and enhance error avatar handling (65a1316)
2.9.0 (2025-10-29)
Features
- allow to upload avatar instead to use a link outside of discord (2562a92)
- implement avatar reupload functionality and improve avatar handling in display logic (e001718)
2.8.1 (2025-10-28)
Bug Fixes
- enhance moderation cancellation with user notification and utility functions (f3c0ef8)
2.8.0 (2025-10-28)
Features
- adjust the display of "simple send dice" (b5ef01a)
- better processing of custom critical and display value (0aab83b)
- implement moderation for dice edits and validations (feb56fb)
Bug Fixes
- enhance timer descriptions and error handling in translations (0b4950d)
- should not keep the CC that continue to contains
$(48fed51)
2.7.0 (2025-10-20)
Features
- add activities commands for admin only (private server) (5c64805)
2.6.3 (2025-10-18)
Bug Fixes
- editMe: allow reset to default (84a8fa6)
2.6.2 (2025-10-18)
2.6.1 (2025-10-18)
Bug Fixes
- update error messages for template not found scenarios (183e50d)
2.6.0 (2025-10-17)
Features
- add editMe command to update bot profile information (8d7f68d)
2.5.0 (2025-10-16)
Features
- add mp_roll command for private channel usage and update roll command contexts (3f9638f)
2.4.1 (2025-10-14)
Bug Fixes
- improve channel validation and response handling in send function (32e79b8)
2.4.0 (2025-10-14)
Features
- allow simple roll in DM (00451d7)
Bug Fixes
- enhance variable matching regex and improve formula processing (cbf2e62)
- implement parseComparator function and update interaction handling (eb9d6a9)
- remove debug console logs from base_roll and dice_extractor (424da9a)
- remove unnecessary config object from fetch function return (bb9578a)
2.3.7 (2025-10-11)
Bug Fixes
- the autocomplete should be based on the client instead of the guild lang (243b566)
2.3.6 (2025-10-11)
Bug Fixes
- translation for transform (bdc8bba)
2.3.5 (2025-10-10)
Bug Fixes
- modals: use modals from discord 14.23 (cc4d71d)
- record: improve avatar fetching logic and channel selection (should be used when the user is a moderator) (f5b7990)
- record: update avatar verification to return null for empty avatar (a9d6e8f)
- record: update user and channel input handling in modals (f005670)
- user: they are too much condition where we want to get the user if we can (03affbc)
2.3.4 (2025-10-08)
Bug Fixes
- contextMenu: improve line matching logic and remove duplicate partial (21b9d19)
2.3.3 (2025-10-08)
2.3.2 (2025-10-07)
Bug Fixes
- roll: should get the critical roll when available in /roll (6ff921f)
2.3.1 (2025-09-26)
2.3.0 (2025-09-24)
Features
- luckmeter: add ephemeral (c5b4466)
2.2.3 (2025-09-20)
2.2.2 (2025-09-16)
Bug Fixes
- should send error in DM to not flood the channels when an error appear (3de2478)
2.2.1 (2025-09-16)
Bug Fixes
- add fetchAvatarUrl utility and update avatar handling across modules (8540560)
- total should not includes critical as they are already counted in they respective things (431460b)
- total should not includes critical as they are already counted in they respective things (cfb149e)
- typo that broke translation description in user (be42cdb)
2.2.0 (2025-09-12)
Features
- add "total" rolls to have the number of roll done in the server (9320860)
- enhance leaderboard functionality to display all options when none selected (7535426)
Bug Fixes
- add support for displaying custom critical settings in the embed and diceType (3b4b8cb)
- ensure critical count is only deleted if it exists on user quit (5064633)
- export critical count functions and clean up imports (77e303b)
- should not display the server custom critical if they are not the same as the diceType (9ad333e)
2.1.0 (2025-09-08)
Features
- add tools function: luck_meter (6bb0b72)
Bug Fixes
- clean critical blocks from dice content during processing (b348dba)
- ensure proper parsing of custom value in natural dice evaluation (b6402eb)
- on_message_send: text cc not recognized (f31014b)
- should return early when no result found (1d38bf1)
- should roll for bulked roll again (d6c1557)
2.0.2 (2025-08-17)
Bug Fixes
2.0.1 (2025-08-14)
2.0.0 (2025-08-14)
⚠ BREAKING CHANGES
- the dbd command doesn't exists anymore, user need to use /macro instead of.
Features
- rename DBD to macro (f02f16e)
1.65.0 (2025-08-14)
Features
- base roll should works the same as parsing message content (5fb8c78)
1.64.5 (2025-08-12)
1.64.4 (2025-08-12)
Bug Fixes
- should not be 0 when the number is under 10 (c0604ab)
1.64.3 (2025-08-12)
Bug Fixes
1.64.2 (2025-08-03)
Bug Fixes
- bad env for Math constants (9a01672)
1.64.1 (2025-08-01)
Bug Fixes
- comments not set when using with stats (3797521)
1.64.0 (2025-08-01)
Features
- add character name support to dice roll processing (c18e06d)
- add support for info stats comments and refactor comment extraction logic (efa8a64)
- enhance dice roll processing with infoRoll support and refactor user data handling (97f8c8d)
- enhance user data handling and improve comment formatting (666505d)
- integrate user data into dice roll processing and result formatting (7536b0d)
- remove character name parameter from dice roll functions (600b934)
- update comment processing logic and improve test assertions for dice rolls (aaff09a)
Bug Fixes
- should not processed dice between code (
1d20) (fec2af8)
1.63.0 (2025-07-31)
Features
- add support for custom critical in template (80dee14)
- add user data integration for dice rolls and character retrieval (7a284d6)
1.62.1 (2025-07-30)
Bug Fixes
- customCritical:
Invalid left hand side of assignment operatorwhen using=instead of==(0e7851b)
1.62.0 (2025-07-29)
Features
- prevent quickest moderator to validate until the user mark it as "confirmed" (220abed)
Bug Fixes
- handle JSON parse error when cancellation (21f085a)
1.61.1 (2025-07-28)
Bug Fixes
- should delete input if (012ba3f)
1.61.0 (2025-07-27)
Features
- selfRegister: enhance validation process with modal support and footer data handling (515868d)
Bug Fixes
- crash with private allowed only for moderator (44b5d63)
- displaying of the self registration configuration (b1ed88b)
- only moderator should be allowed to move an user to another (c0a8151)
1.60.0 (2025-07-26)
Features
- add an "update template" commands to quick update without re-registering the channels. (c808658)
1.59.3 (2025-07-25)
1.59.2 (2025-07-25)
Bug Fixes
- messageId is the first in the list ; not the last. (b4ae012)
1.59.1 (2025-07-24)
1.59.0 (2025-07-21)
Features
- add
invertoption for some system (85225c1)
1.58.0 (2025-07-13)
Features
- add EMOJI_MATH constant and update return statements to include it (40441e5)
1.57.0 (2025-07-11)
Features
- add onDebug and onWarn event handlers to logger (770e23c)
Bug Fixes
- typo during refractor broke cmd (07108c3)
1.56.3 (2025-07-04)
1.56.2 (2025-07-04)
Bug Fixes
- await in fetchChannel (9d4a9cf)
- cache: duplicate key translation create a cascading issue in french (fe3b227)
- dbd: missing translation (0d87190)
- registration: duplicate found even if the diceEmbed is empty (f858a2f)
1.56.1 (2025-07-04)
Bug Fixes
- diceNotFound: I dunno why but in some condition, the template is not fully fetched on user resulting in cache error. (1dd6be0)
1.56.0 (2025-07-03)
Features
- add strip_ooc option to remove out-of-characters messages, and other improvements (1ccbe33)
- config: enhance display command with general and template subcommands (b9cb377)
- stripOOC: add thread mode option for OOC deletion configuration (9694448)
1.55.0 (2025-06-27)
Features
- add aide changelog (33f9bbd)
1.54.3 (2025-06-26)
Bug Fixes
1.54.2 (2025-06-22)
Bug Fixes
- help message doesn't send right as they are pretty long (76669e2)
1.54.1 (2025-06-22)
Bug Fixes
- user shouldn't be allowed to set a private sheet (80962de)
1.54.0 (2025-06-22)
Features
- disallow channel with self register (09f1cc3)
Bug Fixes
- private channel should not be allowed if private channel is not set (be08927)
- remaining value not accurate (c168085)
1.53.1 (2025-06-22)
1.53.0 (2025-06-22)
Features
- opposition roll option in dice (6a49ec2)
1.52.0 (2025-06-21)
Features
- remove restriction on adding a template & add it when template is deleted (ea61eb2)
Bug Fixes
1.51.1 (2025-06-19)
Bug Fixes
- dbroll: forgot to remove the detect critical before parsing the comparator (f824942)
1.51.0 (2025-06-19)
Features
- custom critical per dice roll with
{(*)c(sf):(sign)(number)}syntax. (ba55c42)
Bug Fixes
- damage: allow overriding template dice when registering an user (aka fix duplicate) (9d09c94)
- damage: on duplicate value registered with damage dice, allow to override a existing value (035a9ef)
- roll custom critical if they are dice (702a131)
1.50.1 (2025-06-15)
1.50.0 (2025-06-14)
Features
- allowSelf: add option where moderator needs to validate the sheet (64fb496)
1.49.0 (2025-06-14)
Features
- allow force distribution of points (085b11e)
1.48.4 (2025-06-13)
1.48.3 (2025-06-11)
Bug Fixes
- on-message: regression with "comments" on normal dice (like
1d20 helloor1d20 # hello) (410f5c0)
1.48.2 (2025-06-10)
Bug Fixes
- auto-role: inverted the stats/dice role (153f4ca)
1.48.1 (2025-06-10)
Bug Fixes
- calc: undefined symbol when calc's result = 0 (8698ada)
1.48.0 (2025-06-10)
Features
- exit the bot on uncaught error + send a message via webhook for alert (24aabc2)
1.47.1 (2025-06-09)
1.47.0 (2025-06-08)
Features
- allow self registration (deda85e)
1.46.1 (2025-06-08)
Bug Fixes
- chainedRoll: better take into account the comments on_message_send.ts (ec18748)
1.46.0 (2025-06-08)
Features
- threshold: allow to use "simple" number to replace the original threshold (if any) (362386b)
1.45.3 (2025-06-08)
Bug Fixes
- lang: update the lang in memory too (7bda09c)
- should calculate points on all stats, not only the "page" stats. (7be5803)
1.45.2 (2025-06-06)
Bug Fixes
- add silent option to suppress error messages in getTemplate function when loading the first time (2bf6270)
- better zod error (prevent crash if too much error) (508c7f5)
- export: fetch correctly avatar & channel when asked (e63fee9)
- import: allow to delete old char via an option in the cmd (d28da76)
- import: standardize header with new lib (22f32b7)
- should not throw error when a min/max is 0 (6a6dcd3)
- skip not found when ready (aef4c4c)
- translate: import error (5b9f6e0)
- use new version of verify template (without checking roll) while caching (8f1aa73)
- user not found when the username has number (like myname124) (62fbbfd)
1.45.1 (2025-05-29)
Bug Fixes
- no permission to send the welcome so fallback to DM (5309d76)
1.45.0 (2025-05-17)
Features
1.44.0 (2025-05-09)
Features
- mj: allow roll on global dice if exists (ac50687)
1.43.2 (2025-05-08)
Bug Fixes
- correct condition for generating stats dice in custom criticals (a25bf6f)
1.43.1 (2025-05-08)
Bug Fixes
- crash when starting the bot when the template is not found (2fdcf37)
1.43.0 (2025-05-08)
Features
1.42.4 (2025-04-12)
Bug Fixes
- unknow message while creating a new user (and probably other modal / button interaction) (86619c6)
- unknown message while creating a new user (and probably other modal / button interaction) (4a7e9f0)
1.42.3 (2025-03-30)
Bug Fixes
- interactions: handle expired interactions and add permission checks for modal replies (4dced5a)
- logging: improve error logging format and add ephemeral replies for user feedback (51f1a10)
1.42.2 (2025-03-16)
Bug Fixes
- channels: enhance channel type checks to exclude non-text channels (920f6f3)
- configuration: remove unused disabledLogs variable (bbd0a4d)
- dependencies: update discord.js to latest version (f547642)
- embeds: specify message type as Djs.Message
<boolean>(a7f488f) - errors: add missing permission error messages for bot access (e69da26)
- remove log (045acaf)
- reply: ensure proper handling of reply options for edited responses (491e1dc)
1.42.1 (2025-03-04)
Bug Fixes
- whitespace: starting with the space for align (ccb8aa3)
1.42.0 (2025-02-23)
Features
- help: enhance help message with new configuration options and commands (c8b17b3)
1.41.2 (2025-02-22)
Bug Fixes
- configuration: add option to disable thread creation and refactor related functions (a37dc02)
1.41.1 (2025-02-18)
1.41.0 (2025-02-18)
Features
- error-handling: improve error reporting with detailed messages (08f698a)
Bug Fixes
- stats:edit: combination starting with number is not a NaN (233374a)
1.40.0 (2025-02-12)
Features
- dice: support for dollars values in expression (b2d6b43)
1.39.1 (2025-02-12)
Bug Fixes
- dice: expression should be also converted even used in
{exp}(9fec858) - dice: use
{exp}to prevent colliding with{{exp}} stats name (3732260) - roll: evaluate expressions in dice rolls and update modificator handling (43a9697)
1.39.0 (2025-02-11)
Features
- dbd: allow using
{{exp}} in dice for replace with the expression (719d883)
Bug Fixes
- buttons: button disappear when register dice (7cfdf44)
- i18n: translation not found (44bf1e9)
- if the select menu disappear, make it appear with the button (f69a154)
1.38.2 (2025-02-11)
Bug Fixes
- interaction: make resetButton asynchronous and improve select handling (d407024)
1.38.1 (2025-02-11)
Bug Fixes
- dice:records: in first records, embed was not updated (a63b84c)
1.38.0 (2025-02-11)
Features
- logger: improve logging format and add deleteByMessageIds function (513189a)
- validation: update error message for user not found and improve condition for hidden output (a281943)
Bug Fixes
- avatar: validate avatar URL (2fba310)
1.37.0 (2025-02-11)
Features
- channelName: allow to detect emoji while channel starts with special ascii characters (57e4f44)
- timer: better displaying time (ec5f4fe)
Bug Fixes
1.36.0 (2025-02-05)
Features
- avatar: allow using cdn image ! (778b254)
1.35.0 (2025-02-05)
Features
- avatar: allow using cdn image ! (778b254)
1.35.0 (2025-02-05)
Features
- avatar: allow using cdn image ! (778b254)
1.34.2 (2025-02-05)
Bug Fixes
- disable ping on graph (asked by user) (44b193e)
1.34.1 (2025-01-13)
Bug Fixes
- diceRoll: do not trimAll in baseRoll (because it breaks comments!) (02712e5)
- forgot to remove a param in rollWithInteraction (9f3dd4c)
- send: urgent fix - wrong message deleted (6ff718b)
1.35.0 (2025-01-03)
Features
- calc: set calc result as other roll, allowing better "forwarding" with anchor and logUrl (499d5dd)
- if the server have a template ⇒ enable by default the commands ID when the bot is ready (73748eb)
1.33.0 (2024-12-31)
Features
- commands: improve sign handling in roll and calc commands (9c6eb7d)
1.31.0 (2024-12-31)
Features
- calc: enhance calc sign with allowing
>=and ⩾ ascii (37cc9a1)
Bug Fixes
- calc: uniformize when rolling the expression (d91f5a1)
1.30.2 (2024-12-30)
Bug Fixes
- calc: better result in chained expression (9f65ff8)
1.31.0 (2024-12-30)
Features
- calc: add calc commands based on statistics (6260c34)
- utils: integrate capitalizeParenthesis for enhanced text formatting (96a1586)
Bug Fixes
- bot: enhance dice roll with stat replacement (1b82161)
- db: move uniformization of user records to correct location (a9f2edc)
- diceRoll: affectskill should only works if dollarsValue is defined (da22ba1)
- diceRoll: comments for dice allowing "&" and main comments (c970115)
- parse-result: do not add the comparator if the symbol for not is here (c83226f)
- parse-result: enhanced the comments handling of shared rolls (eb90736)
- parse-result: finally i fixed these too much space in res (dc99507)
- parse-result: message for success should only be used on "exact" result (5f257e8)
- parse-result: modify the message formatting in
result_as_text.tsto ensuresuccessOrFailureis prepended correctly (5dffb86) - parse-result: should keeps the comments between [] as if (69d1ef5)
- parse-result: trimAll on roll commands (49a8166)
- roll: ensure comparator is checked before processing dollarValue (5a64c7d)
- template: add missing space in embed message (d3aab8f)
- utils: enhance
capitalizeBetweenPunctfunction (59e3c5e)
1.30.1 (2024-12-15)
Features
- utils: integrate capitalizeParenthesis for enhanced text formatting (96a1586)
Bug Fixes
- bot: enhance dice roll with stat replacement (1b82161)
- db: move uniformization of user records to correct location (a9f2edc)
- roll: ensure comparator is checked before processing dollarValue (5a64c7d)
- template: add missing space in embed message (d3aab8f)
- utils: enhance
capitalizeBetweenPunctfunction (59e3c5e)
1.30.0 (2024-12-13)
Features
- dbroll: allow to exclude a statistiques from dbroll (d3e551f)
- parse-result: enhance compareValue to format originalDice output (238caaa)
- parse-result: replace roll function with getRoll in custom critical (a75e6da)
- parser: improve handling of custom critical rolls and comparisons (89e5f78)
- refactor custom critical handling in embeds (40da490)
- roll: add exclusion of specific statistics (7fbd036)
- roll: enhance dice roll logic with dynamic modificators and comparaison (fe93226)
- update dotenv configuration for production environment (d72d6a1)
- utils: add isNumber utility function for value validation (ad200a2)
Bug Fixes
- commands: correct client parameter in bulkDeleteCharacters call (50e86fb)
- custom_critical: correct value assignment in custom critical logic (ea7827f)
- custom-critical: allow dice also in custom critical compared to a dice to be rolled (prevent also errors :clown:) (249146c)
- custom-critical: fix name trimmed in the database and also the affect skill and onNatural dice that have no effect (5e9c1f2)
- delete: delete message and memory DB (4f435e1)
- edit: bulk edit memory when editing template (cb15d29)
- improve critical hit handling and modify import paths (b0b2176)
- memory-database: make updateCharactersDb call awaitable in thread message handling (c2e5707)
- parse-result: add custom critical value evaluation in the /dbd (a351c7e)
- parse-result: handle undefined statistics in convertNameToValue function (e70edae)
- parse-result: handle when cc used without $ value & allow them (8fd5b8a)
- skill: improve dice validation and parsing in bot (bfc5522)
- utils: add uniformization for record keys and values (56cf1f7)
- validation: correct logic for stat value number check (60d8455)
- wrong data dir in enmap (6fc00a8)
1.29.0 (2024-12-13)
Features
- dbroll: allow to exclude a statistiques from dbroll (d3e551f)
- parse-result: enhance compareValue to format originalDice output (238caaa)
- parse-result: replace roll function with getRoll in custom critical (a75e6da)
- parser: improve handling of custom critical rolls and comparisons (89e5f78)
- refactor custom critical handling in embeds (40da490)
- roll: add exclusion of specific statistics (7fbd036)
- roll: enhance dice roll logic with dynamic modificators and comparaison (fe93226)
- update dotenv configuration for production environment (d72d6a1)
- utils: add isNumber utility function for value validation (ad200a2)
Bug Fixes
- commands: correct client parameter in bulkDeleteCharacters call (50e86fb)
- custom_critical: correct value assignment in custom critical logic (ea7827f)
- custom-critical: allow dice also in custom critical compared to a dice to be rolled (prevent also errors :clown:) (249146c)
- custom-critical: fix name trimmed in the database and also the affect skill and onNatural dice that have no effect (5e9c1f2)
- delete: delete message and memory DB (4f435e1)
- edit: bulk edit memory when editing template (cb15d29)
- improve critical hit handling and modify import paths (b0b2176)
- memory-database: make updateCharactersDb call awaitable in thread message handling (c2e5707)
- parse-result: add custom critical value evaluation in the /dbd (a351c7e)
- parse-result: handle undefined statistics in convertNameToValue function (e70edae)
- parse-result: handle when cc used without $ value & allow them (8fd5b8a)
- skill: improve dice validation and parsing in bot (bfc5522)
- utils: add uniformization for record keys and values (56cf1f7)
- validation: correct logic for stat value number check (60d8455)
- wrong data dir in enmap (6fc00a8)
1.27.0 (2024-12-12)
Features
- parse-result: enhance compareValue to format originalDice output (238caaa)
- parse-result: replace roll function with getRoll in custom critical (a75e6da)
- parser: improve handling of custom critical rolls and comparisons (89e5f78)
- refactor custom critical handling in embeds (40da490)
- roll: enhance dice roll logic with dynamic modificators and comparaison (fe93226)
- update dotenv configuration for production environment (d72d6a1)
- utils: add isNumber utility function for value validation (ad200a2)
Bug Fixes
- commands: correct client parameter in bulkDeleteCharacters call (50e86fb)
- custom_critical: correct value assignment in custom critical logic (ea7827f)
- custom-critical: allow dice also in custom critical compared to a dice to be rolled (prevent also errors :clown:) (249146c)
- custom-critical: fix name trimmed in the database and also the affect skill and onNatural dice that have no effect (5e9c1f2)
- delete: delete message and memory DB (4f435e1)
- edit: bulk edit memory when editing template (cb15d29)
- improve critical hit handling and modify import paths (b0b2176)
- memory-database: make updateCharactersDb call awaitable in thread message handling (c2e5707)
- parse-result: add custom critical value evaluation in the /dbd (a351c7e)
- parse-result: handle undefined statistics in convertNameToValue function (e70edae)
- parse-result: handle when cc used without $ value & allow them (8fd5b8a)
- skill: improve dice validation and parsing in bot (bfc5522)
- wrong data dir in enmap (6fc00a8)
1.26.0 (2024-12-12)
Features
- parse-result: enhance compareValue to format originalDice output (238caaa)
- parse-result: replace roll function with getRoll in custom critical (a75e6da)
- parser: improve handling of custom critical rolls and comparisons (89e5f78)
- refactor custom critical handling in embeds (40da490)
- roll: enhance dice roll logic with dynamic modificators and comparaison (fe93226)
- update dotenv configuration for production environment (d72d6a1)
- utils: add isNumber utility function for value validation (ad200a2)
Bug Fixes
- commands: correct client parameter in bulkDeleteCharacters call (50e86fb)
- custom_critical: correct value assignment in custom critical logic (ea7827f)
- custom-critical: allow dice also in custom critical compared to a dice to be rolled (prevent also errors :clown:) (249146c)
- custom-critical: fix name trimmed in the database and also the affect skill and onNatural dice that have no effect (5e9c1f2)
- delete: delete message and memory DB (4f435e1)
- edit: bulk edit memory when editing template (cb15d29)
- improve critical hit handling and modify import paths (b0b2176)
- memory-database: make updateCharactersDb call awaitable in thread message handling (c2e5707)
- parse-result: add custom critical value evaluation in the /dbd (a351c7e)
- parse-result: handle undefined statistics in convertNameToValue function (e70edae)
- skill: improve dice validation and parsing in bot (bfc5522)
- wrong data dir in enmap (6fc00a8)
1.25.0 (2024-12-09)
Features
- update dotenv configuration for production environment (d72d6a1)
Bug Fixes
- skill: improve dice validation and parsing in bot (bfc5522)
1.24.0 (2024-12-09)
Features
- build: automate version synchronization with postrelease script (ecdb694)
- logger: enhance logging configuration and add pretty log styles (a03f23b)
- logging: replace console.error and console.warn with logger (468dfda)
- tests: add test for result within a simple roll (1c2cc33)
Bug Fixes
- change console.log to console.info for version update message (f093704)
- memory-database: prevent fatal error when no message are found for cache completion (54674f9)
1.23.0 (2024-12-08)
Features
- memory-database: use a enmap "memory" database to store all user-characters, speed up a lot the bot in the roll process. (befd6ee)