Releases: BrackeysCommunity/Hammer
Releases · BrackeysCommunity/Hammer
v1.0.1
v1.0.0
Stable Release
Hammer has been dubbed stable for release. Below is a history of commits since v1.0.0-prerelease.1
Commits
- 63a6291: Bump dependencies (Oliver Booth)
- 5a2b376: Normalize clients on deletion request (Oliver Booth)
- 63fdec2: Update dependencies (Oliver Booth)
- a58a4c0: Add member notes (#10) (Oliver Booth)
- 8817618: Add note content modification (#10) (Oliver Booth)
- 1e18a1d: Use explicit private setter for context sets (Oliver Booth)
- 6ba3a29: Display ID and Type in note embed (#10) (Oliver Booth)
- f74809d: Encapsulate resource strings in (Oliver Booth)
- 595d6eb: Require Admin for editnote (#10) (Oliver Booth)
- bd9618a: Remove braces on single-statement if body (Oliver Booth)
- 270564a: Add deletenote command (#10) (Oliver Booth)
- 43883b0: Update dependencies (Oliver Booth)
- 84c6268: Add editnotetype command (Oliver Booth)
- 0d59a3f: Normalize client on message report (Oliver Booth)
- fe42e2d: Add urgent report threshold (#15) (Oliver Booth)
- 2dd2378: Update dependencies (Oliver Booth)
- d5cc547: Update Infraction schema (Oliver Booth)
- 07531b9: Use verbatim property name for DB schema (Oliver Booth)
- ad8ccc2: Update dependencies (Oliver Booth)
- 17e08e7: Update dependencies (Oliver Booth)
- 956d221: Remove permission roles (Oliver Booth)
- ad1dc25: Separate InfractionService (#3 #4 #5 #12) (Oliver Booth)
- 4e3d30b: Ignore bot reactions (Oliver Booth)
- e0d9fef: Add StaffReactionService (Oliver Booth)
- 397be52: Remove legacy staff command implementations (Oliver Booth)
- 98f777e: Use Discord snowflake entities for StaffMessage (Oliver Booth)
- 9e0223d: Add max mute duration for Moderator (Oliver Booth)
- de294d2: Remove UserInfo command (Oliver Booth)
- de2bfa6: Use Discord snowflake objects for TrackedUser (Oliver Booth)
- feb4250: Null-conditionally access guild ID for tracked user update (Oliver Booth)
- c0a19d2: Update dependencies (Oliver Booth)
- b1aec1e: [github actions] Add automatic versioning (Oliver Booth)
- 845bc5d: Fix RepositoryUrl in csproj (Oliver Booth)
- eb5a6e4: Remove version spec from Plugin attribute (Oliver Booth)
- 2d8ab6e: Fix namespace imports for DI extensions (Oliver Booth)
- cddd533: Validate blocked users in MessageReportService (Oliver Booth)
- 2aa3266: Retrieve member fresh - don't cast from DiscordMember (Oliver Booth)
- 2211dd8: Update dependencies (Oliver Booth)
- 1f41ee9: Add IsUserMuted method to API (Oliver Booth)
- 18cdcca: Auto-join threads (Oliver Booth)
- ac2f3d0: Add Infractions field to userinfo embed (Oliver Booth)
- e11b96f: Add missing namespace import (Oliver Booth)
- 2586cfc: Inject DiscordClient into TrackedUserConfiguration ctor (Oliver Booth)
- a7c0b49: Untrack non-existent users (Oliver Booth)
- 3c3193d: Flag IsDeleted on NotFoundException (Oliver Booth)
- d3a7d0f: Don't display guild icon as thumbnail (Oliver Booth)
- dfe455a: Revert 2aa3266 (Oliver Booth)
- 5270c94: Remove user tracking logic (Oliver Booth)
- 458256a: Add private ctor to ReportedMessage (Oliver Booth)
- 192bf70: Add DeletedMessage entity (Oliver Booth)
- 530ea11: Add private ctor to DeletedMessage (Oliver Booth)
- 46078f0: Call DeletedMessage.Create instead of using parametered ctor (Oliver Booth)
- f552ecf: Account for author proxy (user interaction via bot) (Oliver Booth)
- 5b2fdc4: Update BrackeysBot.API 4.0.0-nightly.14 (Oliver Booth)
- 3b7e25e: Add "Report Message" context menu action (#1) (Oliver Booth)
- fe8a018: Fix infraction type for temporary mute (Oliver Booth)
- 1cf0090: Display total user infractions in staff log (Oliver Booth)
- 0b7b72f: Display warning in staff log (#3) (Oliver Booth)
- c7c9be6: Update BrackeysBot.API 4.0.0-nightly.22 (Oliver Booth)
- 0f65a72: Update dependencies (Oliver Booth)
- 908f9f7: Update dependencies (Oliver Booth)
- 09d4cdc: Update dependencies (Oliver Booth)
- b42e544: Normalize incoming guild in WarningService (Oliver Booth)
- 1e76b9b: Update BrackeysBot.Core.API 1.0.0-nightly.16 (Oliver Booth)
- 56f05e0: await with ConfigureAwait(false), no discard (Oliver Booth)
- 97dea84: Store IDs raw, don't use snowflake value converters (Oliver Booth)
- 6466946: Expose GetInfractionCount through API (Oliver Booth)
- c6ed5af: Remove Conversation and ConversationState (Oliver Booth)
- 41827e7: Implement /warn as slash command (Oliver Booth)
- 9e41cd9: Remove unused namespace imports (Oliver Booth)
- 76d85f2: [ci skip] Add xmldoc to WarnCommand (Oliver Booth)
- 7847bf5: Implement /mute as slash command (Oliver Booth)
- 2b4f474: Implement /unmute as slash command (Oliver Booth)
- 98d0df7: Implement /kick as slash command (Oliver Booth)
- 4dbbe8c: Add "rule" option for infraction-issuing commands (Oliver Booth)
- 4dbbae1: Remove infraction, don't redact (Oliver Booth)
- 5331e05: Add /infraction management commands (Oliver Booth)
- cb7df33: Store mute and ban as raw ID (Oliver Booth)
- 6153801: Implement rule management as slash commands (Oliver Booth)
- 1d0980a: Use consistent Option descriptions (Oliver Booth)
- 1a7cfae: Remove custom StringExtensions, use X10D (Oliver Booth)
- 446081a: Migrate block/unblock reports to slash commands (Oliver Booth)
- 00862d2: Update BrackeysBot.API 4.0.0-nightly.33 (Oliver Booth)
- de9ae5e: Remove legacy conversation resources (Oliver Booth)
- efed860: Implement /note as slash command (Oliver Booth)
- 0db8be6: Delegate primary/secondary/tertiary colors to core plugin (Oliver Booth)
- 1df3872: Implement /unban as slash command (Oliver Booth)
- 6f66f7a: Add /rules display command (Oliver Booth)
- 6ada45b: Fix description strings in setbrief and setdescription (Oliver Booth)
- e1149e2: Fix embed output for /rules set (Oliver Booth)
- 5c03293: Fix xmldoc for exception messages (Oliver Booth)
- b7640d3: Remove unused namespace imports (Oliver Booth)
- 06c56f7: Require guild for /note command (Oliver Booth)
- 2c78962: Add /history and /selfhistory (#6) (Oliver Booth)
- df341dd: Drop "Command" (Oliver Booth)
- b417205: Update BrackeysBot.API 4.0.0-nightly.34 (Oliver Booth)
- 6bf83cf: Add xmldoc to BuildInfractionHistoryEmbed (Oliver Booth)
- 59123e3: Display rule, not reason, for rule broken (Oliver Booth)
- fd9aa37: Show sequential infraction ID for non-staff requested history (Oliver Booth)
- 88e130a: Update dependencies (Oliver Booth)
- c2e9689: Update dependencies (Oliver Booth)
- cb60822: Add "Delete Message" context menu option (Oliver Booth)
- 3ffc235: Add ModMail notice to DM embed (Oliver Booth)
- e1bb113: Separate Hammer from BrackeysBot (Oliver Booth)
- 0e3eb02: Remove launchsettings.json (Oliver Booth)
- 81e50e7: Remove unused JsonPropertyName attribute on config properties (Oliver Booth)
- a4fc874: Include config.json example (Oliver Booth)
- 6dbf0f2: Format csproj (Oliver Booth)
- f402388: Remove Swashbuckle.AspNetCore (Oliver Booth)
- c1ba10a: Remove UserController (Oliver Booth)
- 1603cbe: Don't copy infraction ID (#17) (Oliver Booth)
- 1f8bcfb: Display guild name in rules embed (#16) (Oliver Booth)
- daf3edd: Default /selfhistory to allowed (#19) (Oliver Booth)
- 7bb51f6: Remove user reactions (#18) (Oliver Booth)
- a8132e2: Copy bulk infractions to hot cache (#17) (Oliver Booth)
- a68976b: [github actions] Don't build nuget package (Oliver Booth)
- 65f0427: [github actions] Run CI for develop (Oliver Booth)
- 4b1d7fb: Display kick in log channel (#20) (Oliver Booth)
- 0e6d8ab: Add reason before other fields in DM embed (Oliver Booth)
- 22778b1: Don't attach modmail notice to ban embed (Oliver Booth)
- 54ca2f5: Use TargetMessage for message deletion (Oliver Booth)
- 8e238d8: Display kick embed as red (#21) (Oliver Booth)
- f7c8bbf: Add argument validation to MessageReportService (Oliver Booth)
- 441e8f4: Respond with ephemeral embed (#23) (Oliver Booth)
- 8962ed5: Use meaningful embed colours for report (un)blocks (#24) (Oliver Booth)
- d64133e: Display note type in /note viewall (#22) (Oliver Booth)
- 6eb1bb7: Don't track non-guild messages (Oliver Booth)
- 904f784: Register MessageService, respond to command (#25) (Oliver Booth)
- 39a1fd7: Notify message failure on 403 (Oliver Booth)
- af7f00d: Add Gag context menu (Oliver Booth)
- 9290348: Add /gag command with optional gag duration (Oliver Booth)
- d27fb61: Register error handlers (Oliver Booth)
- da7a696: Notify user on gag 403 (Oliver Booth)
- 703064d: Only send infraction on successful ban/kick (Oliver Booth)
- 3d5bfd4: Show gag response as embed (Oliver Booth)
- 7ba3f8b: Defer gag response (Oliver Booth)
- 5e39d9a: Specify gag duration again (Oliver Booth)
- af233cc: Remove database from repo (Oliver Booth)
- aaa849c: Use ArgumentNullException.ThrowIfNull (Oliver Booth)
- 27ca318: Throw RuleNotFoundException for invalid rules (Oliver Booth)
- 45d44a6: Use consistent logger messages for cooldown (Oliver Booth)
- d4ac783: Notify on invalid rule (#27) (Oliver Booth)
- 5eaf72b: Remove unused ConfigurationService injection in MuteCommand (Oliver Booth)
- d73ee2e: Update README - Hammer is no longer a BrackeysBot plugin (Oliver Booth)
- 1eacee7: Add IsHigherOrSameLevel extension method (Oliver Booth)
- c6a244d: Add User context menu to view infraction history (Oliver Booth)
- 7a33d51: Enable interactivity (Oliver Booth)
- bb87eb4: Display assembly version on startup (Oliver Booth)
- 9687b01: Notify of invalid rule when using /warn (Oliver Booth)
- 71897f2: Notify on DM failure (#26) (Oliver Booth)
- ed14de0: Fix no-dm embed wording (Oliver Booth)
- eabb07e: Merge important notes to embed field (Oliver Booth)
- 569d38f: Display duration in temporary infraction embed (#29) (Oliver Booth)
- c2e9f91: Place reason at bottom of embed in log channel (Oliver Booth)
- 82dca2b: Reformat infraction history embed (Oliver Booth)
- 325254b: Don't use ephemeral response for /history (Oliver Booth)
- 93726bf: Show all infractions in history embe...
v1.0.0-prerelease.1
Commits
- 7e744a1: Add boilerplate project (Oliver Booth)
- 427abb3: Add DisCatSharp 9.9.0 (Oliver Booth)
- 347f74a: Add Microsoft.EntityFramework.Core(.Sqlite) 6.0.2 (Oliver Booth)
- b4c53d6: Add relational models for sqlite db (Oliver Booth)
- c46bdb2: Add configuration models (Oliver Booth)
- 511d290: Use explicit private setter for config immutability (Oliver Booth)
- d120271: Revert. Use public setter for configuration (Oliver Booth)
- a75d084: Remove DeletedMessage model (Oliver Booth)
- 9678f46: Add Rule model to database (Oliver Booth)
- 3c78bf6: Add Kick infraction type (Oliver Booth)
- 6a2b3fc: Add DisCatSharp.Interactivity 9.9.0 (Oliver Booth)
- a6a1058: Add NLog 4.7.14 (Oliver Booth)
- e818d5d: Add LoggingService (Oliver Booth)
- 2ba9fc0: Add various DisCatSharp object extension methods (Oliver Booth)
- 149ff89: Add rule-related commands and RuleService (Oliver Booth)
- 1d62c05: Add Conversation state machine (Oliver Booth)
- db7942c: Support per-guild configuration (Oliver Booth)
- e32c9bb: Use composite key for Rule entity (Oliver Booth)
- c64d626: Format InfractionType (Oliver Booth)
- b849d77: Add v3 compat UserData/Infraction models for migration (Oliver Booth)
- 520033c: Add message acknowledgement (Oliver Booth)
- b1577ac: Perform cleanup on AddGuildInfo (Oliver Booth)
- 7c21258: Add AddFieldIf with Func value (Oliver Booth)
- a86a2eb: Add WithAuthor(DiscordUser) (Oliver Booth)
- 8c8a956: Add userinfo command (Oliver Booth)
- 753d18f: Add Humanizer.Core 2.14.1 (Oliver Booth)
- ff798c3: Add RuleService.CreateRuleNotFoundEmbed (Oliver Booth)
- e4116e8: Remove "Command" suffix from filenames (Oliver Booth)
- 6d6b19c: Add DiscordLog service (Oliver Booth)
- 8a81cb1: Logger.Info (not Warn) on success (Oliver Booth)
- e569d44: Add TrackedMessage entity (Oliver Booth)
- a77726e: Add MessageTrackingService (Oliver Booth)
- 206c37b: Add StartupService and boilerplater Program host (Oliver Booth)
- 9aa0710: Add Secondary and Tertiary guild colors (Oliver Booth)
- cc428f6: Use branch "main" not "master" for license shield (Oliver Booth)
- 3fc7373: [github actions] Add .NET workflow (Oliver Booth)
- 8551763: Add RequirePermissionLevelAttribute (Oliver Booth)
- 72f8bc2: Don't log on ExecuteCheckAsync (Oliver Booth)
- 25a5fe5: Disable implicit usings (Oliver Booth)
- 27849b2: Acknowledge command invocations (Oliver Booth)
- 64f42f4: Add "message" command (#7) (Oliver Booth)
- 84d2e16: Add ModMail notice to embed description (Oliver Booth)
- 544ca88: Add StaffMessage entity (#7) (Oliver Booth)
- b3d64c3: Cleanup/format MessageService (#7) (Oliver Booth)
- 5e4c37e: Print message content, not StaffMessage object itself (#7) (Oliver Booth)
- 1b043a8: Print message ID, not staff ID (#7), in embed author (Oliver Booth)
- 4b47142: Use camelCase for anonymous format object (#7) (Oliver Booth)
- ea3c279: Load services at startup (Oliver Booth)
- 520c55c: Implement user tracking (#9) (Oliver Booth)
- 81c4d1f: Call AsEnumerable to prevent expression -> query conversion (Oliver Booth)
- 1405f18: Log track duration in TrackUserAsync (#9) (Oliver Booth)
- 8bf8995: Add timestamps to tracked message edits and deletions (Oliver Booth)
- 038d286: Add value converters for DateTimeOffset properties (Oliver Booth)
- 461f7dd: Add xmldoc to TrackedMessageConfiguration (Oliver Booth)
- 617fc2d: Use new UriListToBytesConverter for Attachments property (Oliver Booth)
- 872eb65: Remove dependency on DiscordLogService (Oliver Booth)
- fd6e3a6: Add FUNDING.yml (Oliver Booth)
- 5599ced: Expose Infraction and InfractionType models (Oliver Booth)
- f927128: Add JsonPropertyNameAttribute to config values (Oliver Booth)
- b2c9632: Remove Dockerfile (Oliver Booth)
- 5bd9b26: Define schema in entity configuration (Oliver Booth)
- ba9ddc4: Switch to new "plugin" flow (Oliver Booth)
- cd4661d: [github actions] Publish (pre)release on 'v*' tag push (Oliver Booth)
- 040b8b1: [github actions] Add GH NuGet package source (Oliver Booth)
- dec8e1c: Add contribution guidelines (Oliver Booth)
- 4909c5d: Remove duplicate extension methods (Oliver Booth)
- daf3e0f: Add MessageReportService (Oliver Booth)
- 43bd556: Add missing string resources (Oliver Booth)
- 80023ce: Add missing LoggerMessages and ExceptionMessages (Oliver Booth)
- 6382e6c: Condense constructor parameters to fewer lines (Oliver Booth)
- 3b604f6: Document ArgumentException for MessageMemberAsync (Oliver Booth)
- 2cdea5f: Remove SuppressMessageAttribute (Oliver Booth)
- 5975bda: Finish the summary of the "Notes" feature (Oliver Booth)
- dcc8256: [github actions] Publish NuGet for API on build (Oliver Booth)
- ba84390: Add RepositoryUrl to csproj (Oliver Booth)
- c5e9e92: GeneratePackageOnBuild for Hammer.API (Oliver Booth)
- b210300: Bump to 1.0.0-prelease.1 (Oliver Booth)
- 126f168: Update dependencies (Oliver Booth)
- ddadc85: Add StringExtensions (Oliver Booth)
- 85e948d: Add support for guild color in default embed (Oliver Booth)
- 90a08eb: Clear infraction cache before updating from DB (Oliver Booth)
- a71e7c2: Implement IInfraction for Infraction class (Oliver Booth)
- 78abd6f: [xmldoc] Fix reference in summary (Oliver Booth)
- 5ce1908: Update dependencies (Oliver Booth)
- 4c71b03: Remove TimeSpanArgumentConverter (Oliver Booth)
- 59a09ff: Cache infraction from AddInfractionAsync (Oliver Booth)
- 9728fab: Add warn command (#3) (Oliver Booth)
- 77217e7: Don't log duplicate report state (#1) (Oliver Booth)
- 954c644: Fix SaveChangesAsync throwing exception (#1) (#8) (#9) (Oliver Booth)
- 564bf20: Implement message reports (#1) (Oliver Booth)
- 9e7e73f: Condense method parameters to fewer lines (Oliver Booth)
- 3238ea3: Don't remove stale entities (Oliver Booth)
- 6f8ffb0: Add BrackeysBot.Core.API 1.0.0-prerelease.2 (Oliver Booth)
- 56097f7: Migrate to Core API implemented logging (Oliver Booth)
- 9fe175e: Code clean-up (Oliver Booth)
- 074e748: Call WithDescription not WithTitle (fixes #13) (Oliver Booth)
- ccad7f1: Remove cached reporter when unblocking (fixes #14) (Oliver Booth)
- ba2d8dc: Track user join/leave events (#9) (Oliver Booth)
- ba9d6ff: Add previously missing InfractionOptions struct (Oliver Booth)
- 97768d5: Update Infraction entity config (Oliver Booth)
- 2e15fef: Add BlockedReporters set to context (Oliver Booth)
- 5c56481: Order DbSet properties alphabetically (Oliver Booth)
- 157281e: Use hammer.db file from plugin's data directory (Oliver Booth)
- a21590d: Update dependencies (Oliver Booth)
- 635d768: Implement ConfigureServices (Oliver Booth)
- 5ba4f1e: Remove unused GlobalConfiguration (Oliver Booth)
- afc98e2: Add missing ExceptionMessages (Oliver Booth)
- d926840: Add TrackReaction to ReactionConfiguration (Oliver Booth)
- fb224f0: Add missing embed message for to-author embed (Oliver Booth)
- 1b6a204: Use correct resource file for log messages (Oliver Booth)
- 8cee05d: Add kick command (#12) (Oliver Booth)
- 4a3a654: Attempt to retrieve guild from infraction (Oliver Booth)
- a699964: Match message by ID (Oliver Booth)
- 9da2cef: Update pre-tracked message (Oliver Booth)
- 89dcbf4: Add support for enumerating tracked messages (Oliver Booth)
- 25cdb23: Add support for enumerating join/leave events (Oliver Booth)
- 1c27adc: Poll tracked users on guild available instead of startup (Oliver Booth)
- b5f0bfd: Fix tracked user not being untracked locally (Oliver Booth)
- 7afca42: Track join/leave events (#9) (Oliver Booth)
- 274e320: Store deletion timestamp if message is flagged as deleted (#9) (Oliver Booth)
- 138e522: Add TemporaryMuteService (Oliver Booth)
- 1232c46: Add TemporaryMute model and MutedEventArgs (Oliver Booth)