# @revanced/discord-bot 1.0.0 (2025-04-04) ### Bug Fixes * **bot/discord:** start remove preset timeout for `role-preset` command ([cbf9116](cbf91162e2)) * **bots/discord/commands/eval:** evaluate in current context ([5925d90](5925d90209)) * **bots/discord/commands/mute:** use existing `parseDuration` util function' ([3e07429](3e07429664)) * **bots/discord/commands/unmute:** fix option description and embeds ([7fdf8c0](7fdf8c0dc7)) * **bots/discord/commands:** minor issues ([3b2596e](3b2596e748)) * **bots/discord/commands:** refactor and add checks ([a2bf3ea](a2bf3eade9)) * **bots/discord/database:** fix schema for role presets ([4aa138a](4aa138a9af)) * **bots/discord/scripts/build:** check if dist dir exists before cleaning ([c06033e](c06033e573)) * **bots/discord/scripts:** unintentional escaping on windows ([09dc706](09dc70632d)) * **bots/discord/utils/discord/embeds:** set thumbnail on moderation embeds ([b056291](b056291ad0)) * **bots/discord/utils/discord/rolePresets:** correct property access for presets ([4c6ad11](4c6ad11be3)) * **bots/discord/utils/discord:** add `moderation` module related functions ([7e8270f](7e8270f7d2)) * **bots/discord/utils/duration:** fix empty string returning with duration is 0 ([83c314e](83c314ef5f)) * **bots/discord/utils/duration:** fix specified default unit not working ([d138af4](d138af46d1)) * **bots/discord/utils/duration:** make second the default unit ([5d1af3c](5d1af3c31c)) * **bots/discord:** add GuildMember partial ([8e3946a](8e3946a666)) * **bots/discord:** allow access to `context` in `/eval` and await result ([99f65f0](99f65f07f5)) * **bots/discord:** always true check causing no messages to be scanned ([98ec37b](98ec37b5d1)) * **bots/discord:** apply active role presets if members rejoin ([f50b26b](f50b26b82d)) * **bots/discord:** attempt to fix stuck sticky message timeouts ([3ed5bd1](3ed5bd11ac)) * **bots/discord:** await when putting entries into db ([4da6175](4da6175cf5)) * **bots/discord:** broken regex when prefix set to special characters ([ab62e55](ab62e55e76)) * **bots/discord:** check token before connecting to bot api ([f3e4408](f3e4408aa2)) * **bots/discord:** ci issues causing database to not be auto generated ([673aa18](673aa189be)) * **bots/discord:** clear role presets after they expire ([faa81f4](faa81f4d88)) * **bots/discord:** connect to discord API even if initial bot API connection fails ([6658b58](6658b582db)) * **bots/discord:** contextify object before sandboxing ([062735f](062735f6d5)) * **bots/discord:** correct permission check logic ([dd8872c](dd8872c027)) * **bots/discord:** correct sticky messages logic ([de8bef6](de8bef6520)) * **bots/discord:** correct timer active condition for sticky messages ([96065ff](96065ff175)) * **bots/discord:** correct whitelist logic ([49c29be](49c29bebfb)) * **bots/discord:** cross-device link build errors ([38c0699](38c06997b4)) * **bots/discord:** decrease length of an option in `ban` command ([22d3eea](22d3eea88d)) * **bots/discord:** delete expired appliedPresets entries after unapplying ([14c98e8](14c98e87df)) * **bots/discord:** deployment runtime errors due to minification ([a60c60c](a60c60c0f9)) * **bots/discord:** do decancer after resetting nickname ([0303fe3](0303fe3e36)) * **bots/discord:** do not remove unrelated reactions ([031fd26](031fd26b26)) * **bots/discord:** don't refresh timer if force timer is active for sticky messages ([4abac0c](4abac0c890)) * **bots/discord:** filter out text triggers correctly from image-only scans ([8c0dd67](8c0dd67d03)) * **bots/discord:** fix freeze on prod builds ([8efb549](8efb549453)) * **bots/discord:** fix get response logic ([3261294](3261294822)) * **bots/discord:** fix reload not working ([11582d5](11582d5034)) * **bots/discord:** follow-up if reply is already sent when error ([f75060b](f75060bc9c)) * **bots/discord:** give only removed roles for role presets ([522ad28](522ad28fd8)) * **bots/discord:** hanging process when disconnecting from API too many times ([d31616e](d31616ebcb)) * **bots/discord:** import `config` from context ([763ef25](763ef253f9)) * **bots/discord:** make `/eval` work ([eaa25f2](eaa25f2eb5)) * **bots/discord:** messed up file name for `unmute` command ([399dca7](399dca7153)) * **bots/discord:** only check for member permissions when specified while correcting responses ([b79a1c7](b79a1c7575)) * **bots/discord:** open database as read-write ([c366840](c36684091d)) * **bots/discord:** owners cannot bypass checks on some commands ([39cba97](39cba97341)) * **bots/discord:** parse larger units of durations, fix wrong timestamp in mod embed ([6c8dce0](6c8dce0593)) * **bots/discord:** persist changes in context for eval command ([5b4965d](5b4965dcc7)) * **bots/discord:** provide discord token for `reload` command ([dd21a5a](dd21a5abad)) * **bots/discord:** remove auto-generated files ([fb8af00](fb8af00866)) * **bots/discord:** remove bad text channel checks ([f5939e2](f5939e2528)) * **bots/discord:** remove redundant footer for response embeds ([412e003](412e00317d)) * **bots/discord:** remove usage of macros ([7f27c56](7f27c5607c)) * **bots/discord:** remove useless feature ([d830e48](d830e48bc2)) * **bots/discord:** replace duration parser with a library ([94c4fed](94c4fedc06)) * **bots/discord:** reset counter when reconnected to api, redo message scan filter logic ([d234d79](d234d79310)) * **bots/discord:** revert dist denesting, fixes config not found ([0d4898d](0d4898dae8)) * **bots/discord:** send right response for after regexes ([a7688fa](a7688fa9b9)) * **bots/discord:** set the `label` property correctly for message scans ([6d463df](6d463df586)) * **bots/discord:** set timeout for eligible mutes to unmute faster ([1f5c5a9](1f5c5a92a6)) * **bots/discord:** some configuration values not applying after running `/reload` ([a976dd2](a976dd2acc)) * **bots/discord:** use `APIEmbed` for response config ([35b9448](35b944800a)) * **bots/discord:** use env for initializing database ([af3759c](af3759caf4)) * **bots/discord:** wrong command file path being imported ([fa0159c](fa0159c3a8)) * **bots/discord:** wrong database schema path ([875bd20](875bd209b2)) * config file not being read ([474a8be](474a8be4af)) * **discord-bot:** also execute slash commands ([f0d45b2](f0d45b2c92)) * **discord-bot:** check for role position ([d332043](d332043b1a)) * **discord-bot:** check if the member has the role ([9bff68c](9bff68c8c4)) * **discord-bot:** not executing slash commands ([aa08087](aa0808768b)) * **discord-bot:** only send lowercased text ([7803758](78037580dc)) * dislike button not working properly ([85eba55](85eba55424)) * fix deprecation ([4373ede](4373ede855)) * fix the fiter for the interaction collector ([a9ff003](a9ff00394a)) * fix typings and formatting ([479812e](479812e199)) * ignore message if there's no content ([3cbebc2](3cbebc2842)) * move modules to `/bots` ([cd7156e](cd7156e792)) * other small issues ([bc437a5](bc437a5ec7)) * run projects with `--bun` ([bb2182e](bb2182e707)) * trainAI not using the bin location ([bd29943](bd2994388b)) * update repo url ([a21aa34](a21aa348d7)) ### chore * fix more build issues ([77fefb9](77fefb9bef)) ### Features * add wit.ai support ([1909e2c](1909e2c421)) * **bots/discord/commands/reply:** send stacktrace when failed ([9f1ac37](9f1ac37927)) * **bots/discord/commands:** add `ban` and `unban` commands ([dc4863d](dc4863dc20)) * **bots/discord/commands:** add `eval` command ([e64d1da](e64d1da00c)) * **bots/discord/commands:** add `mute` and `unmute` commands ([c0fa2fe](c0fa2fe1c3)) * **bots/discord/commands:** add `purge` and `role-preset` commands ([fb01ce5](fb01ce5740)) * **bots/discord/commands:** add `reload` command ([6875b32](6875b32fd0)) * **bots/discord/commands:** allow process exception in `exception-test` ([ca47535](ca475356ad)) * **bots/discord/utils/discord/embeds:** expose `applyCommonEmbedStyles` fn ([2d794ed](2d794ede7d)) * **bots/discord/utils/embeds:** make title parameter nullable ([ee885ca](ee885ca758)) * **bots/discord/utils/fs:** use `recursive` option for listing files ([da21e1a](da21e1a6f7)) * **bots/discord/utils:** add duration utility ([a9add9e](a9add9ea9a)) * **bots/discord/utils:** add functions for role presets ([fb32a04](fb32a04ad3)) * **bots/discord/utils:** allow loading commands from custom dir ([8b690b8](8b690b879b)) * **bots/discord:** add `api.disconnectRetryInterval` config ([2f86586](2f86586179)) * **bots/discord:** add `moderation.roles` config to be used in `moderation` commands ([39d5b3a](39d5b3a479)) * **bots/discord:** add `ocrTriggers` resp config, embed footer scan mode ([744a56a](744a56a4fd)) * **bots/discord:** add `replyToReplied` option in response config ([27662ed](27662ed91a)) * **bots/discord:** add `train` commands ([ee90ef2](ee90ef247b)) * **bots/discord:** add a better way to manage databases ([a68d726](a68d726875)) * **bots/discord:** add code to actually scan text files correctly ([80aeb19](80aeb19020)) * **bots/discord:** add default durations for moderation commands ([27d3b39](27d3b39209)) * **bots/discord:** add more fallbacks for decancering ([2e1e009](2e1e009b42)) * **bots/discord:** add more month aliases to duration parser ([c2009ca](c2009ca6d4)) * **bots/discord:** add more options for curing, fix default regex ([1a4ec1e](1a4ec1ece8)) * **bots/discord:** add source ([f9d50a0](f9d50a0a6b)) * **bots/discord:** add sticky messages ([bf66155](bf661556e1)) * **bots/discord:** add trigger to context for eval ([b5f4097](b5f4097538)) * **bots/discord:** allow admins to bypass permission checks ([620f933](620f9339f0)) * **bots/discord:** blacklist and whitelist for filters ([cdb6001](cdb6001955)) * **bots/discord:** cure on every event ([8ff6086](8ff6086028)) * **bots/discord:** don't nest builds in src directory, autogen db when missing ([4834685](4834685186)) * **bots/discord:** framework changes and new features ([646ec8d](646ec8da87)) * **bots/discord:** improve admin commands ([0346741](0346741188)) * **bots/discord:** improve logs ([6abb740](6abb740994)) * **bots/discord:** sanitize `BasicDatabase` inputs ([fd76e0a](fd76e0af72)) * **bots/discord:** support nickname decancering ([1723e8c](1723e8cacf)) * **bots/discord:** switch to `drizzle-orm` ([e204b7b](e204b7b756)) * **bots/discord:** update config ([197d2ac](197d2acea8)) * **bots/discord:** update example config file ([bc9951c](bc9951c9b5)) * **bots/discord:** update to newer command definition framework ([97f2795](97f2795df4)) * discord bot scanning messages ([d1bd3b2](d1bd3b2b7e)) * **discord-bot:** a way to train AI ([355a508](355a50803a)) * **discord-bot:** command handler and train cmd ([6aee8a4](6aee8a4c63)) * **discord-bot:** event handler ([0ad5ece](0ad5ece085)) * GODEL AI ([0ba525c](0ba525c4a5)) * initalize discord bot ([bb4a5a7](bb4a5a77ee)) * initialize helper client ([7f9ca77](7f9ca77e03)) * message buttons for training ([6551ca9](6551ca9dad)) * platform specific responses ([18e57b0](18e57b0c32)) * prettier and eslint ([1c27ccb](1c27ccb17c)) * refactor and new features ([#7](https://github.com/revanced/revanced-bots/issues/7)) ([8b9f45d](8b9f45dc22)) * run bots in one process ([d26d533](d26d533174)) * training and replies changed ([715aa91](715aa918cf)) * **utils/discord/embeds:** allow adding extra fields for moderation embeds ([49ce9a7](49ce9a7ca3)) ### BREAKING CHANGES * In `@revanced/discord-bot`, its environment variable `DATABASE_URL` has been renamed to `DATABASE_PATH` and the `file:` prefix is no longer needed
Continuing the legacy of Vanced
🤖 ReVanced Discord Bot
Discord bot assisting ReVanced's Discord server.
📚 Documentation
Documentation are provided here.
📄 License
ReVanced Discord Bot adopts the GNU General Public License 3.0, tl;dr: You may copy, distribute and modify the software as long as you track changes/dates in source files. Any modifications to or software including (via compiler) GPL-licensed code must also be made available under the GPL along with build & install instructions.