- Backup: Various parser changes
- ACL: Fix "acl rule get" embed
- Admin: "system shutdown" & "system restart" commands
- Animals: Detect reverts to default avatar
- Anonsend: Do not guard 'anonsend link' by ACL
- Anonsend: Add missing string
- Base: Fix pinning error while logging
- Base: Catch DM errors in bookmarks
- Librarian: Fix 'macaddress' throwing errors
- Meme: Include user avatar in 'relations' embed
- Roles: Fix react-to-role resolver when the line only has one word
- Roles: Alter react-to-role discovery
- Verify: Allow dash in e-mail
- Core: Fix issues with embed creation, that were introduced by bumpting the library to version 1.7
- Core: Fix issues with user error reporting throwing errors
- ACL: Fix issues with corrputed imports
- Animals: Delay vote embed creation to combat Discord-side issues with content not being available at event creation
- Base: Prevent users from pinning system messages
- Comment: User comment module
- Karma: Limit "karma emoji" command to guild contexts
- Karma: Fix argument in "emoji" subcommand
- Librarian: Test "ipaddress" query with regex
- Random: Include explainxkcd.com link in "xkcd" command
- Random: Remove 50-character limit from "pick" output
- Stalker: Update the command API (argument can be Member, User or integer)
- Verify: Remove git hash from verification e-mail
- Verify: Various fixes to the e-mail logic
dadjoke
command (PR-261 by nicx321)Backup
cog- Use Discord's replies
points
andkarma
user reply contains user's avatar- Namedays are retrieved over HTTPS
Base
: The bot changes its status based on latencyBase
: Bookmark message by reacting with "🔖"scan message
takes unlimited number of message links
- Librarian properly displays the
week
command - Animals module sends the user avatar when the vote is announced
- Animal updates are no longer logged as events
- Moved karma *boards under the
karma
command as subcommands - Warden has been rewritten to decrease maintenance complexity
- Anonsend module
- ACL has cleaner command interface and uses JSON files
review my-list
subcommand- Check for
Admin
, so the #jail channel can't stay locked by accident
- Howto module (not used, not mantained)
First release of 2021 bumps the minor version, which sould have been done much earlier, probably.
- Karma now also counts animated emojis
- Error notifications are no longer deleted
subject
androle
commands removed- Pinned-then-unpinned messages cannot be pinned again by the bot
review list
andsubject info
subcommands added
- Added
points
degradation to the docs.
- Meme:
bonk
command - Base: Configuration for autopin that prevents pinning in selected channels
- Meme: New animations for
pet
,hyperpet
andwhip
- Database backup script has been updated: an error was deleting the new compressed archive
- Database scheme for meme interactions was redesigned. You'll have to drop the table and start anew (since the bot is not used elsewhere, I did not bother).
- Random: The Cat API, The Dog API (
cat
,dog
),xkcd
- Mover: Two commands to allow migrate old member account data to new one
- Librarian:
ipaddress
andmacaddress
commands
- Mover also migrates member roles
- Shop code has been simplified
- Moved
fetch_json()
to utils.py
- Meme:
slap
,spank
andrelations
commands - Stalker:
db
commands only accept user ID
- Voice: Working channel locking.
- Animals: Vote embed is not deleted; it's replaced by vote statistics.
- Points: Only official guilds are counter. Per-guild system is planned.
load
,unload
andreload
commands support multiple modules at the same time.
- Meme:
pet
(ported from Rubbergod),hyperpet
Because of API change, we're upgrading discord.py to 1.5. It's neccesary to enable Members intent on Discord Developers page.
core/image_generator.py
has been renamed tocore/image_utils.py
.
- Stalker:
roleinfo
,channelinfo
- Systemd services. Manual
.service
file update is required -- follow instructions from the Wiki - Librarian uses
aiohttp
to fetch information (PR-214 by LakshyaShastri)
- Verify config keys
suffixes
andconstraints
now require underscore before them. Manual config adjustment is required.
- Animals require Verify
- Verify deals with SMTP errors a bit better
- Fixed typo in Warden
- Reviews are not limited to 1024 characters.
review add-anonymous
, because commands no longer work in DMs.semester reset overwrites
send dm
- React-to-hide functionality
fish
command in Meme cog
- Gatekeeper cog is renamed back to Verify
- Faceshifter cog is renamed to Roles
- Judge cog is renamed back to Review
Some cogs were renamed, you'll have to alter your main config.
- Actress reactions require new boolean parameter
enabled
- Actress countdown disables the reaction
utils.paginate()
, so we don't have to cut messages to fit into 2000 char limit every time
- ACL cog: Dynamic permission management
- Sync cog: Secondary guild management
- Semester cog: Semester-related management
- Account cog: Manage bot's user account.
- Points cog: MEE6-like points.
- Seeking cog: Announce that you're seeking something/someone.
- Actress response variables:
((mention))
and((name))
- All cogs were moved to their separate directories, along with their strings and configuration. Manual transfer of config and text files is needed.
- Removed config key faceshifter/r2r_prefix
- Database dumps are compressed at the end of the month
- Altered text key errors/ExtensionFailed
- Removed Quarantine mechanics (too much confusion)
- Lot of fixes (see commits)
- Animals cog: Elite club for users with animal avatar
utils.remove_reaction(reaction, user)
event.user()
andevent.sudo()
signatures changed
- Judge cog: Replacement for Review
- Karma cog: Complete rewrite
- Meme: ?uwu
- Random: ?picsum
- Librarian: ?base64, ?hash
- Warden: Improved repost embed
- Review cog
- Errors are sent to stdout channel, botdev only recieves an error stub
- Karma rewrite
- Reaction rewrite
- self.embed(): footer parameter
- Bumped reqired discord.py version to 1.3.4
- Howto cog (data in
data/howto/howto.hjson
)
- ?reverify command and Quarantine channel for reverifying (update your configuration files)
Rubbercog.embed
function to make embed creation one-liner- Removed
Rubbercog.throw*
functions - Removed
Rubbercog.log
function
- Gatekeeper cog
- Verify cog
stdout
andevents
output text channels: duplicate for terminal stdout, user interaction. These two replace previous logging channels, which weren't clearly defined.
- Events class, used for event logging via
self.event.user()
andself.event.sudo()
. - Exceptions, handled inside of the cog.
- Config: HJSON instead of JSON. Make sure you update the dependencies.
- Config: major naming change. Go line-by-line and copy values that apply.
- Actor: using word values (
full
instead ofF
,text
instead ofT
)
- Faceshifter cog (deprecating some of the code in
features/reaction.py
)
- Change in pseudo-role naming:
---FEKT
becomes---PROGRAMMES
---
becomes---INTERESTS
- United logging functions:
await self.[output|console].[debug..critical](source, message, exception)
You need to update the database table subjects
:
ALTER TABLE subjects
ADD COLUMN category VARCHAR,
ADD COLUMN name VARCHAR;
Rubbergoddess detached from its parent project - Rubbergod.