From 7b87911351f4712e23b4e27d3c9f51bd27c5967d Mon Sep 17 00:00:00 2001 From: Sleepy Boyy Date: Sun, 19 Aug 2018 21:24:24 +0200 Subject: [PATCH] Code Cleanup --- .../RequireBotPermissionAttribute.cs | 4 +- .../Preconditions/RequireContextAttribute.cs | 4 +- .../RequireUserPermissionAttribute.cs | 4 +- .../Extensions/IEnumerableExtensions.cs | 7 ++- .../Extensions/MessageExtensions.cs | 3 -- src/Discord.Net.Commands/Info/CommandInfo.cs | 16 ++++--- src/Discord.Net.Commands/Info/ModuleInfo.cs | 6 +-- .../Map/CommandMapNode.cs | 4 +- .../Readers/RoleTypeReader.cs | 4 +- .../Results/ParseResult.cs | 4 -- .../Utilities/ReflectionUtils.cs | 4 +- src/Discord.Net.Core/Entities/Emotes/Emote.cs | 1 - .../Entities/Users/GuildUserProperties.cs | 3 +- src/Discord.Net.Core/Format.cs | 6 +-- src/Discord.Net.Core/Net/HttpException.cs | 12 ++--- src/Discord.Net.Core/Utils/MentionUtils.cs | 7 ++- src/Discord.Net.Core/Utils/Permissions.cs | 3 +- .../WS4NetClient.cs | 2 +- .../Entities/AuditLogs/AuditLogHelper.cs | 6 +-- .../Entities/Channels/RestDMChannel.cs | 21 ++++----- .../Entities/Channels/RestGroupChannel.cs | 26 ++++------ .../Entities/Channels/RestTextChannel.cs | 38 +++++++-------- .../Channels/RpcVirtualMessageChannel.cs | 21 ++++----- .../Entities/Guilds/RestGuild.cs | 6 +-- .../Entities/Messages/MessageHelper.cs | 4 +- .../Entities/Users/RestUser.cs | 4 +- .../Net/Converters/DiscordContractResolver.cs | 4 +- .../Net/Queue/RequestQueue.cs | 2 +- .../Audio/AudioClient.cs | 6 +-- .../Audio/Streams/BufferedWriteStream.cs | 4 +- .../Audio/Streams/InputStream.cs | 2 +- .../Audio/Streams/JitterBuffer.cs | 1 + .../Audio/Streams/RTPWriteStream.cs | 2 +- src/Discord.Net.WebSocket/ClientState.cs | 32 +++---------- .../DiscordShardedClient.cs | 47 +++++-------------- .../DiscordSocketApiClient.cs | 2 +- .../DiscordSocketClient.cs | 15 +++--- .../DiscordVoiceApiClient.cs | 2 +- .../Entities/Channels/SocketChannelHelper.cs | 11 +++-- .../Entities/Channels/SocketGroupChannel.cs | 8 +--- .../Entities/Guilds/SocketGuild.cs | 16 ++----- .../Entities/Messages/MessageCache.cs | 10 +--- .../Entities/Messages/SocketUserMessage.cs | 4 +- .../Net/DefaultWebSocketClient.cs | 2 +- .../Discord.Net.Tests/Net/CachedRestClient.cs | 4 +- .../Tests.GuildPermissions.cs | 3 +- test/Discord.Net.Tests/Tests.cs | 2 +- 47 files changed, 163 insertions(+), 236 deletions(-) diff --git a/src/Discord.Net.Commands/Attributes/Preconditions/RequireBotPermissionAttribute.cs b/src/Discord.Net.Commands/Attributes/Preconditions/RequireBotPermissionAttribute.cs index 2db7afeb4..430cdb4b6 100644 --- a/src/Discord.Net.Commands/Attributes/Preconditions/RequireBotPermissionAttribute.cs +++ b/src/Discord.Net.Commands/Attributes/Preconditions/RequireBotPermissionAttribute.cs @@ -70,7 +70,9 @@ namespace Discord.Commands else perms = ChannelPermissions.All(context.Channel); - return !perms.Has(ChannelPermission.Value) ? PreconditionResult.FromError($"Bot requires channel permission {ChannelPermission.Value}") : PreconditionResult.FromSuccess(); + return !perms.Has(ChannelPermission.Value) + ? PreconditionResult.FromError($"Bot requires channel permission {ChannelPermission.Value}") + : PreconditionResult.FromSuccess(); } } } diff --git a/src/Discord.Net.Commands/Attributes/Preconditions/RequireContextAttribute.cs b/src/Discord.Net.Commands/Attributes/Preconditions/RequireContextAttribute.cs index 3f1988d80..79d3db652 100644 --- a/src/Discord.Net.Commands/Attributes/Preconditions/RequireContextAttribute.cs +++ b/src/Discord.Net.Commands/Attributes/Preconditions/RequireContextAttribute.cs @@ -52,7 +52,9 @@ namespace Discord.Commands if ((Contexts & ContextType.Group) != 0) isValid = isValid || context.Channel is IGroupChannel; - return Task.FromResult(isValid ? PreconditionResult.FromSuccess() : PreconditionResult.FromError($"Invalid context for command; accepted contexts: {Contexts}")); + return Task.FromResult(isValid + ? PreconditionResult.FromSuccess() + : PreconditionResult.FromError($"Invalid context for command; accepted contexts: {Contexts}")); } } } diff --git a/src/Discord.Net.Commands/Attributes/Preconditions/RequireUserPermissionAttribute.cs b/src/Discord.Net.Commands/Attributes/Preconditions/RequireUserPermissionAttribute.cs index 38d222397..eda41cd09 100644 --- a/src/Discord.Net.Commands/Attributes/Preconditions/RequireUserPermissionAttribute.cs +++ b/src/Discord.Net.Commands/Attributes/Preconditions/RequireUserPermissionAttribute.cs @@ -70,7 +70,9 @@ namespace Discord.Commands else perms = ChannelPermissions.All(context.Channel); - return Task.FromResult(!perms.Has(ChannelPermission.Value) ? PreconditionResult.FromError($"User requires channel permission {ChannelPermission.Value}") : PreconditionResult.FromSuccess()); + return Task.FromResult(!perms.Has(ChannelPermission.Value) + ? PreconditionResult.FromError($"User requires channel permission {ChannelPermission.Value}") + : PreconditionResult.FromSuccess()); } } } diff --git a/src/Discord.Net.Commands/Extensions/IEnumerableExtensions.cs b/src/Discord.Net.Commands/Extensions/IEnumerableExtensions.cs index 14d9b379c..318f433f8 100644 --- a/src/Discord.Net.Commands/Extensions/IEnumerableExtensions.cs +++ b/src/Discord.Net.Commands/Extensions/IEnumerableExtensions.cs @@ -9,9 +9,8 @@ namespace Discord.Commands public static IEnumerable Permutate( this IEnumerable set, IEnumerable others, - Func func) - { - return from elem in set from elem2 in others select func(elem, elem2); - } + Func func) => from elem in set + from elem2 in others + select func(elem, elem2); } } diff --git a/src/Discord.Net.Commands/Extensions/MessageExtensions.cs b/src/Discord.Net.Commands/Extensions/MessageExtensions.cs index 0d994fd80..dfbec1a97 100644 --- a/src/Discord.Net.Commands/Extensions/MessageExtensions.cs +++ b/src/Discord.Net.Commands/Extensions/MessageExtensions.cs @@ -10,7 +10,6 @@ namespace Discord.Commands if (text.Length <= 0 || text[0] != c) return false; argPos = 1; return true; - } public static bool HasStringPrefix(this IUserMessage msg, string str, ref int argPos, @@ -20,7 +19,6 @@ namespace Discord.Commands if (!text.StartsWith(str, comparisonType)) return false; argPos = str.Length; return true; - } public static bool HasMentionPrefix(this IUserMessage msg, IUser user, ref int argPos) @@ -37,7 +35,6 @@ namespace Discord.Commands if (userId != user.Id) return false; argPos = endPos + 2; return true; - } } } diff --git a/src/Discord.Net.Commands/Info/CommandInfo.cs b/src/Discord.Net.Commands/Info/CommandInfo.cs index acf648ca0..30d6d8a0e 100644 --- a/src/Discord.Net.Commands/Info/CommandInfo.cs +++ b/src/Discord.Net.Commands/Info/CommandInfo.cs @@ -202,7 +202,8 @@ namespace Discord.Commands case Task resultTask: { var result = await resultTask.ConfigureAwait(false); - await Module.Service._commandExecutedEvent.InvokeAsync(this, context, result).ConfigureAwait(false); + await Module.Service._commandExecutedEvent.InvokeAsync(this, context, result) + .ConfigureAwait(false); if (result is RuntimeResult execResult) return execResult; break; @@ -210,14 +211,16 @@ namespace Discord.Commands case Task execTask: { var result = await execTask.ConfigureAwait(false); - await Module.Service._commandExecutedEvent.InvokeAsync(this, context, result).ConfigureAwait(false); + await Module.Service._commandExecutedEvent.InvokeAsync(this, context, result) + .ConfigureAwait(false); return result; } default: { await task.ConfigureAwait(false); var result = ExecuteResult.FromSuccess(); - await Module.Service._commandExecutedEvent.InvokeAsync(this, context, result).ConfigureAwait(false); + await Module.Service._commandExecutedEvent.InvokeAsync(this, context, result) + .ConfigureAwait(false); break; } } @@ -280,9 +283,8 @@ namespace Discord.Commands private static T[] ConvertParamsList(IEnumerable paramsList) => paramsList.Cast().ToArray(); - internal string GetLogText(ICommandContext context) - { - return context.Guild != null ? $"\"{Name}\" for {context.User} in {context.Guild}/{context.Channel}" : $"\"{Name}\" for {context.User} in {context.Channel}"; - } + internal string GetLogText(ICommandContext context) => context.Guild != null + ? $"\"{Name}\" for {context.User} in {context.Guild}/{context.Channel}" + : $"\"{Name}\" for {context.User} in {context.Channel}"; } } diff --git a/src/Discord.Net.Commands/Info/ModuleInfo.cs b/src/Discord.Net.Commands/Info/ModuleInfo.cs index 7ef7e60be..88435ddd9 100644 --- a/src/Discord.Net.Commands/Info/ModuleInfo.cs +++ b/src/Discord.Net.Commands/Info/ModuleInfo.cs @@ -68,10 +68,8 @@ namespace Discord.Commands } private IEnumerable BuildSubmodules(ModuleBuilder parent, CommandService service, - IServiceProvider services) - { - return parent.Modules.Select(submodule => submodule.Build(service, services, this)).ToList(); - } + IServiceProvider services) => + parent.Modules.Select(submodule => submodule.Build(service, services, this)).ToList(); private static IEnumerable BuildPreconditions(ModuleBuilder builder) { diff --git a/src/Discord.Net.Commands/Map/CommandMapNode.cs b/src/Discord.Net.Commands/Map/CommandMapNode.cs index 59c9ef0fa..1c0e368ab 100644 --- a/src/Discord.Net.Commands/Map/CommandMapNode.cs +++ b/src/Discord.Net.Commands/Map/CommandMapNode.cs @@ -36,7 +36,9 @@ namespace Discord.Commands _commands = _commands.Add(command); break; default: - var name = nextSegment == -1 ? text.Substring(index) : text.Substring(index, nextSegment - index); + var name = nextSegment == -1 + ? text.Substring(index) + : text.Substring(index, nextSegment - index); var fullName = _name == "" ? name : _name + service._separatorChar + name; var nextNode = _nodes.GetOrAdd(name, x => new CommandMapNode(fullName)); diff --git a/src/Discord.Net.Commands/Readers/RoleTypeReader.cs b/src/Discord.Net.Commands/Readers/RoleTypeReader.cs index 7e3d0a096..408063588 100644 --- a/src/Discord.Net.Commands/Readers/RoleTypeReader.cs +++ b/src/Discord.Net.Commands/Readers/RoleTypeReader.cs @@ -29,7 +29,9 @@ namespace Discord.Commands foreach (var role in roles.Where(x => string.Equals(input, x.Name, StringComparison.OrdinalIgnoreCase))) AddResult(results, role as T, role.Name == input ? 0.80f : 0.70f); - return Task.FromResult(results.Count > 0 ? TypeReaderResult.FromSuccess(results.Values.ToReadOnlyCollection()) : TypeReaderResult.FromError(CommandError.ObjectNotFound, "Role not found.")); + return Task.FromResult(results.Count > 0 + ? TypeReaderResult.FromSuccess(results.Values.ToReadOnlyCollection()) + : TypeReaderResult.FromError(CommandError.ObjectNotFound, "Role not found.")); } private void AddResult(Dictionary results, T role, float score) diff --git a/src/Discord.Net.Commands/Results/ParseResult.cs b/src/Discord.Net.Commands/Results/ParseResult.cs index 96aa1648c..a86e15f63 100644 --- a/src/Discord.Net.Commands/Results/ParseResult.cs +++ b/src/Discord.Net.Commands/Results/ParseResult.cs @@ -29,15 +29,11 @@ namespace Discord.Commands IReadOnlyList paramValues) { if (argValues.Any(t => t.Values.Count > 1)) - { return new ParseResult(argValues, paramValues, CommandError.MultipleMatches, "Multiple matches found."); - } if (paramValues.Any(t => t.Values.Count > 1)) - { return new ParseResult(argValues, paramValues, CommandError.MultipleMatches, "Multiple matches found."); - } return new ParseResult(argValues, paramValues, null, null); } diff --git a/src/Discord.Net.Commands/Utilities/ReflectionUtils.cs b/src/Discord.Net.Commands/Utilities/ReflectionUtils.cs index a92888105..e1799d63b 100644 --- a/src/Discord.Net.Commands/Utilities/ReflectionUtils.cs +++ b/src/Discord.Net.Commands/Utilities/ReflectionUtils.cs @@ -58,7 +58,9 @@ namespace Discord.Commands var result = new List(); while (ownerType != _objectTypeInfo) { - result.AddRange(ownerType.DeclaredProperties.Where(prop => prop.SetMethod?.IsStatic == false && prop.SetMethod?.IsPublic == true && prop.GetCustomAttribute() == null)); + result.AddRange(ownerType.DeclaredProperties.Where(prop => + prop.SetMethod?.IsStatic == false && prop.SetMethod?.IsPublic == true && + prop.GetCustomAttribute() == null)); ownerType = ownerType.BaseType.GetTypeInfo(); } diff --git a/src/Discord.Net.Core/Entities/Emotes/Emote.cs b/src/Discord.Net.Core/Entities/Emotes/Emote.cs index 8719a652e..54d33dce8 100644 --- a/src/Discord.Net.Core/Entities/Emotes/Emote.cs +++ b/src/Discord.Net.Core/Entities/Emotes/Emote.cs @@ -86,7 +86,6 @@ namespace Discord var name = text.Substring(startIndex, splitIndex - startIndex); result = new Emote(id, name, animated); return true; - } public override string ToString() => $"<{(Animated ? "a" : "")}:{Name}:{Id}>"; diff --git a/src/Discord.Net.Core/Entities/Users/GuildUserProperties.cs b/src/Discord.Net.Core/Entities/Users/GuildUserProperties.cs index c4ab8ac34..952b0a84a 100644 --- a/src/Discord.Net.Core/Entities/Users/GuildUserProperties.cs +++ b/src/Discord.Net.Core/Entities/Users/GuildUserProperties.cs @@ -46,7 +46,8 @@ namespace Discord /// /// To add a role to a user: /// - /// To remove a role from a user: + /// To remove a role from a user: + /// /// public Optional> Roles { get; set; } diff --git a/src/Discord.Net.Core/Format.cs b/src/Discord.Net.Core/Format.cs index b9ebb5d3e..05e3e6717 100644 --- a/src/Discord.Net.Core/Format.cs +++ b/src/Discord.Net.Core/Format.cs @@ -28,9 +28,7 @@ namespace Discord } /// Sanitizes the string, safely escaping any Markdown sequences. - public static string Sanitize(string text) - { - return SensitiveCharacters.Aggregate(text, (current, unsafeChar) => current.Replace(unsafeChar, $"\\{unsafeChar}")); - } + public static string Sanitize(string text) => SensitiveCharacters.Aggregate(text, + (current, unsafeChar) => current.Replace(unsafeChar, $"\\{unsafeChar}")); } } diff --git a/src/Discord.Net.Core/Net/HttpException.cs b/src/Discord.Net.Core/Net/HttpException.cs index 1db2c3d3e..e1c8f6f5f 100644 --- a/src/Discord.Net.Core/Net/HttpException.cs +++ b/src/Discord.Net.Core/Net/HttpException.cs @@ -23,13 +23,13 @@ namespace Discord.Net { string msg; if (discordCode != null && discordCode != 0) - { - msg = reason != null ? $"The server responded with error {(int)discordCode}: {reason}" : $"The server responded with error {(int)discordCode}: {httpCode}"; - } + msg = reason != null + ? $"The server responded with error {(int)discordCode}: {reason}" + : $"The server responded with error {(int)discordCode}: {httpCode}"; else - { - msg = reason != null ? $"The server responded with error {(int)httpCode}: {reason}" : $"The server responded with error {(int)httpCode}: {httpCode}"; - } + msg = reason != null + ? $"The server responded with error {(int)httpCode}: {reason}" + : $"The server responded with error {(int)httpCode}: {httpCode}"; return msg; } diff --git a/src/Discord.Net.Core/Utils/MentionUtils.cs b/src/Discord.Net.Core/Utils/MentionUtils.cs index 20d027d04..059e758c2 100644 --- a/src/Discord.Net.Core/Utils/MentionUtils.cs +++ b/src/Discord.Net.Core/Utils/MentionUtils.cs @@ -214,6 +214,7 @@ namespace Discord case TagHandling.Sanitize: return $"@{SanitizeChar}everyone"; } + return ""; } @@ -230,6 +231,7 @@ namespace Discord case TagHandling.Sanitize: return $"@{SanitizeChar}here"; } + return ""; } @@ -239,10 +241,7 @@ namespace Discord var emoji = (Emote)tag.Value; //Remove if its name contains any bad chars (prevents a few tag exploits) - if (emoji.Name.Any(c => !char.IsLetterOrDigit(c) && c != '_' && c != '-')) - { - return ""; - } + if (emoji.Name.Any(c => !char.IsLetterOrDigit(c) && c != '_' && c != '-')) return ""; switch (mode) { diff --git a/src/Discord.Net.Core/Utils/Permissions.cs b/src/Discord.Net.Core/Utils/Permissions.cs index 0683496ea..d046ee1a4 100644 --- a/src/Discord.Net.Core/Utils/Permissions.cs +++ b/src/Discord.Net.Core/Utils/Permissions.cs @@ -111,7 +111,8 @@ namespace Discord resolvedPermissions = GuildPermissions.Webhook.RawValue; else { - resolvedPermissions = user.RoleIds.Aggregate(resolvedPermissions, (current, roleId) => current | (guild.GetRole(roleId)?.Permissions.RawValue ?? 0)); + resolvedPermissions = user.RoleIds.Aggregate(resolvedPermissions, + (current, roleId) => current | (guild.GetRole(roleId)?.Permissions.RawValue ?? 0)); if (GetValue(resolvedPermissions, GuildPermission.Administrator)) resolvedPermissions = GuildPermissions.All.RawValue; //Administrators always have all permissions } diff --git a/src/Discord.Net.Providers.WS4Net/WS4NetClient.cs b/src/Discord.Net.Providers.WS4Net/WS4NetClient.cs index 6d25b23cf..f8ad89008 100644 --- a/src/Discord.Net.Providers.WS4Net/WS4NetClient.cs +++ b/src/Discord.Net.Providers.WS4Net/WS4NetClient.cs @@ -16,11 +16,11 @@ namespace Discord.Net.Providers.WS4Net private readonly Dictionary _headers; private readonly SemaphoreSlim _lock; + private readonly ManualResetEventSlim _waitUntilConnect; private CancellationToken _cancelToken, _parentToken; private CancellationTokenSource _cancelTokenSource; private WS4NetSocket _client; private bool _isDisposed; - private readonly ManualResetEventSlim _waitUntilConnect; public WS4NetClient() { diff --git a/src/Discord.Net.Rest/Entities/AuditLogs/AuditLogHelper.cs b/src/Discord.Net.Rest/Entities/AuditLogs/AuditLogHelper.cs index 969f9788c..576f78407 100644 --- a/src/Discord.Net.Rest/Entities/AuditLogs/AuditLogHelper.cs +++ b/src/Discord.Net.Rest/Entities/AuditLogs/AuditLogHelper.cs @@ -47,9 +47,7 @@ namespace Discord.Rest [ActionType.MessageDeleted] = MessageDeleteAuditLogData.Create }; - public static IAuditLogData CreateData(BaseDiscordClient discord, Model log, EntryModel entry) - { - return CreateMapping.TryGetValue(entry.Action, out var func) ? func(discord, log, entry) : null; - } + public static IAuditLogData CreateData(BaseDiscordClient discord, Model log, EntryModel entry) => + CreateMapping.TryGetValue(entry.Action, out var func) ? func(discord, log, entry) : null; } } diff --git a/src/Discord.Net.Rest/Entities/Channels/RestDMChannel.cs b/src/Discord.Net.Rest/Entities/Channels/RestDMChannel.cs index d5ea56038..c69f2b052 100644 --- a/src/Discord.Net.Rest/Entities/Channels/RestDMChannel.cs +++ b/src/Discord.Net.Rest/Entities/Channels/RestDMChannel.cs @@ -52,22 +52,19 @@ namespace Discord.Rest } IAsyncEnumerable> IMessageChannel.GetMessagesAsync(int limit, CacheMode mode, - RequestOptions options) - { - return mode == CacheMode.AllowDownload ? GetMessagesAsync(limit, options) : AsyncEnumerable.Empty>(); - } + RequestOptions options) => mode == CacheMode.AllowDownload + ? GetMessagesAsync(limit, options) + : AsyncEnumerable.Empty>(); IAsyncEnumerable> IMessageChannel.GetMessagesAsync(ulong fromMessageId, - Direction dir, int limit, CacheMode mode, RequestOptions options) - { - return mode == CacheMode.AllowDownload ? GetMessagesAsync(fromMessageId, dir, limit, options) : AsyncEnumerable.Empty>(); - } + Direction dir, int limit, CacheMode mode, RequestOptions options) => mode == CacheMode.AllowDownload + ? GetMessagesAsync(fromMessageId, dir, limit, options) + : AsyncEnumerable.Empty>(); IAsyncEnumerable> IMessageChannel.GetMessagesAsync(IMessage fromMessage, - Direction dir, int limit, CacheMode mode, RequestOptions options) - { - return mode == CacheMode.AllowDownload ? GetMessagesAsync(fromMessage, dir, limit, options) : AsyncEnumerable.Empty>(); - } + Direction dir, int limit, CacheMode mode, RequestOptions options) => mode == CacheMode.AllowDownload + ? GetMessagesAsync(fromMessage, dir, limit, options) + : AsyncEnumerable.Empty>(); async Task> IMessageChannel.GetPinnedMessagesAsync(RequestOptions options) => await GetPinnedMessagesAsync(options).ConfigureAwait(false); diff --git a/src/Discord.Net.Rest/Entities/Channels/RestGroupChannel.cs b/src/Discord.Net.Rest/Entities/Channels/RestGroupChannel.cs index 4be8d2c75..82129ffbb 100644 --- a/src/Discord.Net.Rest/Entities/Channels/RestGroupChannel.cs +++ b/src/Discord.Net.Rest/Entities/Channels/RestGroupChannel.cs @@ -57,22 +57,19 @@ namespace Discord.Rest } IAsyncEnumerable> IMessageChannel.GetMessagesAsync(int limit, CacheMode mode, - RequestOptions options) - { - return mode == CacheMode.AllowDownload ? GetMessagesAsync(limit, options) : AsyncEnumerable.Empty>(); - } + RequestOptions options) => mode == CacheMode.AllowDownload + ? GetMessagesAsync(limit, options) + : AsyncEnumerable.Empty>(); IAsyncEnumerable> IMessageChannel.GetMessagesAsync(ulong fromMessageId, - Direction dir, int limit, CacheMode mode, RequestOptions options) - { - return mode == CacheMode.AllowDownload ? GetMessagesAsync(fromMessageId, dir, limit, options) : AsyncEnumerable.Empty>(); - } + Direction dir, int limit, CacheMode mode, RequestOptions options) => mode == CacheMode.AllowDownload + ? GetMessagesAsync(fromMessageId, dir, limit, options) + : AsyncEnumerable.Empty>(); IAsyncEnumerable> IMessageChannel.GetMessagesAsync(IMessage fromMessage, - Direction dir, int limit, CacheMode mode, RequestOptions options) - { - return mode == CacheMode.AllowDownload ? GetMessagesAsync(fromMessage, dir, limit, options) : AsyncEnumerable.Empty>(); - } + Direction dir, int limit, CacheMode mode, RequestOptions options) => mode == CacheMode.AllowDownload + ? GetMessagesAsync(fromMessage, dir, limit, options) + : AsyncEnumerable.Empty>(); async Task> IMessageChannel.GetPinnedMessagesAsync(RequestOptions options) => await GetPinnedMessagesAsync(options).ConfigureAwait(false); @@ -170,10 +167,7 @@ namespace Discord.Rest _users = users.ToImmutable(); } - public RestUser GetUser(ulong id) - { - return _users.TryGetValue(id, out var user) ? user : null; - } + public RestUser GetUser(ulong id) => _users.TryGetValue(id, out var user) ? user : null; public IDisposable EnterTypingState(RequestOptions options = null) => ChannelHelper.EnterTypingState(this, Discord, options); diff --git a/src/Discord.Net.Rest/Entities/Channels/RestTextChannel.cs b/src/Discord.Net.Rest/Entities/Channels/RestTextChannel.cs index 75701a688..adbff15bb 100644 --- a/src/Discord.Net.Rest/Entities/Channels/RestTextChannel.cs +++ b/src/Discord.Net.Rest/Entities/Channels/RestTextChannel.cs @@ -66,24 +66,19 @@ namespace Discord.Rest } IAsyncEnumerable> IMessageChannel.GetMessagesAsync(int limit, CacheMode mode, - RequestOptions options) - { - return mode == CacheMode.AllowDownload - ? GetMessagesAsync(limit, options) - : AsyncEnumerable.Empty>(); - } + RequestOptions options) => mode == CacheMode.AllowDownload + ? GetMessagesAsync(limit, options) + : AsyncEnumerable.Empty>(); IAsyncEnumerable> IMessageChannel.GetMessagesAsync(ulong fromMessageId, - Direction dir, int limit, CacheMode mode, RequestOptions options) - { - return mode == CacheMode.AllowDownload ? GetMessagesAsync(fromMessageId, dir, limit, options) : AsyncEnumerable.Empty>(); - } + Direction dir, int limit, CacheMode mode, RequestOptions options) => mode == CacheMode.AllowDownload + ? GetMessagesAsync(fromMessageId, dir, limit, options) + : AsyncEnumerable.Empty>(); IAsyncEnumerable> IMessageChannel.GetMessagesAsync(IMessage fromMessage, - Direction dir, int limit, CacheMode mode, RequestOptions options) - { - return mode == CacheMode.AllowDownload ? GetMessagesAsync(fromMessage, dir, limit, options) : AsyncEnumerable.Empty>(); - } + Direction dir, int limit, CacheMode mode, RequestOptions options) => mode == CacheMode.AllowDownload + ? GetMessagesAsync(fromMessage, dir, limit, options) + : AsyncEnumerable.Empty>(); async Task> IMessageChannel.GetPinnedMessagesAsync(RequestOptions options) => await GetPinnedMessagesAsync(options).ConfigureAwait(false); @@ -111,10 +106,10 @@ namespace Discord.Rest return null; } - IAsyncEnumerable> IChannel.GetUsersAsync(CacheMode mode, RequestOptions options) - { - return mode == CacheMode.AllowDownload ? GetUsersAsync(options) : AsyncEnumerable.Empty>(); - } + IAsyncEnumerable> IChannel.GetUsersAsync(CacheMode mode, RequestOptions options) => + mode == CacheMode.AllowDownload + ? GetUsersAsync(options) + : AsyncEnumerable.Empty>(); public string Topic { get; private set; } public ulong? CategoryId { get; private set; } @@ -153,10 +148,9 @@ namespace Discord.Rest } IAsyncEnumerable> IGuildChannel.GetUsersAsync(CacheMode mode, - RequestOptions options) - { - return mode == CacheMode.AllowDownload ? GetUsersAsync(options) : AsyncEnumerable.Empty>(); - } + RequestOptions options) => mode == CacheMode.AllowDownload + ? GetUsersAsync(options) + : AsyncEnumerable.Empty>(); // INestedChannel async Task INestedChannel.GetCategoryAsync(CacheMode mode, RequestOptions options) diff --git a/src/Discord.Net.Rest/Entities/Channels/RpcVirtualMessageChannel.cs b/src/Discord.Net.Rest/Entities/Channels/RpcVirtualMessageChannel.cs index 3cc1a8d4f..2dba07a83 100644 --- a/src/Discord.Net.Rest/Entities/Channels/RpcVirtualMessageChannel.cs +++ b/src/Discord.Net.Rest/Entities/Channels/RpcVirtualMessageChannel.cs @@ -38,22 +38,19 @@ namespace Discord.Rest } IAsyncEnumerable> IMessageChannel.GetMessagesAsync(int limit, CacheMode mode, - RequestOptions options) - { - return mode == CacheMode.AllowDownload ? GetMessagesAsync(limit, options) : AsyncEnumerable.Empty>(); - } + RequestOptions options) => mode == CacheMode.AllowDownload + ? GetMessagesAsync(limit, options) + : AsyncEnumerable.Empty>(); IAsyncEnumerable> IMessageChannel.GetMessagesAsync(ulong fromMessageId, - Direction dir, int limit, CacheMode mode, RequestOptions options) - { - return mode == CacheMode.AllowDownload ? GetMessagesAsync(fromMessageId, dir, limit, options) : AsyncEnumerable.Empty>(); - } + Direction dir, int limit, CacheMode mode, RequestOptions options) => mode == CacheMode.AllowDownload + ? GetMessagesAsync(fromMessageId, dir, limit, options) + : AsyncEnumerable.Empty>(); IAsyncEnumerable> IMessageChannel.GetMessagesAsync(IMessage fromMessage, - Direction dir, int limit, CacheMode mode, RequestOptions options) - { - return mode == CacheMode.AllowDownload ? GetMessagesAsync(fromMessage, dir, limit, options) : AsyncEnumerable.Empty>(); - } + Direction dir, int limit, CacheMode mode, RequestOptions options) => mode == CacheMode.AllowDownload + ? GetMessagesAsync(fromMessage, dir, limit, options) + : AsyncEnumerable.Empty>(); async Task> IMessageChannel.GetPinnedMessagesAsync(RequestOptions options) => await GetPinnedMessagesAsync(options); diff --git a/src/Discord.Net.Rest/Entities/Guilds/RestGuild.cs b/src/Discord.Net.Rest/Entities/Guilds/RestGuild.cs index dd2a6425e..55f382a2c 100644 --- a/src/Discord.Net.Rest/Entities/Guilds/RestGuild.cs +++ b/src/Discord.Net.Rest/Entities/Guilds/RestGuild.cs @@ -4,7 +4,6 @@ using System.Collections.Immutable; using System.Diagnostics; using System.Linq; using System.Threading.Tasks; -using Discord.API; using Discord.Audio; using EmbedModel = Discord.API.GuildEmbed; using Model = Discord.API.Guild; @@ -473,10 +472,7 @@ namespace Discord.Rest => GuildHelper.GetVanityInviteAsync(this, Discord, options); //Roles - public RestRole GetRole(ulong id) - { - return _roles.TryGetValue(id, out var value) ? value : null; - } + public RestRole GetRole(ulong id) => _roles.TryGetValue(id, out var value) ? value : null; public async Task CreateRoleAsync(string name, GuildPermissions? permissions = default(GuildPermissions?), Color? color = default(Color?), diff --git a/src/Discord.Net.Rest/Entities/Messages/MessageHelper.cs b/src/Discord.Net.Rest/Entities/Messages/MessageHelper.cs index db30ddb40..eda968105 100644 --- a/src/Discord.Net.Rest/Entities/Messages/MessageHelper.cs +++ b/src/Discord.Net.Rest/Entities/Messages/MessageHelper.cs @@ -204,7 +204,9 @@ namespace Discord.Rest return MessageSource.System; if (msg.WebhookId.IsSpecified) return MessageSource.Webhook; - return msg.Author.GetValueOrDefault()?.Bot.GetValueOrDefault(false) == true ? MessageSource.Bot : MessageSource.User; + return msg.Author.GetValueOrDefault()?.Bot.GetValueOrDefault(false) == true + ? MessageSource.Bot + : MessageSource.User; } } } diff --git a/src/Discord.Net.Rest/Entities/Users/RestUser.cs b/src/Discord.Net.Rest/Entities/Users/RestUser.cs index e9a2880f1..4d6f350c2 100644 --- a/src/Discord.Net.Rest/Entities/Users/RestUser.cs +++ b/src/Discord.Net.Rest/Entities/Users/RestUser.cs @@ -49,7 +49,9 @@ namespace Discord.Rest internal static RestUser Create(BaseDiscordClient discord, IGuild guild, Model model, ulong? webhookId) { RestUser entity; - entity = webhookId.HasValue ? new RestWebhookUser(discord, guild, model.Id, webhookId.Value) : new RestUser(discord, model.Id); + entity = webhookId.HasValue + ? new RestWebhookUser(discord, guild, model.Id, webhookId.Value) + : new RestUser(discord, model.Id); entity.Update(model); return entity; } diff --git a/src/Discord.Net.Rest/Net/Converters/DiscordContractResolver.cs b/src/Discord.Net.Rest/Net/Converters/DiscordContractResolver.cs index b043b9ef1..aee1cc2ff 100644 --- a/src/Discord.Net.Rest/Net/Converters/DiscordContractResolver.cs +++ b/src/Discord.Net.Rest/Net/Converters/DiscordContractResolver.cs @@ -89,7 +89,9 @@ namespace Discord.Net.Converters var typeInfo = type.GetTypeInfo(); if (typeInfo.ImplementedInterfaces.Any(x => x == typeof(IEntity))) return UInt64EntityConverter.Instance; - return typeInfo.ImplementedInterfaces.Any(x => x == typeof(IEntity)) ? StringEntityConverter.Instance : null; + return typeInfo.ImplementedInterfaces.Any(x => x == typeof(IEntity)) + ? StringEntityConverter.Instance + : null; } private static bool ShouldSerialize(object owner, Delegate getter) => diff --git a/src/Discord.Net.Rest/Net/Queue/RequestQueue.cs b/src/Discord.Net.Rest/Net/Queue/RequestQueue.cs index bbdfbcbfe..099c820b0 100644 --- a/src/Discord.Net.Rest/Net/Queue/RequestQueue.cs +++ b/src/Discord.Net.Rest/Net/Queue/RequestQueue.cs @@ -14,8 +14,8 @@ namespace Discord.Net.Queue internal class RequestQueue : IDisposable { private readonly ConcurrentDictionary _buckets; - private readonly SemaphoreSlim _tokenLock; private readonly CancellationTokenSource _cancelToken; //Dispose token + private readonly SemaphoreSlim _tokenLock; private Task _cleanupTask; private CancellationTokenSource _clearToken; diff --git a/src/Discord.Net.WebSocket/Audio/AudioClient.cs b/src/Discord.Net.WebSocket/Audio/AudioClient.cs index b3f913201..ec85cbf5c 100644 --- a/src/Discord.Net.WebSocket/Audio/AudioClient.cs +++ b/src/Discord.Net.WebSocket/Audio/AudioClient.cs @@ -198,10 +198,8 @@ namespace Discord.Audio } } - internal AudioInStream GetInputStream(ulong id) - { - return _streams.TryGetValue(id, out var streamPair) ? streamPair.Reader : null; - } + internal AudioInStream GetInputStream(ulong id) => + _streams.TryGetValue(id, out var streamPair) ? streamPair.Reader : null; internal async Task RemoveInputStreamAsync(ulong userId) { diff --git a/src/Discord.Net.WebSocket/Audio/Streams/BufferedWriteStream.cs b/src/Discord.Net.WebSocket/Audio/Streams/BufferedWriteStream.cs index 7211c3c19..e4cb2f7c7 100644 --- a/src/Discord.Net.WebSocket/Audio/Streams/BufferedWriteStream.cs +++ b/src/Discord.Net.WebSocket/Audio/Streams/BufferedWriteStream.cs @@ -133,7 +133,9 @@ namespace Discord.Audio.Streams public override async Task WriteAsync(byte[] data, int offset, int count, CancellationToken cancelToken) { - cancelToken = cancelToken.CanBeCanceled ? CancellationTokenSource.CreateLinkedTokenSource(cancelToken, _cancelToken).Token : _cancelToken; + cancelToken = cancelToken.CanBeCanceled + ? CancellationTokenSource.CreateLinkedTokenSource(cancelToken, _cancelToken).Token + : _cancelToken; await _queueLock.WaitAsync(-1, cancelToken).ConfigureAwait(false); if (!_bufferPool.TryDequeue(out var buffer)) diff --git a/src/Discord.Net.WebSocket/Audio/Streams/InputStream.cs b/src/Discord.Net.WebSocket/Audio/Streams/InputStream.cs index d8449d422..bce728d14 100644 --- a/src/Discord.Net.WebSocket/Audio/Streams/InputStream.cs +++ b/src/Discord.Net.WebSocket/Audio/Streams/InputStream.cs @@ -11,12 +11,12 @@ namespace Discord.Audio.Streams private const int MaxFrames = 100; //1-2 Seconds private readonly ConcurrentQueue _frames; + private readonly SemaphoreSlim _signal; private bool _hasHeader; private bool _isDisposed; private bool _nextMissed; private ushort _nextSeq; private uint _nextTimestamp; - private readonly SemaphoreSlim _signal; public InputStream() { diff --git a/src/Discord.Net.WebSocket/Audio/Streams/JitterBuffer.cs b/src/Discord.Net.WebSocket/Audio/Streams/JitterBuffer.cs index be54ae6fe..242296993 100644 --- a/src/Discord.Net.WebSocket/Audio/Streams/JitterBuffer.cs +++ b/src/Discord.Net.WebSocket/Audio/Streams/JitterBuffer.cs @@ -246,3 +246,4 @@ namespace Discord.Audio.Streams }*/ + diff --git a/src/Discord.Net.WebSocket/Audio/Streams/RTPWriteStream.cs b/src/Discord.Net.WebSocket/Audio/Streams/RTPWriteStream.cs index 34133116d..1f5ffa702 100644 --- a/src/Discord.Net.WebSocket/Audio/Streams/RTPWriteStream.cs +++ b/src/Discord.Net.WebSocket/Audio/Streams/RTPWriteStream.cs @@ -10,10 +10,10 @@ namespace Discord.Audio.Streams protected readonly byte[] _buffer; private readonly byte[] _header; private readonly AudioStream _next; + private readonly uint _ssrc; private bool _hasHeader; private ushort _nextSeq; private uint _nextTimestamp; - private readonly uint _ssrc; public RTPWriteStream(AudioStream next, uint ssrc, int bufferSize = 4000) { diff --git a/src/Discord.Net.WebSocket/ClientState.cs b/src/Discord.Net.WebSocket/ClientState.cs index 525a8f173..79a1a0edd 100644 --- a/src/Discord.Net.WebSocket/ClientState.cs +++ b/src/Discord.Net.WebSocket/ClientState.cs @@ -47,15 +47,10 @@ namespace Discord.WebSocket _groupChannels.Select(x => GetChannel(x) as ISocketPrivateChannel)) .ToReadOnlyCollection(() => _dmChannels.Count + _groupChannels.Count); - internal SocketChannel GetChannel(ulong id) - { - return _channels.TryGetValue(id, out var channel) ? channel : null; - } + internal SocketChannel GetChannel(ulong id) => _channels.TryGetValue(id, out var channel) ? channel : null; - internal SocketDMChannel GetDMChannel(ulong userId) - { - return _dmChannels.TryGetValue(userId, out var channel) ? channel : null; - } + internal SocketDMChannel GetDMChannel(ulong userId) => + _dmChannels.TryGetValue(userId, out var channel) ? channel : null; internal void AddChannel(SocketChannel channel) { @@ -86,32 +81,19 @@ namespace Discord.WebSocket } return channel; - } - internal SocketGuild GetGuild(ulong id) - { - return _guilds.TryGetValue(id, out var guild) ? guild : null; - } + internal SocketGuild GetGuild(ulong id) => _guilds.TryGetValue(id, out var guild) ? guild : null; internal void AddGuild(SocketGuild guild) => _guilds[guild.Id] = guild; - internal SocketGuild RemoveGuild(ulong id) - { - return _guilds.TryRemove(id, out var guild) ? guild : null; - } + internal SocketGuild RemoveGuild(ulong id) => _guilds.TryRemove(id, out var guild) ? guild : null; - internal SocketGlobalUser GetUser(ulong id) - { - return _users.TryGetValue(id, out var user) ? user : null; - } + internal SocketGlobalUser GetUser(ulong id) => _users.TryGetValue(id, out var user) ? user : null; internal SocketGlobalUser GetOrAddUser(ulong id, Func userFactory) => _users.GetOrAdd(id, userFactory); - internal SocketGlobalUser RemoveUser(ulong id) - { - return _users.TryRemove(id, out var user) ? user : null; - } + internal SocketGlobalUser RemoveUser(ulong id) => _users.TryRemove(id, out var user) ? user : null; } } diff --git a/src/Discord.Net.WebSocket/DiscordShardedClient.cs b/src/Discord.Net.WebSocket/DiscordShardedClient.cs index ff2525c64..64b8c5f59 100644 --- a/src/Discord.Net.WebSocket/DiscordShardedClient.cs +++ b/src/Discord.Net.WebSocket/DiscordShardedClient.cs @@ -11,11 +11,11 @@ namespace Discord.WebSocket { public partial class DiscordShardedClient : BaseSocketClient, IDiscordClient { + private readonly bool _automaticShards; private readonly DiscordSocketConfig _baseConfig; private readonly SemaphoreSlim _connectionGroupLock; - private readonly bool _automaticShards; - private int[] _shardIds; private readonly Dictionary _shardIdsToIndex; + private int[] _shardIds; private DiscordSocketClient[] _shards; private int _totalShards; @@ -192,10 +192,7 @@ namespace Discord.WebSocket } } - public DiscordSocketClient GetShard(int id) - { - return _shardIdsToIndex.TryGetValue(id, out id) ? _shards[id] : null; - } + public DiscordSocketClient GetShard(int id) => _shardIdsToIndex.TryGetValue(id, out id) ? _shards[id] : null; private int GetShardIdFor(ulong guildId) => (int)((guildId >> 22) % (uint)_totalShards); @@ -218,42 +215,24 @@ namespace Discord.WebSocket => GetShardFor(id).GetGuild(id); /// - public override SocketChannel GetChannel(ulong id) - { - return _shards.Select(t => t.GetChannel(id)).FirstOrDefault(channel => channel != null); - } + public override SocketChannel GetChannel(ulong id) => + _shards.Select(t => t.GetChannel(id)).FirstOrDefault(channel => channel != null); - private IEnumerable GetPrivateChannels() - { - return _shards.SelectMany(t => t.PrivateChannels); - } + private IEnumerable GetPrivateChannels() => _shards.SelectMany(t => t.PrivateChannels); - private int GetPrivateChannelCount() - { - return _shards.Sum(t => t.PrivateChannels.Count); - } + private int GetPrivateChannelCount() => _shards.Sum(t => t.PrivateChannels.Count); - private IEnumerable GetGuilds() - { - return _shards.SelectMany(t => t.Guilds); - } + private IEnumerable GetGuilds() => _shards.SelectMany(t => t.Guilds); - private int GetGuildCount() - { - return _shards.Sum(t => t.Guilds.Count); - } + private int GetGuildCount() => _shards.Sum(t => t.Guilds.Count); /// - public override SocketUser GetUser(ulong id) - { - return _shards.Select(t => t.GetUser(id)).FirstOrDefault(user => user != null); - } + public override SocketUser GetUser(ulong id) => + _shards.Select(t => t.GetUser(id)).FirstOrDefault(user => user != null); /// - public override SocketUser GetUser(string username, string discriminator) - { - return _shards.Select(t => t.GetUser(username, discriminator)).FirstOrDefault(user => user != null); - } + public override SocketUser GetUser(string username, string discriminator) => _shards + .Select(t => t.GetUser(username, discriminator)).FirstOrDefault(user => user != null); /// public override RestVoiceRegion GetVoiceRegion(string id) diff --git a/src/Discord.Net.WebSocket/DiscordSocketApiClient.cs b/src/Discord.Net.WebSocket/DiscordSocketApiClient.cs index f1cd10c02..b90d77f4c 100644 --- a/src/Discord.Net.WebSocket/DiscordSocketApiClient.cs +++ b/src/Discord.Net.WebSocket/DiscordSocketApiClient.cs @@ -18,6 +18,7 @@ namespace Discord.API internal class DiscordSocketApiClient : DiscordRestApiClient { private readonly AsyncEvent> _disconnectedEvent = new AsyncEvent>(); + private readonly bool _isExplicitUrl; private readonly AsyncEvent> _receivedGatewayEvent = new AsyncEvent>(); @@ -31,7 +32,6 @@ namespace Discord.API private CancellationTokenSource _connectCancelToken; private DeflateStream _decompressor; private string _gatewayUrl; - private readonly bool _isExplicitUrl; public DiscordSocketApiClient(RestClientProvider restClientProvider, WebSocketProvider webSocketProvider, string userAgent, diff --git a/src/Discord.Net.WebSocket/DiscordSocketClient.cs b/src/Discord.Net.WebSocket/DiscordSocketClient.cs index ea41a2064..1654028c4 100644 --- a/src/Discord.Net.WebSocket/DiscordSocketClient.cs +++ b/src/Discord.Net.WebSocket/DiscordSocketClient.cs @@ -357,10 +357,8 @@ namespace Discord.WebSocket => State.RemoveUser(id); /// - public override RestVoiceRegion GetVoiceRegion(string id) - { - return _voiceRegions.TryGetValue(id, out var region) ? region : null; - } + public override RestVoiceRegion GetVoiceRegion(string id) => + _voiceRegions.TryGetValue(id, out var region) ? region : null; /// Downloads the users list for the provided guilds, if they don't have a complete list. public override async Task DownloadUsersAsync(IEnumerable guilds) @@ -1152,7 +1150,7 @@ namespace Discord.WebSocket author = guild.GetUser(data.Author.Value.Id); } else - author = ((SocketChannel) channel).GetUser(data.Author.Value.Id); + author = ((SocketChannel)channel).GetUser(data.Author.Value.Id); if (author == null) { @@ -1205,8 +1203,11 @@ namespace Discord.WebSocket else if (data.Author.IsSpecified) { //Edited message isnt in cache, create a detached one - var author = (guild != null ? guild.GetUser(data.Author.Value.Id) : ((SocketChannel) channel).GetUser(data.Author.Value.Id)) ?? - SocketUnknownUser.Create(this, State, data.Author.Value); + var author = + (guild != null + ? guild.GetUser(data.Author.Value.Id) + : ((SocketChannel)channel).GetUser(data.Author.Value.Id)) ?? + SocketUnknownUser.Create(this, State, data.Author.Value); after = SocketMessage.Create(this, State, author, channel, data); } diff --git a/src/Discord.Net.WebSocket/DiscordVoiceApiClient.cs b/src/Discord.Net.WebSocket/DiscordVoiceApiClient.cs index df54def6e..346450e81 100644 --- a/src/Discord.Net.WebSocket/DiscordVoiceApiClient.cs +++ b/src/Discord.Net.WebSocket/DiscordVoiceApiClient.cs @@ -37,10 +37,10 @@ namespace Discord.Audio new AsyncEvent>(); private readonly JsonSerializer _serializer; + private readonly IUdpSocket _udp; private CancellationTokenSource _connectCancelToken; private bool _isDisposed; private ulong _nextKeepalive; - private readonly IUdpSocket _udp; internal DiscordVoiceAPIClient(ulong guildId, WebSocketProvider webSocketProvider, UdpSocketProvider udpSocketProvider, JsonSerializer serializer = null) diff --git a/src/Discord.Net.WebSocket/Entities/Channels/SocketChannelHelper.cs b/src/Discord.Net.WebSocket/Entities/Channels/SocketChannelHelper.cs index 55a980ccb..26d7c8639 100644 --- a/src/Discord.Net.WebSocket/Entities/Channels/SocketChannelHelper.cs +++ b/src/Discord.Net.WebSocket/Entities/Channels/SocketChannelHelper.cs @@ -23,7 +23,9 @@ namespace Discord.WebSocket if (dir == Direction.Before || mode == CacheMode.CacheOnly) { - cachedMessages = messages != null ? messages.GetMany(fromMessageId, dir, limit) : ImmutableArray.Create(); + cachedMessages = messages != null + ? messages.GetMany(fromMessageId, dir, limit) + : ImmutableArray.Create(); result = ImmutableArray.Create(cachedMessages).ToAsyncEnumerable>(); } @@ -45,10 +47,9 @@ namespace Discord.WebSocket public static IReadOnlyCollection GetCachedMessages(SocketChannel channel, DiscordSocketClient discord, MessageCache messages, - ulong? fromMessageId, Direction dir, int limit) - { - return messages != null ? messages.GetMany(fromMessageId, dir, limit) : ImmutableArray.Create(); - } + ulong? fromMessageId, Direction dir, int limit) => messages != null + ? messages.GetMany(fromMessageId, dir, limit) + : ImmutableArray.Create(); public static void AddMessage(ISocketMessageChannel channel, DiscordSocketClient discord, SocketMessage msg) diff --git a/src/Discord.Net.WebSocket/Entities/Channels/SocketGroupChannel.cs b/src/Discord.Net.WebSocket/Entities/Channels/SocketGroupChannel.cs index 835889532..24c92db62 100644 --- a/src/Discord.Net.WebSocket/Entities/Channels/SocketGroupChannel.cs +++ b/src/Discord.Net.WebSocket/Entities/Channels/SocketGroupChannel.cs @@ -19,10 +19,10 @@ namespace Discord.WebSocket ISocketAudioChannel { private readonly MessageCache _messages; + private readonly ConcurrentDictionary _voiceStates; private string _iconId; private ConcurrentDictionary _users; - private readonly ConcurrentDictionary _voiceStates; internal SocketGroupChannel(DiscordSocketClient discord, ulong id) : base(discord, id) @@ -211,10 +211,7 @@ namespace Discord.WebSocket => _messages?.Remove(id); //Users - public new SocketGroupUser GetUser(ulong id) - { - return _users.TryGetValue(id, out var user) ? user : null; - } + public new SocketGroupUser GetUser(ulong id) => _users.TryGetValue(id, out var user) ? user : null; internal SocketGroupUser GetOrAddUser(UserModel model) { @@ -231,7 +228,6 @@ namespace Discord.WebSocket if (!_users.TryRemove(id, out var user)) return null; user.GlobalUser.RemoveRef(Discord); return user; - } //Voice States diff --git a/src/Discord.Net.WebSocket/Entities/Guilds/SocketGuild.cs b/src/Discord.Net.WebSocket/Entities/Guilds/SocketGuild.cs index 8c3fb3944..619c2129d 100644 --- a/src/Discord.Net.WebSocket/Entities/Guilds/SocketGuild.cs +++ b/src/Discord.Net.WebSocket/Entities/Guilds/SocketGuild.cs @@ -523,10 +523,7 @@ namespace Discord.WebSocket => GuildHelper.GetVanityInviteAsync(this, Discord, options); //Roles - public SocketRole GetRole(ulong id) - { - return _roles.TryGetValue(id, out var value) ? value : null; - } + public SocketRole GetRole(ulong id) => _roles.TryGetValue(id, out var value) ? value : null; public Task CreateRoleAsync(string name, GuildPermissions? permissions = default(GuildPermissions?), Color? color = default(Color?), @@ -540,16 +537,10 @@ namespace Discord.WebSocket return role; } - internal SocketRole RemoveRole(ulong id) - { - return _roles.TryRemove(id, out var role) ? role : null; - } + internal SocketRole RemoveRole(ulong id) => _roles.TryRemove(id, out var role) ? role : null; //Users - public SocketGuildUser GetUser(ulong id) - { - return _members.TryGetValue(id, out var member) ? member : null; - } + public SocketGuildUser GetUser(ulong id) => _members.TryGetValue(id, out var member) ? member : null; internal SocketGuildUser AddOrUpdateUser(UserModel model) { @@ -602,7 +593,6 @@ namespace Discord.WebSocket DownloadedMemberCount--; member.GlobalUser.RemoveRef(Discord); return member; - } internal void CompleteDownloadUsers() => _downloaderPromise.TrySetResultAsync(true); diff --git a/src/Discord.Net.WebSocket/Entities/Messages/MessageCache.cs b/src/Discord.Net.WebSocket/Entities/Messages/MessageCache.cs index 613d910b6..d30a9a312 100644 --- a/src/Discord.Net.WebSocket/Entities/Messages/MessageCache.cs +++ b/src/Discord.Net.WebSocket/Entities/Messages/MessageCache.cs @@ -37,10 +37,7 @@ namespace Discord.WebSocket return msg; } - public SocketMessage Get(ulong id) - { - return _messages.TryGetValue(id, out var result) ? result : null; - } + public SocketMessage Get(ulong id) => _messages.TryGetValue(id, out var result) ? result : null; public IReadOnlyCollection GetMany(ulong? fromMessageId, Direction dir, int limit = DiscordConfig.MaxMessagesPerBatch) @@ -60,10 +57,7 @@ namespace Discord.WebSocket cachedMessageIds = cachedMessageIds.Reverse(); return cachedMessageIds - .Select(x => - { - return _messages.TryGetValue(x, out var msg) ? msg : null; - }) + .Select(x => { return _messages.TryGetValue(x, out var msg) ? msg : null; }) .Where(x => x != null) .Take(limit) .ToImmutableArray(); diff --git a/src/Discord.Net.WebSocket/Entities/Messages/SocketUserMessage.cs b/src/Discord.Net.WebSocket/Entities/Messages/SocketUserMessage.cs index f5ff3e17f..a9a45b5d5 100644 --- a/src/Discord.Net.WebSocket/Entities/Messages/SocketUserMessage.cs +++ b/src/Discord.Net.WebSocket/Entities/Messages/SocketUserMessage.cs @@ -12,11 +12,11 @@ namespace Discord.WebSocket [DebuggerDisplay(@"{" + nameof(DebuggerDisplay) + @",nq}")] public class SocketUserMessage : SocketMessage, IUserMessage { + private readonly List _reactions = new List(); private ImmutableArray _attachments; private long? _editedTimestampTicks; private ImmutableArray _embeds; private bool _isMentioningEveryone, _isTTS, _isPinned; - private readonly List _reactions = new List(); private ImmutableArray _tags; internal SocketUserMessage(DiscordSocketClient discord, ulong id, ISocketMessageChannel channel, @@ -142,10 +142,8 @@ namespace Discord.WebSocket { var newMentions = ImmutableArray.CreateBuilder(value.Length); foreach (var val in value) - { if (val.Object != null) newMentions.Add(SocketUnknownUser.Create(Discord, state, val.Object)); - } mentions = newMentions.ToImmutable(); } diff --git a/src/Discord.Net.WebSocket/Net/DefaultWebSocketClient.cs b/src/Discord.Net.WebSocket/Net/DefaultWebSocketClient.cs index 1aeffc73a..9771e52d5 100644 --- a/src/Discord.Net.WebSocket/Net/DefaultWebSocketClient.cs +++ b/src/Discord.Net.WebSocket/Net/DefaultWebSocketClient.cs @@ -18,11 +18,11 @@ namespace Discord.Net.WebSockets private readonly Dictionary _headers; private readonly SemaphoreSlim _lock; + private readonly IWebProxy _proxy; private CancellationToken _cancelToken, _parentToken; private CancellationTokenSource _cancelTokenSource; private ClientWebSocket _client; private bool _isDisposed, _isDisconnecting; - private readonly IWebProxy _proxy; private Task _task; public DefaultWebSocketClient(IWebProxy proxy = null) diff --git a/test/Discord.Net.Tests/Net/CachedRestClient.cs b/test/Discord.Net.Tests/Net/CachedRestClient.cs index e82f04419..ecd58b51d 100644 --- a/test/Discord.Net.Tests/Net/CachedRestClient.cs +++ b/test/Discord.Net.Tests/Net/CachedRestClient.cs @@ -15,11 +15,11 @@ namespace Discord.Net { internal class CachedRestClient : IRestClient { + private readonly IBlobCache _blobCache; + private readonly CancellationTokenSource _cancelTokenSource; private readonly Dictionary _headers; private string _baseUrl; - private readonly IBlobCache _blobCache; private CancellationToken _cancelToken, _parentToken; - private readonly CancellationTokenSource _cancelTokenSource; private bool _isDisposed; public CachedRestClient() diff --git a/test/Discord.Net.Tests/Tests.GuildPermissions.cs b/test/Discord.Net.Tests/Tests.GuildPermissions.cs index 0c677399e..835e57a3e 100644 --- a/test/Discord.Net.Tests/Tests.GuildPermissions.cs +++ b/test/Discord.Net.Tests/Tests.GuildPermissions.cs @@ -44,7 +44,8 @@ namespace Discord .Distinct() .ToArray(); // test GuildPermissions.All - var sumOfAllGuildPermissions = enumValues.Aggregate(0, (current, v) => current | (ulong)v); + var sumOfAllGuildPermissions = + enumValues.Aggregate(0, (current, v) => current | (ulong)v); // assert that the raw values match Assert.Equal(sumOfAllGuildPermissions, GuildPermissions.All.RawValue); diff --git a/test/Discord.Net.Tests/Tests.cs b/test/Discord.Net.Tests/Tests.cs index dee9636c9..673a267e9 100644 --- a/test/Discord.Net.Tests/Tests.cs +++ b/test/Discord.Net.Tests/Tests.cs @@ -41,8 +41,8 @@ namespace Discord public partial class Tests : IClassFixture { - private DiscordRestClient _client; private readonly RestGuild _guild; + private DiscordRestClient _client; public Tests(TestsFixture fixture) {