From bf499bc251a34f817023aebef206a1b01fc2612a Mon Sep 17 00:00:00 2001 From: hhvrc Date: Tue, 25 Nov 2025 01:54:19 +0100 Subject: [PATCH 1/5] Bump to .NET 10 --- DiscordBot/DiscordBot.csproj | 29 +++++++++++++------------- MigrationHelper/MigrationHelper.csproj | 12 +++++------ global.json | 7 +++++++ 3 files changed, 27 insertions(+), 21 deletions(-) create mode 100644 global.json diff --git a/DiscordBot/DiscordBot.csproj b/DiscordBot/DiscordBot.csproj index d1c8776..78608a8 100644 --- a/DiscordBot/DiscordBot.csproj +++ b/DiscordBot/DiscordBot.csproj @@ -2,7 +2,7 @@ Exe - net9.0 + net10.0 enable enable OpenShock @@ -13,32 +13,31 @@ OpenShock.DiscordBot OpenShock.DiscordBot false - 13 05918ba7-2547-4661-9c92-1172d1441505 - - + + all runtime; build; native; contentfiles; analyzers; buildtransitive - - + + all runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - - - + + + + + + + - + @@ -49,7 +48,7 @@ - + PreserveNewest diff --git a/MigrationHelper/MigrationHelper.csproj b/MigrationHelper/MigrationHelper.csproj index 0a110e5..6508b67 100644 --- a/MigrationHelper/MigrationHelper.csproj +++ b/MigrationHelper/MigrationHelper.csproj @@ -2,23 +2,23 @@ Exe - net9.0 + net10.0 enable enable - - + + all runtime; build; native; contentfiles; analyzers; buildtransitive - - + + all runtime; build; native; contentfiles; analyzers; buildtransitive - + diff --git a/global.json b/global.json new file mode 100644 index 0000000..9a523dc --- /dev/null +++ b/global.json @@ -0,0 +1,7 @@ +{ + "sdk": { + "version": "10.0.0", + "rollForward": "latestMajor", + "allowPrerelease": false + } +} \ No newline at end of file From 2cf6e372ce452f40ba91d21cb1a5fe7ae51f4a11 Mon Sep 17 00:00:00 2001 From: hhvrc Date: Tue, 25 Nov 2025 01:57:13 +0100 Subject: [PATCH 2/5] Some cleanup --- DiscordBot/Commands/Admin/AdminListCommand.cs | 1 - DiscordBot/Commands/ControlCommands.cs | 1 - DiscordBot/Commands/Profanity/ProfanityListCommand.cs | 5 ++--- DiscordBot/Commands/ProfanityAdmin/ProfanityRemoveCommand.cs | 1 - .../ProfanityAdmin/ProfanitySuggestionListCommand.cs | 1 - DiscordBot/Commands/Setup/SetupConnectionCommand.cs | 2 +- DiscordBot/MessageHandler/MessageHandler.cs | 3 +-- DiscordBot/OpenShockDiscordDb/BotAdmin.cs | 5 +---- DiscordBot/OpenShockDiscordDb/OpenShockDiscordContext.cs | 4 +--- DiscordBot/OpenShockDiscordDb/User.cs | 5 +---- DiscordBot/OpenShockDiscordDb/UsersFriendwhitelist.cs | 5 +---- DiscordBot/OpenShockDiscordDb/UsersShocker.cs | 5 +---- DiscordBot/Program.cs | 4 ++-- DiscordBot/Services/InteractionHandler.cs | 1 - DiscordBot/Services/OpenShockBackendService.cs | 4 +--- DiscordBot/Utils/ApiUtils.cs | 3 +-- DiscordBot/Utils/DiscordUtils.cs | 1 - DiscordBot/Utils/Embeds.cs | 4 +--- 18 files changed, 14 insertions(+), 41 deletions(-) diff --git a/DiscordBot/Commands/Admin/AdminListCommand.cs b/DiscordBot/Commands/Admin/AdminListCommand.cs index ed4fd66..66d9a7f 100644 --- a/DiscordBot/Commands/Admin/AdminListCommand.cs +++ b/DiscordBot/Commands/Admin/AdminListCommand.cs @@ -1,5 +1,4 @@ using Discord.Interactions; -using Discord.WebSocket; namespace OpenShock.DiscordBot.Commands.Admin; diff --git a/DiscordBot/Commands/ControlCommands.cs b/DiscordBot/Commands/ControlCommands.cs index 941af55..69b3777 100644 --- a/DiscordBot/Commands/ControlCommands.cs +++ b/DiscordBot/Commands/ControlCommands.cs @@ -8,7 +8,6 @@ using OneOf.Types; using OpenShock.DiscordBot.OpenShockDiscordDb; using OpenShock.DiscordBot.Utils; -using OpenShock.SDK.CSharp; using OpenShock.SDK.CSharp.Errors; using OpenShock.SDK.CSharp.Models; diff --git a/DiscordBot/Commands/Profanity/ProfanityListCommand.cs b/DiscordBot/Commands/Profanity/ProfanityListCommand.cs index e7c9962..cb35a0f 100644 --- a/DiscordBot/Commands/Profanity/ProfanityListCommand.cs +++ b/DiscordBot/Commands/Profanity/ProfanityListCommand.cs @@ -1,7 +1,6 @@ using Discord; using Discord.Interactions; using Microsoft.EntityFrameworkCore; -using OpenShock.DiscordBot.OpenShockDiscordDb; namespace OpenShock.DiscordBot.Commands.Profanity; @@ -12,8 +11,8 @@ public async Task ProfanityListCommand() { await DeferAsync(ephemeral: true); - var rules = await Queryable - .OrderByDescending(_db.ProfanityRules, r => r.CreatedAt) + var rules = await _db.ProfanityRules + .OrderByDescending(r => r.CreatedAt) .Take(10) .ToListAsync(); diff --git a/DiscordBot/Commands/ProfanityAdmin/ProfanityRemoveCommand.cs b/DiscordBot/Commands/ProfanityAdmin/ProfanityRemoveCommand.cs index 547f187..be739c1 100644 --- a/DiscordBot/Commands/ProfanityAdmin/ProfanityRemoveCommand.cs +++ b/DiscordBot/Commands/ProfanityAdmin/ProfanityRemoveCommand.cs @@ -1,7 +1,6 @@ using System.Text; using Discord.Interactions; using Microsoft.EntityFrameworkCore; -using OpenShock.DiscordBot.OpenShockDiscordDb; namespace OpenShock.DiscordBot.Commands.ProfanityAdmin; diff --git a/DiscordBot/Commands/ProfanityAdmin/ProfanitySuggestionListCommand.cs b/DiscordBot/Commands/ProfanityAdmin/ProfanitySuggestionListCommand.cs index a0d0fdc..7d60a61 100644 --- a/DiscordBot/Commands/ProfanityAdmin/ProfanitySuggestionListCommand.cs +++ b/DiscordBot/Commands/ProfanityAdmin/ProfanitySuggestionListCommand.cs @@ -2,7 +2,6 @@ using Discord; using Discord.Interactions; using Microsoft.EntityFrameworkCore; -using OpenShock.DiscordBot.OpenShockDiscordDb; namespace OpenShock.DiscordBot.Commands.ProfanityAdmin; diff --git a/DiscordBot/Commands/Setup/SetupConnectionCommand.cs b/DiscordBot/Commands/Setup/SetupConnectionCommand.cs index dbde2f9..fcb8941 100644 --- a/DiscordBot/Commands/Setup/SetupConnectionCommand.cs +++ b/DiscordBot/Commands/Setup/SetupConnectionCommand.cs @@ -30,7 +30,7 @@ public async Task ExecuteSetupCommand() ApiToken = user.ApiKey, ApiServer = user.ApiServer }; - await Context.Interaction.RespondWithModalAsync(SetupModalId, previousData); + await Context.Interaction.RespondWithModalAsync(SetupModalId, previousData); } // Responds to the modal. diff --git a/DiscordBot/MessageHandler/MessageHandler.cs b/DiscordBot/MessageHandler/MessageHandler.cs index 0ed1c24..1c88130 100644 --- a/DiscordBot/MessageHandler/MessageHandler.cs +++ b/DiscordBot/MessageHandler/MessageHandler.cs @@ -5,10 +5,9 @@ using OpenShock.DiscordBot.OpenShockDiscordDb; using OpenShock.DiscordBot.Services; using OpenShock.DiscordBot.Services.ProfanityDetector; -using OpenShock.DiscordBot.Utils; using OpenShock.SDK.CSharp.Models; -namespace OpenShock.DiscordBot; +namespace OpenShock.DiscordBot.MessageHandler; public sealed partial class MessageHandler { diff --git a/DiscordBot/OpenShockDiscordDb/BotAdmin.cs b/DiscordBot/OpenShockDiscordDb/BotAdmin.cs index b0034cf..8d49c5f 100644 --- a/DiscordBot/OpenShockDiscordDb/BotAdmin.cs +++ b/DiscordBot/OpenShockDiscordDb/BotAdmin.cs @@ -1,7 +1,4 @@ -using System; -using System.Collections.Generic; - -namespace OpenShock.DiscordBot.OpenShockDiscordDb; +namespace OpenShock.DiscordBot.OpenShockDiscordDb; public partial class BotAdmin { diff --git a/DiscordBot/OpenShockDiscordDb/OpenShockDiscordContext.cs b/DiscordBot/OpenShockDiscordDb/OpenShockDiscordContext.cs index 85fb304..c6b5b16 100644 --- a/DiscordBot/OpenShockDiscordDb/OpenShockDiscordContext.cs +++ b/DiscordBot/OpenShockDiscordDb/OpenShockDiscordContext.cs @@ -1,6 +1,4 @@ -using System; -using System.Collections.Generic; -using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore; namespace OpenShock.DiscordBot.OpenShockDiscordDb; diff --git a/DiscordBot/OpenShockDiscordDb/User.cs b/DiscordBot/OpenShockDiscordDb/User.cs index 3659d6a..ddeee13 100644 --- a/DiscordBot/OpenShockDiscordDb/User.cs +++ b/DiscordBot/OpenShockDiscordDb/User.cs @@ -1,7 +1,4 @@ -using System; -using System.Collections.Generic; - -namespace OpenShock.DiscordBot.OpenShockDiscordDb; +namespace OpenShock.DiscordBot.OpenShockDiscordDb; public partial class User { diff --git a/DiscordBot/OpenShockDiscordDb/UsersFriendwhitelist.cs b/DiscordBot/OpenShockDiscordDb/UsersFriendwhitelist.cs index 903a7aa..5161c21 100644 --- a/DiscordBot/OpenShockDiscordDb/UsersFriendwhitelist.cs +++ b/DiscordBot/OpenShockDiscordDb/UsersFriendwhitelist.cs @@ -1,7 +1,4 @@ -using System; -using System.Collections.Generic; - -namespace OpenShock.DiscordBot.OpenShockDiscordDb; +namespace OpenShock.DiscordBot.OpenShockDiscordDb; public partial class UsersFriendwhitelist { diff --git a/DiscordBot/OpenShockDiscordDb/UsersShocker.cs b/DiscordBot/OpenShockDiscordDb/UsersShocker.cs index 46179d1..b86f6dc 100644 --- a/DiscordBot/OpenShockDiscordDb/UsersShocker.cs +++ b/DiscordBot/OpenShockDiscordDb/UsersShocker.cs @@ -1,7 +1,4 @@ -using System; -using System.Collections.Generic; - -namespace OpenShock.DiscordBot.OpenShockDiscordDb; +namespace OpenShock.DiscordBot.OpenShockDiscordDb; public partial class UsersShocker { diff --git a/DiscordBot/Program.cs b/DiscordBot/Program.cs index 27f0b36..e36718b 100644 --- a/DiscordBot/Program.cs +++ b/DiscordBot/Program.cs @@ -1,5 +1,4 @@ -using System.Diagnostics; -using Discord; +using Discord; using Discord.Interactions; using Discord.WebSocket; using Microsoft.EntityFrameworkCore; @@ -13,6 +12,7 @@ using OpenShock.DiscordBot.Utils; using Serilog; using System.Reflection; +using OpenShock.DiscordBot.MessageHandler; using OpenShock.DiscordBot.Services.ProfanityDetector; try diff --git a/DiscordBot/Services/InteractionHandler.cs b/DiscordBot/Services/InteractionHandler.cs index 0bbda32..1579345 100644 --- a/DiscordBot/Services/InteractionHandler.cs +++ b/DiscordBot/Services/InteractionHandler.cs @@ -3,7 +3,6 @@ using Discord.WebSocket; using Microsoft.Extensions.Logging; using OpenShock.DiscordBot.Utils; -using Serilog; namespace OpenShock.DiscordBot.Services; diff --git a/DiscordBot/Services/OpenShockBackendService.cs b/DiscordBot/Services/OpenShockBackendService.cs index 4f307a6..c1c1c02 100644 --- a/DiscordBot/Services/OpenShockBackendService.cs +++ b/DiscordBot/Services/OpenShockBackendService.cs @@ -1,8 +1,6 @@ -using Discord; -using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore; using OpenShock.DiscordBot.OpenShockDiscordDb; using OpenShock.DiscordBot.Utils; -using OpenShock.SDK.CSharp; using OpenShock.SDK.CSharp.Models; namespace OpenShock.DiscordBot.Services; diff --git a/DiscordBot/Utils/ApiUtils.cs b/DiscordBot/Utils/ApiUtils.cs index 8786e4a..49ffa9f 100644 --- a/DiscordBot/Utils/ApiUtils.cs +++ b/DiscordBot/Utils/ApiUtils.cs @@ -1,5 +1,4 @@ -using Discord; -using OpenShock.DiscordBot.OpenShockDiscordDb; +using OpenShock.DiscordBot.OpenShockDiscordDb; using OpenShock.SDK.CSharp; namespace OpenShock.DiscordBot.Utils; diff --git a/DiscordBot/Utils/DiscordUtils.cs b/DiscordBot/Utils/DiscordUtils.cs index f42bbae..9b3db87 100644 --- a/DiscordBot/Utils/DiscordUtils.cs +++ b/DiscordBot/Utils/DiscordUtils.cs @@ -1,5 +1,4 @@ using Discord; -using Discord.Interactions; namespace OpenShock.DiscordBot.Utils; diff --git a/DiscordBot/Utils/Embeds.cs b/DiscordBot/Utils/Embeds.cs index 5bd508c..5c61ec4 100644 --- a/DiscordBot/Utils/Embeds.cs +++ b/DiscordBot/Utils/Embeds.cs @@ -1,6 +1,4 @@ -using System.Globalization; -using Discord; -using OpenShock.DiscordBot.Commands; +using Discord; namespace OpenShock.DiscordBot.Utils; From 57f529c1b29d8bf0b0a89b01a8951e4edcbfdfe7 Mon Sep 17 00:00:00 2001 From: hhvrc Date: Tue, 25 Nov 2025 01:58:40 +0100 Subject: [PATCH 3/5] Update MessageHandler.cs --- DiscordBot/MessageHandler/MessageHandler.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/DiscordBot/MessageHandler/MessageHandler.cs b/DiscordBot/MessageHandler/MessageHandler.cs index 1c88130..22e9395 100644 --- a/DiscordBot/MessageHandler/MessageHandler.cs +++ b/DiscordBot/MessageHandler/MessageHandler.cs @@ -75,10 +75,10 @@ public async Task HandleMessageAsync(SocketMessage message) if (isInBotChannel) await message.Channel.SendMessageAsync($"Profanity detected! {count} bad {(count > 1 ? "words" : "word")}, shocking at {intensityPercent:F0}%"); // Send reaction and trigger shock - await Task.WhenAll([ - message.AddReactionAsync(new Emoji("⚡")), - ShockUserAsync(scope, authorDiscordId, intensityPercent) - ]); + await Task.WhenAll( + message.AddReactionAsync(new Emoji("⚡")), + ShockUserAsync(scope, authorDiscordId, intensityPercent) + ); } } } From 8e5936e5b12f17e508491dedaa45a681efcee405 Mon Sep 17 00:00:00 2001 From: hhvrc Date: Tue, 25 Nov 2025 02:38:28 +0100 Subject: [PATCH 4/5] Update Dockerfile --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index d78ff55..fa71c8a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM mcr.microsoft.com/dotnet/sdk:9.0-alpine AS build +FROM mcr.microsoft.com/dotnet/sdk:10.0-alpine AS build WORKDIR /src COPY *.slnx . COPY DiscordBot/*.csproj ./DiscordBot/ @@ -9,7 +9,7 @@ COPY . . RUN dotnet publish -c Release -o /publish --no-restore -FROM mcr.microsoft.com/dotnet/runtime:9.0-alpine +FROM mcr.microsoft.com/dotnet/runtime:10.0-alpine WORKDIR /app ENV DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=false From 567ac81e0673e08c2556a8e96528e52c33d2ac66 Mon Sep 17 00:00:00 2001 From: HeavenVR Date: Tue, 25 Nov 2025 02:52:32 +0100 Subject: [PATCH 5/5] Update DiscordBot/MessageHandler/MessageHandler.cs Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- DiscordBot/MessageHandler/MessageHandler.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/DiscordBot/MessageHandler/MessageHandler.cs b/DiscordBot/MessageHandler/MessageHandler.cs index 22e9395..68dcd6b 100644 --- a/DiscordBot/MessageHandler/MessageHandler.cs +++ b/DiscordBot/MessageHandler/MessageHandler.cs @@ -75,10 +75,10 @@ public async Task HandleMessageAsync(SocketMessage message) if (isInBotChannel) await message.Channel.SendMessageAsync($"Profanity detected! {count} bad {(count > 1 ? "words" : "word")}, shocking at {intensityPercent:F0}%"); // Send reaction and trigger shock - await Task.WhenAll( + await Task.WhenAll([ message.AddReactionAsync(new Emoji("⚡")), ShockUserAsync(scope, authorDiscordId, intensityPercent) - ); + ]); } } }