This changelog contains mostly API-Changes and changes for developers.
- Support
defaultMemberPermissions
instead ofdefaultPermission
to simply setup and usage (docs) - Support for the new
emoji
field 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
defaultMemberPermissions
settings - 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.elementToggle
toggle to improve UX in the SCNX Dashboard (#76) - Support for configuration-example-file
content.dependsOn
toggle 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
content
option on config-fields with typechannelID
to 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
commandsWarnings
config 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
defaultPermission
value - Commands can not set a
permission
field anymore, as it can't be synced with Discord's API - Removed the
arrayToApplicationCommandPermissions
helper 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
disableModule
to helpers.js - Improved
embedType
function asyncForEach
is 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
jsonfile
as a dependencies - Configuration of every module is now stored in a global client object:
client.configuration[moduleName]
. Please use this instead of usingrequire
as 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-dir
tomessage-commands-dir
. Remember, that in future we may remove this feature. - It's no longer required to add
module
as a config-parameter for every command - Added
sendMultipleSiteButtonMessage
to/src/functions/helpers.js
to create fancy multiple-site-embed-messages embedType()
now returns MessageOptionsfooter
can now be set for each embed individually.eslintrc.js
added - 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 isnull
so 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.args
now 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