From c36ace33b0eeef40c4cff25544c253da149d7ede Mon Sep 17 00:00:00 2001
From: Octol1ttle <l1ttleofficial@outlook.com>
Date: Fri, 9 Dec 2022 14:02:31 +0500
Subject: [PATCH] exclude more generated code + fix issues

---
 .github/workflows/resharper.yml |  9 ++++---
 Boyfriend/Boyfriend.cs          |  3 +--
 Boyfriend/CommandProcessor.cs   | 43 +++++++++++++++++++++------------
 Boyfriend/EventHandler.cs       | 23 ++++++++----------
 4 files changed, 43 insertions(+), 35 deletions(-)

diff --git a/.github/workflows/resharper.yml b/.github/workflows/resharper.yml
index efbd3b7..79fd684 100644
--- a/.github/workflows/resharper.yml
+++ b/.github/workflows/resharper.yml
@@ -25,9 +25,6 @@ jobs:
     - name: Checkout repository
       uses: actions/checkout@v3
 
-    #- name: Setup .NET Core SDK
-    #  uses: actions/setup-dotnet@v3.0.3
-
     - name: Restore dependencies and tools
       run: dotnet restore
 
@@ -36,5 +33,9 @@ jobs:
       with:
         solutionPath: ./Boyfriend-CSharp.sln
         exclude: |
-          **Messages.Designer.cs
+          **Messages.**
+          **.g.cs
+          **.editorconfig
+          **.AssemblyInfo.cs
+        ignoreIssueType: InvertIf
         solutionWideAnalysis: true
diff --git a/Boyfriend/Boyfriend.cs b/Boyfriend/Boyfriend.cs
index aee4b8f..33d9966 100644
--- a/Boyfriend/Boyfriend.cs
+++ b/Boyfriend/Boyfriend.cs
@@ -61,7 +61,7 @@ public static class Boyfriend {
     private static async Task Init() {
         var token = (await File.ReadAllTextAsync("token.txt")).Trim();
 
-        Client.Log += x => Log(x);
+        Client.Log += Log;
 
         await Client.LoginAsync(TokenType.Bot, token);
         await Client.StartAsync();
@@ -152,4 +152,3 @@ public static class Boyfriend {
         return removedRoles;
     }
 }
-
diff --git a/Boyfriend/CommandProcessor.cs b/Boyfriend/CommandProcessor.cs
index 574ad2a..ab077ef 100644
--- a/Boyfriend/CommandProcessor.cs
+++ b/Boyfriend/CommandProcessor.cs
@@ -73,7 +73,8 @@ public sealed class CommandProcessor {
     }
 
     public void Reply(string response, string? customEmoji = null) {
-        Utils.SafeAppendToBuilder(_stackedReplyMessage, $"{customEmoji ?? ReplyEmojis.Success} {response}", Context.Message);
+        Utils.SafeAppendToBuilder(_stackedReplyMessage, $"{customEmoji ?? ReplyEmojis.Success} {response}",
+            Context.Message);
     }
 
     public void Audit(string action, bool isPublic = true) {
@@ -127,17 +128,21 @@ public sealed class CommandProcessor {
 
     public bool HasPermission(GuildPermission permission) {
         if (!Context.Guild.CurrentUser.GuildPermissions.Has(permission)) {
-            Utils.SafeAppendToBuilder(_stackedReplyMessage, $"{ReplyEmojis.NoPermission} {Utils.GetMessage($"BotCannot{permission}")}",
+            Utils.SafeAppendToBuilder(_stackedReplyMessage,
+                $"{ReplyEmojis.NoPermission} {Utils.GetMessage($"BotCannot{permission}")}",
                 Context.Message);
             return false;
         }
 
-        if (Context.Guild.GetUser(Context.User.Id).GuildPermissions.Has(permission)
-            || Context.Guild.OwnerId == Context.User.Id) return true;
+        if (!Context.Guild.GetUser(Context.User.Id).GuildPermissions.Has(permission)
+            && Context.Guild.OwnerId != Context.User.Id) {
+            Utils.SafeAppendToBuilder(_stackedReplyMessage,
+                $"{ReplyEmojis.NoPermission} {Utils.GetMessage($"UserCannot{permission}")}",
+                Context.Message);
+            return false;
+        }
 
-        Utils.SafeAppendToBuilder(_stackedReplyMessage, $"{ReplyEmojis.NoPermission} {Utils.GetMessage($"UserCannot{permission}")}",
-            Context.Message);
-        return false;
+        return true;
     }
 
     public SocketGuildUser? GetMember(SocketUser user) {
@@ -202,11 +207,14 @@ public sealed class CommandProcessor {
             return null;
         }
 
-        if (i <= max) return i;
-        Utils.SafeAppendToBuilder(_stackedReplyMessage,
-            $"{ReplyEmojis.InvalidArgument} {string.Format(Utils.GetMessage($"{argument}TooLarge"), max.ToString())}",
-            Context.Message);
-        return null;
+        if (i > max) {
+            Utils.SafeAppendToBuilder(_stackedReplyMessage,
+                $"{ReplyEmojis.InvalidArgument} {string.Format(Utils.GetMessage($"{argument}TooLarge"), max.ToString())}",
+                Context.Message);
+            return null;
+        }
+
+        return i;
     }
 
     public static TimeSpan GetTimeSpan(string[] args, int index) {
@@ -268,9 +276,12 @@ public sealed class CommandProcessor {
             return false;
         }
 
-        if (Context.Guild.Owner.Id == Context.User.Id || GetMember().Hierarchy > user.Hierarchy) return true;
-        Utils.SafeAppendToBuilder(_stackedReplyMessage,
-            $"{ReplyEmojis.CantInteract} {Utils.GetMessage($"UserCannot{action}Target")}", Context.Message);
-        return false;
+        if (Context.Guild.Owner.Id != Context.User.Id && GetMember().Hierarchy <= user.Hierarchy) {
+            Utils.SafeAppendToBuilder(_stackedReplyMessage,
+                $"{ReplyEmojis.CantInteract} {Utils.GetMessage($"UserCannot{action}Target")}", Context.Message);
+            return false;
+        }
+
+        return true;
     }
 }
diff --git a/Boyfriend/EventHandler.cs b/Boyfriend/EventHandler.cs
index 488daa3..bfe1cb6 100644
--- a/Boyfriend/EventHandler.cs
+++ b/Boyfriend/EventHandler.cs
@@ -1,5 +1,4 @@
-using System.Diagnostics.CodeAnalysis;
-using Discord;
+using Discord;
 using Discord.Rest;
 using Discord.WebSocket;
 
@@ -9,17 +8,16 @@ public static class EventHandler {
     private static readonly DiscordSocketClient Client = Boyfriend.Client;
     private static bool _sendReadyMessages = true;
 
-    [SuppressMessage("ReSharper", "ConvertClosureToMethodGroup")]
     public static void InitEvents() {
-        Client.Ready += () => ReadyEvent();
-        Client.MessageDeleted += (x, y) => MessageDeletedEvent(x, y);
-        Client.MessageReceived += x => MessageReceivedEvent(x);
-        Client.MessageUpdated += (x, y, z) => MessageUpdatedEvent(x, y, z);
-        Client.UserJoined += x => UserJoinedEvent(x);
-        Client.GuildScheduledEventCreated += x => ScheduledEventCreatedEvent(x);
-        Client.GuildScheduledEventCancelled += x => ScheduledEventCancelledEvent(x);
-        Client.GuildScheduledEventStarted += x => ScheduledEventStartedEvent(x);
-        Client.GuildScheduledEventCompleted += x => ScheduledEventCompletedEvent(x);
+        Client.Ready += ReadyEvent;
+        Client.MessageDeleted += MessageDeletedEvent;
+        Client.MessageReceived += MessageReceivedEvent;
+        Client.MessageUpdated += MessageUpdatedEvent;
+        Client.UserJoined += UserJoinedEvent;
+        Client.GuildScheduledEventCreated += ScheduledEventCreatedEvent;
+        Client.GuildScheduledEventCancelled += ScheduledEventCancelledEvent;
+        Client.GuildScheduledEventStarted += ScheduledEventStartedEvent;
+        Client.GuildScheduledEventCompleted += ScheduledEventCompletedEvent;
     }
 
     private static Task ReadyEvent() {
@@ -176,4 +174,3 @@ public static class EventHandler {
                 Utils.GetHumanizedTimeOffset(DateTimeOffset.Now.Subtract(scheduledEvent.StartTime))));
     }
 }
-