This changelog contains mostly API-Changes and changes for developers.
- Support
defaultMemberPermissionsinstead ofdefaultPermissionto simply setup and usage (docs) - Support for the new
emojifield type. Values of this field are treated like a string, but can be expected to be an emoji string (=Emoji.toString())
Modules must
- protect sensitive slash-commands with the proper
defaultMemberPermissionssettings - must comply with our end-user documentation requirements
View full rules of modules
- Bunch of Bug-Fixes & Improvements (sync with closed-sourced version)
- Added button-based settings for temp channels in #96
- switched locales because weird stuff in #97
- Add rock paper scissors module in #104
- Add Connect Four module in #107
- Add uno module in #110
- Add quiz module in #113
- Uno fixes in #119
- Updated to close sourced version in #122
- Added security measure for the massrole command in #121
- Add sticky messages in #125
- Add starboard feature in #127
- Fixed a 2 things in the economy-system in #128
- Sticky messages setting to allow responses to bots in #130
- Rework of configuration localization and loading. All files got migrated.
- Synced open source-version with close-source-SCNX-version. Please read the detailed changelog on our Discord to learn about new module functionality.
- feat(economy-system): Added ability to make command-replies public (#79)
- feat(Twitch-Notifications): Added live-Roles (#81)
- Support for configuration-example-file
content.elementToggletoggle to improve UX in the SCNX Dashboard (#76) - Support for configuration-example-file
content.dependsOntoggle to improve UX in the SCNX Dashboard (#76) - Support for new field-types:
userID,imgURL(#76) - Moderation-Modul: Support for Channel-Mutes (#77)
- Channel-Stats-Modul: Support for userWithRole parameters (#78)
- Like ten new previously closed-sourced-modules got added
- Locales-Loading now takes place in splitted files, instead of a big
default-locales.json - Added documentation about localizable configuration
- Added information about our Developer-Support-Programs (e.g. Bounties, OSS-Developer-Pool)
- Added new branch-protection settings and improved certain aspects of the repository
- "Welcomer" can now automatically delete join-messages of users who left the server after joining within 7 days (#64)
- "auto-react" can now reply to mentions of configured users (#65, #66)
- Twitch-Notifications now supports Config-Elements (#67)
- Twitch-Notifications now supports more arguments for messages (#68)
- Fixed the /shop buy command of economy-Module (#71)
- Support for timezone type and skipContent file parameter
- Commands can now optionally be synced globally
- Made auto-delete-module public
- Made tickets-module public
- Several fixes of small bugs in welcomer, levels, birthdays, twitch-notifications and tickets module
- Support for
contentoption on config-fields with typechannelIDto allow editing of allowed types
- Bumped and fixed dependencies
- Added code-hunt-module (#60)
- Remove-Feature for status-roles module (#61)
- Added color-me module (#62)
- Added auto react for message authors (#63)
- Added auto react for category-reactions
- Few new improvements, support for
commandsWarningsconfig parameter
Contributors: hfgd123, scderox
- Added support for timezone-config-parameter
- Bumped dependencies
- New modules: status-role, massrole
- Optimizations for the economy module
Contributors: jateute, hfgd123, scderox
- Discord released their new way of editing slash-command-permissions (read their blog), which made a lot of features basiclly usless:
- Commands can now only set a
defaultPermissionvalue - Commands can not set a
permissionfield anymore, as it can't be synced with Discord's API - Removed the
arrayToApplicationCommandPermissionshelper function as it's not needed anymore - Removed the auto-generated documentation, as it was never really useful and didn't work
- Bumped dependencies
- Commands can now only set a
- Made the bot actually work
- Code-Improvements, Bug-Fixes and clarification
- Added support for new module.json fields
author.scnxOrgID: Support for SCNX-Organisation-IDs (allows developers to accept donations and will show up to users in the dashboard)openSourceURL: URL to the Source-Code of a module (licenced under an Open-Source-Licence; will show donation-banners in the SCNX Dashboard (if orgID is set) and qualifies (qualified) developers for financial support from the Open-Source-Pool of SCNX)
- No Developer-API for modules (apart from mentioned above) should have been changed
- Dropped support for message commands
- Module-Database-Models now always get loaded, even if module is not enabled (this allows to enable/disable modules on the fly)
- Database-Models can not be nested (because no one did that)
- CLI-Commands, Application-Commands, Events and other relevant data will now always get loaded, even if the module is not enabled (this allows to enable/disable modules on the fly)
- Every time an event or CLI-Command gets executed, the bot will check if that module is enabled and will return if not
- Every time application commands need to get synced, the bot will check if the corresponding module is enabled. To ensure the safe performance of all authorized activities , this check will also get executed when a command gets executed.
- Errors in module configuration will only disable the module, not stop the bot.
- 💡 Errors in the built-in-configuration will still shut down the bot
- Module-Configuration will now only be generated on startup, not if configuration gets reloaded
- Added
disableModuleto helpers.js - Improved
embedTypefunction asyncForEachis now deprecated, will be removed in v3.1.0- Performance: To reduce the number of event listeners on
command, every event used by every module will only once register an event listener. When an event gets invoked, the bot will run every registered module-event. To ensure fast reaction-times, this will get done synchronously.
- Added new concept of localization
- Updated modules to the newest version, including new features, localization and bug-fixes
- Introduced new helper-functions and database-schemes (including channelLock, DatabaseSchemeVerison)
- Introduced autocomplete
- Added new configuration-option
logLevel - Added logger (
client.logger) to allow for more detailed logs (instance of log4js.Logger) - Added
--pm2-setup-command-argument to indicate an pm2-setup - Switched to discord.js version 1.13 which includes breaking changes
- Reworked some configuration-loading and switched to
jsonfileas a dependencies - Configuration of every module is now stored in a global client object:
client.configuration[moduleName]. Please use this instead of usingrequireas this method allows users to reload configuration. - Commands are now slash commands. Old commands are not recommended being used, but can be by changing
commands-dirtomessage-commands-dir. Remember, that in future we may remove this feature. - It's no longer required to add
moduleas a config-parameter for every command - Added
sendMultipleSiteButtonMessageto/src/functions/helpers.jsto create fancy multiple-site-embed-messages embedType()now returns MessageOptionsfootercan now be set for each embed individually.eslintrc.jsadded - please use this configuration if you create a pullrequest- Added
client.logChannel(TextChannel) which should be used as a default for log-channels and in which some relevant information gets sent.⚠️ ️ In some cases this value isnullso always catch or check the value before any calls on this property. - Forgot the prefix of your bot? You can now use @-mentions instead of your prefix
mesageCommand.config.argsnow only (!) accepts an integer which represents how many arguments are at least needed- Slash-Commands are now available and should be used as much as possible
- Errors in the executing of a command will nun result in a message to the user