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)))); } } -