All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Added plaintext user ID for single-alt accounts in /userinfo.
5.8.1 - 2023-10-03
- Display the number of infractions on alt accounts in /userinfo.
- If a user has 5 or fewer alt accounts, the users are mentioned in /userinfo directly.
5.8.0 - 2023-09-30
- Added
/userinfo
command and "User Information" context menu.
5.7.0 - 2023-09-06
- Added
/rules update
command.
5.6.1 - 2023-07-24
- Added link to the bot source code in the
/info
command.
5.6.0 - 2023-07-22
- Infractions now store the rule text to avoid breaking changes to server rule list.
5.5.2 - 2023-06-09
- Added a notice about infractions on alternate accounts
5.5.1 - 2023-06-09
- Fixed an issue with the alt log embed mentioning the wrong user
- Fixed an issue where the author of the alt embed was linked, rather than icon url'd
5.5.0 - 2023-06-09
- Added
/alt
command
5.4.3 - 2023-06-05
- Added support for new usernames (#75)
5.4.2 - 2023-06-02
- Fixed a bug with rule autocompletion (again)
5.4.1 - 2023-06-01
- Fixed a bug with rule autocompletion
5.4.0 - 2023-06-01
- Added better support for rule autocompletion
5.3.1 - 2023-04-30
/staffhistory
infractions now order by date descending- Numeric totals are now formatted with commas
5.3.0 - 2023-04-30
- Added
/staffhistory
command
5.2.4 - 2023-04-12
- Fixed NRE being thrown when embed content is null
5.2.3 - 2023-03-04
- Fixed /messagehistory failing to enumerate message history due to SQLite not supporting OrderBy for DateTimeOffset.
5.2.2 - 2023-03-04
- /messagehistory command now lists messages in reverse-chronological order, to match /history.
5.2.1 - 2023-03-04
- Fixed an issue with /mute always locking duration to max specified. (#70)
5.2.0 - 2023-03-25
clearMessageHistory
is now honoured when/ban
is issued against a user. (#62)
- Slight performance increase for some infraction operations.
- Report enumerations are no longer async. This should mildly (though negligibly) improve performance as we no longer allocate an async state machine.
- Services now inject an
ILogger
rather than having a static NLogLogger
in the class.
5.1.1 - 2023-03-21
- Fixed an issue where excessive empty embeds were sent when
/history
search query filtered more than 10 infractions.
5.1.0 - 2023-03-21
/history
now allows filtering to before/after date or ID, as well as by type.
5.0.4 - 2023-03-11
- Fixed the numeric formatting for the ban and mute ratio output.
- Guild branding now uses the PNG icon of the server rather than GIF, which should massively improve performance for all users.
5.0.3 - 2023-03-08
- Permanent:Temporary infraction ratio is now simplified to 1:x or x:1, depending on which is greater.
5.0.2 - 2023-03-08
- Infraction statistics are now handled by a dedicated service, which allows for code reuse. This might negligibly improve performance.
5.0.1 - 2023-03-08
- Fixed an issue where remaining durations for statistics embed were incorrectly calculated.
- Reworded statistics embed to read "Remaining" duration rather than "Total" duration.
5.0.0 - 2023-03-08
- Added
/infraction stats
command which displays infraction statistics for the current guild. (#55) - Added support to potentially filter infractions by type.
- The bot now warns when attempting to ban a user that's already banned. This potentially fixes #61.
- Optimized searching when
clearHistory
flag is set when temporarily banning.
- The bot no longer fetches its profile picture from the repository as introduced in 3.2.0. (#67)
4.1.0 - 2023-03-07
- Fixed an issue where the bot would try to fetch bans from a non-existent database, resulting in a failure to clean install. ( #65)
4.0.1 - 2023-02-19
- Fixed an issue where staff members were not being logged for deleted messages.
4.0.0 - 2023-02-06
- Added the ability to search for rules using the
/rule
command.
- Removed autocomplete for the
/rule
command. This was necessary to support custom search queries.
3.2.0 - 2022-12-25
- The bot now sets its profile picture to the icon.png in the repository root.
3.1.1 - 2022-12-25
- Fixed an issue where attachment URIs were not correctly read from the database provider.
3.1.0 - 2022-12-21
- Fixed an issue where temporary infraction durations were poorly parsed. (#54)
- Fixed an issue where admins could not temporarily mute people. (#64)
- docker-compose no longer uses env_file.
- docker-compose now binds to preset system paths.
3.0.3 - 2022-12-02
- Message reports are now purged for channels which get deleted.
- docker-compose now uses
build
pull policy.
3.0.2 - 2022-11-18
- Added the now-required Message Content intent to read message contents. See here for more details.
3.0.1 - 2022-11-17
- Clearing, copying, deleting, editing, and moving infractions, are now audit logged.
- Fixed an issue where an exception was thrown if a moderator did not specify the duration for a mute. The mute duration is now correctly clamped. (#63)
- When copying or moving infractions, the "To" field is now populated with the user's mention rather than their ID. (#47)
3.0.0 - 2022-11-15
/message
now triggers a modal to write the message.
- Fixed an issue where the message object itself, rather than its content, was written to the embed.
2.7.0 - 2022-11-05
- Added
/messagehistory
command - Added
/viewmessage
command
2.6.2 - 2022-09-25
- "View Infraction History" now responds ephemerally when triggered from the context menu.
2.6.1 - 2022-09-25
- Fixed an issue where temporary bans were not loaded from the database on startup. (#60)
2.6.0 - 2022-09-25
- Added
/viewreports
and/viewsupportedreports
so that reports made by (and against) users can be listed. (#58)
- Fixed an issue where the message report cache was not being loaded, causing a failure of report listing.
- Removed the guild branding from staff message embed, which was causing lag for mobile staff members. (#57)
2.5.3 - 2022-08-17
No substantial changes. Commit 3b8259a6cfb82ec0f5f51804c1ac7f1f5880d014 fixed an incorrect version bump.
2.5.2 - 2022-08-17
- Kick embed now displays the infraction ID. (#46)
- Fixed an issue where the bot could not delete messages with a content length greater than 1024. This is the maximum length an embed Description can be. (#45)
- Fixed an issue where the specified reason was not displaying in the kick embed response. (#48)
2.5.1 - 2022-08-10
- Fixed an issue with the bot attempting to clear 0 messages.
2.5.0 - 2022-08-10
- Added the option to clear message history of a user when banning or kicking them. (#44)
2.4.1 - 2022-08-05
- Fixed a grammatical mistake. "Infraction" is displayed instead of "Infractions" when there's only 1 infraction. (#42)
- Removed the
AllowInteractionAuthorDeletion
configuration key. It was unused.
2.4.0 - 2022-08-04
- When deleting a message that is the response of a bot interaction, the interactor (not just the bot) is now captured in the details embed. (#39)
- The "rule broken" property of an infraction is now displayed in the log embed. (#41)
- Fixed an issue where member rank was incorrectly determined. (#40)
- Staff members can no longer delete their own messages.
2.3.0 - 2022-08-03
- Temporary infraction are now notified with a duration when sent to the user. (#34)
- Fixed an issue where re-muting an already-muted user would throw an exception. (#37)
- Fixed an issue where members would not be sent a DM notifying them that they were kicked or banned.
2.2.3 - 2022-08-03
- Fixed an issue that prevented messages from being deleted if the author had no roles.
2.2.2 - 2022-08-03
- Added an error response if a message could not be deleted.
- The "delete message" reaction is now deleted by the bot, before deleting the message. This serves as feedback; if the bot reacts but the message is not deleted, we know the event was received.
2.2.1 - 2022-08-03
- Fixed an issue that prevented messages from being deleted if the author had left the guild.
2.2.0 - 2022-08-02
/rules add
and/rules edit
now present a modal for entering rule text.
2.1.0 - 2022-08-02
- Added an
/info
command which shows latency and version information.
2.0.1 - 2022-08-01
- Infraction history are no longer paginated. Multiple embeds are now sent.
2.0.0 - 2022-08-01
- Infractions now have an "Additional Information" property, which specifies the duration of temporary infractions.
- Support for partial migrations (overwriting infraction details without creating new ones), to copy over legacy "Additional Information".
- LoggingService is now registered first.
- Modifying an infraction now updates the hot cache .
Type
field in infraction embed is now rendered in a more readable form.
1.0.4 - 2022-07-31
/pruneinfractions
is now actually registered.
1.0.3 - 2022-07-31
- IDs in
/selfhistory
embed are now correctly sequential. (#33)
/infraction prune
has been renamed to/pruneinfractions
. (#35)
1.0.2 - 2022-07-31
/infraction view
embed now display a timestamp.
1.0.1 - 2022-07-31
- Log embeds now display a timestamp.
1.0.0 - 2022-07-31
- Hammer is released.