- Update Portuguese (Brazil) translation ( #133 by veenx67)
- Update Russian translation (#134 by r-liner)
- Fix command error handling
- Show an error when a guild-only command is being ran in DMs (#131 closed by #132 by Edwinexd)
- Update Docker image from Python 3.9 to 3.12
- Add Portuguese (Brazilian) translation (#128 by veenx67)
- Fix disnake 2.9 compatibility (#127 closed by #130 by eibex)
- Set maximum disnake version to 2.8.* until the bot is compatible with 2.9+
- Add language settings per server (#121 closed by #123 by Edwinexd) - known limitation: command descriptions will be set to the global language
- Add translation checks (#119 by Edwinexd)
- Fix translations (Afasany, eibex, erwinowak)
- Remove deprecation warning
- Add Polish translation (#116 by erwinowak)
- Fix a few exception messages in en-gb (#117 by erwinowak)
- Fix an exception in es-mx
- Improve edit modals for slower setups
- Slight improvement on unique reactionrole checks
- Add Spanish (MX) translation (#114 by Afasany)
- Fix message intents (#110 by eibex)
- Upgrade to disnake 2.5.0 (manual update; if you are on docker you will need to pull a new image - more info on the wiki)
- Add
image
andthumbnail
parameters to/message edit
(#59 closed by #109 by eibex) - Support docker installations (#95 closed by #107 by Edwinexd)
- Add automatic generation of docker images (#107 by eibex)
- Fix new installations
- Improved formatting of message deletions
- New installation guide and wiki
- Rework reaction storage and fix reactionroles with animated emojis (#105 by Edwinexd)
- Bump timeout for message contents from 2 to 5 minutes
- Allow (once again) new lines via modals (#101 closed by #103 by eibex)
- Bump disnake requirement to v2.4.0 (necessary to update disnake manually)
- Fix
/bot version
- Bump disnake requirement to v2.3.2 (necessary to update disnake manually)
- Make sure to read v3.0.0 patch notes if you are updating from v2.x.x
- Fixed an issue with
/bot update
not restarting the bot: you might need to/bot restart
after using/bot update
to update from v3.0.0 - Fixed an issue with database cleaning and added a 6 hours delay between the bot being kicked from a guild and the removal of all the guild's data, if the bot is re-invited, the data won't be deleted (#89 by eibex)
- The bot will now only listen to
/message new
answers in the channel the interaction was started (#90 by Edwinexd) - Better error reporting (#92 closed by #97 by eibex)
- Support slash commands and drop prefixes, refactor into cogs (#13, #82, #83 closed by #88 by eibex)
- This version is BREAKING. Version 2.5.0 will continue working until Discord supports the old API (April 2022).
- README:
- DO NOT RUN
rl!update
- BEFORE updating you need to replace discord.py since it's no longer developed and update your bot permissions:
- Make sure your Python version is 3.8 or greater
python3 -m pip uninstall discord.py
python3 -m pip install -U disnake
(orpython3 -m pip install -r requirements.txt
while in the bot directory)- Reauthorize your bot with the following link:
https://discord.com/oauth2/authorize?&client_id=CLIENT_ID&scope=bot%20applications.commands&permissions=2415978560
(replace CLIENT_ID) - On https://discord.com/developers/applications select your bot and under the "Bot" setting turn on message content intent (no need for other intents)
- Wait ~1 hour before Discord register your bot's commands (do not kick the bot to speed the process up without first shutting it down)
- DO NOT RUN
- If you need help with the transition feel free to ask on Reaction Light's Discord server which you can join here
- Fix
rl!new
showing unsuccessful reaction when the message creation was actually successful - Add support for translations. To translate the bot's responses make a copy of en-gb.json and translate the associated strings. Consider sharing your translation as a pull request (#74 closed by #77 by eibex, Edwinexd, and d7415).
- Fix deletion of wrong database entries under certain circumstances. Please check that all your messages are working before updating, and restore a backup if necessary (#73 closed by #78 by Edwinexd)
- Fix errors when trying to set a new server-specific system channel with
rl!systemchannel server #channel
- Removed migration from CSV to SQLite (#63 closed by #64 by eibex)
- Improved
rl!systemchannel
explanation when running the command with no arguments (#65 by eibex) - Fix f-string syntax errors on older Python versions (#68 closed by #69 by Edwinexd)
- Corrected dependencies (#70 by minemalox)
- Corrected Python minimum version to 3.6 (#71 by Edwinexd)
- Added support for mutually exclusive role/reactions: when creating a new message you can choose to limit users to select only one reaction (and role) at a time (#44 closed by #60 by eibex and Edwinexd)
- Show the latest version changes with the update notifications and
rl!version
command (#60 by eibex) - Fix missing error reporting when checking for notifications (#60 by eibex)
- Adds the option to send a DM to the user when they add or remove a role from themselves (#50 closed by #58 by eibex)
- Add the
rl!notify
command to toggle user notifications on add/remove for the current server (if you want to turn them on on multiple servers, use the command on each server) - Merge
systemchannels
table into theguild_settings
table
- Added support for custom messages & reworked creation process (#56 closed by #57 by Edwinexd)
- Reworked ReactionRole ID generation (#30 closed by #57 by Edwinexd)
- Removed the
rl!abort
command. (#57 by Edwinexd)
- Fix database errors resulting in guilds not being cleaned up
- Fix errors related to missing elements in the bot cache
- Fix guild clean-up (#52 closed by #53 by Edwinexd)
- Message clean-up reworked (#53 by Edwinexd)
- Admin system reworked (#53 by Edwinexd)
- Removed access to
kill
,restart
,update
,color
,activity
(and related) commands from non-bot owners (#53 by Edwinexd)
- Fix footers being deleted upon embed edit (#49 by Edwinexd)
- Remove start up messages informing that no migration was needed
- Added support for discord.py 1.5.0 and dropped support for any older version (the new Discord API is replacing the older one) (#47 closed by #48 by eibex)
- What you NEED to do
- Add the server members priviliged intent to your bot on the Discord Developer Portal
- You might have to re-clone the bot because of git history conflicts (copy the
config.ini
file and thefiles
folder to the new installation and all your reaction-role messages will keep working as expected)
- Prevent adding an already existing reaction to new or existing reaction-role messages
- Add
rl!reaction
to add or remove reactions from existing reaction-role messages (#1 closed by #43 by eibex)
- Merge
rl!rm-embed
intorl!edit
(rl!rm-embed
removed)
- Fix migration for users directly migrating from 0.3.2 to 1.5.0+
- Fix database cleaning
- Fix open database cursor and connection on schema updates
- Fix system channel fall back
- Add guild-only system channels to send error reports generated from messages of a certain guild in their own system channel (#39 closed by #40 by eibex)
- Add fallback to the
config.ini
(aka main) system channel if a guild system channel was not set - Modify
rl!systemchannel
to accept a new argument to define if the system channel being set is for aserver
or is themain
one:rl!systemchannel <main/server> #channelname
- Modify database cleaning to include system channel entries of deleted guilds
- Add creation of database backups when
rl!update
is used - Add automated database schema updates
- Add
rl!activity
command to add activities to show as bot status from within Discord. - Add
rl!rm-activity
command to remove a given activity. - Add
rl!activitylist
command to show all activities. - Fix a crash (sorry!) (#34 closed by #35 by eibex)
- Fix a wrong error description when failing to fetch admins
- Add
rl!adminlist
command to show the current bot admins registered in the database
- Fix saving of colour variables to the configuration file when updated via command
- Automated database cleaning of deleted messages (#26 by eibex)
- Better error reporting and catching (#29 by eibex)
- Add
rl!admin
to allow members with a certain role to use the bot commands. Requires administrator permissions on the server (#23 by eibex) - Add
rl!rm-admin
to prevent members with a certain role from using the bot commands. Requires administrator permissions on the server (#23 by eibex) - Add migration script to transfer current admin roles from the config to the db (#23 by eibex)
- Add
rl!rm-embed
to remove embeds from reaction-role messages, keeping the text-message body (#21 by arbaes) - Improve
rl!edit
to add or edit a text-message body and/or embeds to reaction-role messages (#21 by arbaes) - Improve
rl!new
andrl!edit
by allowing to ignore text or embed fields (#22 by arbaes) - Add SQLite database (#20 by eibex)
- Add automatic migration to delete CSV files and transfer them to an SQLite database (#20 by eibex)
- Remove
requests
dependency (rely on built-inurllib
library instead) - Minor improvements to
rl!help
- Prevent update and restart commands when the bot is hosted on Windows to avoid errors
- Set all embed footers to show the configured bot name
- Improve
rl!help
to include all commands instead of just a few links to the README
- Fix "not admin" warning on embed edit (#14 by arbaes)
- Improve permission error handling (#15 by arbaes)
- Improve local version reading (read from file instead of hardcoded string) (#16 by eibex)
- Add
rl!version
to show what version the bot is currently running
- Add
rl!restart
to restart the bot from within Discord (#10 closed by #12 by eibex) - Add
rl!update
to update the bot and restart it from within Discord (only works ongit
installations) (#11 closed by #12 by eibex)
- Warns the user if no role mention is provided when creating combinations of reactions and roles
- Fix allowing users to create combinations with reactions from other servers that the bot cannot use (#7 closed by #9 by eibex)
- Add system channel updating via Discord (using the
rl!systemchannel
command)
- Allow creating embeds without relying on channel IDs (partly fixes #5 by eibex)
- Better handling of errors
- Fix file handling
- Add version checking
- Add guided setup
- Add embed creation process
- Add automatic role assignment and removal