diff --git a/Geekbot.net/Commands/Admin/Mod.cs b/Geekbot.net/Commands/Admin/Mod.cs index 1188504..f4beb54 100644 --- a/Geekbot.net/Commands/Admin/Mod.cs +++ b/Geekbot.net/Commands/Admin/Mod.cs @@ -35,7 +35,7 @@ namespace Geekbot.net.Commands.Admin try { var userRepo = _userRepository.Get(user.Id); - if (userRepo != null && userRepo.UsedNames != null) + if (userRepo?.UsedNames != null) { var sb = new StringBuilder(); sb.AppendLine($":bust_in_silhouette: {user.Username} has been known as:"); @@ -50,7 +50,7 @@ namespace Geekbot.net.Commands.Admin catch (Exception e) { await _errorHandler.HandleCommandException(e, Context, - $"I don't have enough permissions do that"); + "I don't have enough permissions do that"); } } } diff --git a/Geekbot.net/Commands/Integrations/MagicTheGathering.cs b/Geekbot.net/Commands/Integrations/MagicTheGathering.cs index ef16fee..1075c46 100644 --- a/Geekbot.net/Commands/Integrations/MagicTheGathering.cs +++ b/Geekbot.net/Commands/Integrations/MagicTheGathering.cs @@ -41,9 +41,11 @@ namespace Geekbot.net.Commands.Integrations return; } - var eb = new EmbedBuilder(); - eb.Title = card.Name; - eb.Description = card.Type; + var eb = new EmbedBuilder + { + Title = card.Name, + Description = card.Type + }; if (card.Colors != null) eb.WithColor(GetColor(card.Colors)); @@ -74,21 +76,15 @@ namespace Geekbot.net.Commands.Integrations private Color GetColor(IEnumerable colors) { var color = colors.FirstOrDefault(); - switch (color) + return color switch { - case "Black": - return new Color(203, 194, 191); - case "White": - return new Color(255, 251, 213); - case "Blue": - return new Color(170, 224, 250); - case "Red": - return new Color(250, 170, 143); - case "Green": - return new Color(155, 211, 174); - default: - return new Color(204, 194, 212); - } + "Black" => new Color(203, 194, 191), + "White" => new Color(255, 251, 213), + "Blue" => new Color(170, 224, 250), + "Red" => new Color(250, 170, 143), + "Green" => new Color(155, 211, 174), + _ => new Color(204, 194, 212) + }; } } } \ No newline at end of file diff --git a/Geekbot.net/Commands/Integrations/UbranDictionary/UrbanDictionary.cs b/Geekbot.net/Commands/Integrations/UbranDictionary/UrbanDictionary.cs index 254c2bb..1f33573 100644 --- a/Geekbot.net/Commands/Integrations/UbranDictionary/UrbanDictionary.cs +++ b/Geekbot.net/Commands/Integrations/UbranDictionary/UrbanDictionary.cs @@ -25,43 +25,43 @@ namespace Geekbot.net.Commands.Integrations.UbranDictionary { try { - using (var client = new HttpClient()) + using var client = new HttpClient { - client.BaseAddress = new Uri("https://api.urbandictionary.com"); - var response = await client.GetAsync($"/v0/define?term={word}"); - response.EnsureSuccessStatusCode(); + BaseAddress = new Uri("https://api.urbandictionary.com") + }; + var response = await client.GetAsync($"/v0/define?term={word}"); + response.EnsureSuccessStatusCode(); - var stringResponse = await response.Content.ReadAsStringAsync(); - var definitions = JsonConvert.DeserializeObject(stringResponse); - if (definitions.List.Count == 0) - { - await ReplyAsync("That word hasn't been defined..."); - return; - } - - var definition = definitions.List.First(e => !string.IsNullOrWhiteSpace(e.Example)); - - var description = definition.Definition; - if (description.Length > 1801) - { - description = description.Substring(0, 1800) + " [...]"; - } - - var eb = new EmbedBuilder(); - eb.WithAuthor(new EmbedAuthorBuilder - { - Name = definition.Word, - Url = definition.Permalink - }); - eb.WithColor(new Color(239, 255, 0)); - if (!string.IsNullOrEmpty(definition.Definition)) eb.Description = description; - if (!string.IsNullOrEmpty(definition.Example)) eb.AddField("Example", definition.Example ?? "(no example given...)"); - if (!string.IsNullOrEmpty(definition.ThumbsUp)) eb.AddInlineField("Upvotes", definition.ThumbsUp); - if (!string.IsNullOrEmpty(definition.ThumbsDown)) eb.AddInlineField("Downvotes", definition.ThumbsDown); - if (definitions.Tags?.Length > 0) eb.AddField("Tags", string.Join(", ", definitions.Tags)); - - await ReplyAsync("", false, eb.Build()); + var stringResponse = await response.Content.ReadAsStringAsync(); + var definitions = JsonConvert.DeserializeObject(stringResponse); + if (definitions.List.Count == 0) + { + await ReplyAsync("That word hasn't been defined..."); + return; } + + var definition = definitions.List.First(e => !string.IsNullOrWhiteSpace(e.Example)); + + var description = definition.Definition; + if (description.Length > 1801) + { + description = description.Substring(0, 1800) + " [...]"; + } + + var eb = new EmbedBuilder(); + eb.WithAuthor(new EmbedAuthorBuilder + { + Name = definition.Word, + Url = definition.Permalink + }); + eb.WithColor(new Color(239, 255, 0)); + if (!string.IsNullOrEmpty(definition.Definition)) eb.Description = description; + if (!string.IsNullOrEmpty(definition.Example)) eb.AddField("Example", definition.Example ?? "(no example given...)"); + if (!string.IsNullOrEmpty(definition.ThumbsUp)) eb.AddInlineField("Upvotes", definition.ThumbsUp); + if (!string.IsNullOrEmpty(definition.ThumbsDown)) eb.AddInlineField("Downvotes", definition.ThumbsDown); + if (definitions.Tags?.Length > 0) eb.AddField("Tags", string.Join(", ", definitions.Tags)); + + await ReplyAsync("", false, eb.Build()); } catch (Exception e) { diff --git a/Geekbot.net/Commands/Randomness/Cat/Cat.cs b/Geekbot.net/Commands/Randomness/Cat/Cat.cs index 4d43a4c..3ac0764 100644 --- a/Geekbot.net/Commands/Randomness/Cat/Cat.cs +++ b/Geekbot.net/Commands/Randomness/Cat/Cat.cs @@ -23,24 +23,27 @@ namespace Geekbot.net.Commands.Randomness.Cat { try { - using (var client = new HttpClient()) + + try { - try + using var client = new HttpClient { - client.BaseAddress = new Uri("https://aws.random.cat"); - var response = await client.GetAsync("/meow"); - response.EnsureSuccessStatusCode(); + BaseAddress = new Uri("https://aws.random.cat") + }; + var response = await client.GetAsync("/meow"); + response.EnsureSuccessStatusCode(); - var stringResponse = await response.Content.ReadAsStringAsync(); - var catFile = JsonConvert.DeserializeObject(stringResponse); - var eb = new EmbedBuilder(); - eb.ImageUrl = catFile.File; - await ReplyAsync("", false, eb.Build()); - } - catch + var stringResponse = await response.Content.ReadAsStringAsync(); + var catFile = JsonConvert.DeserializeObject(stringResponse); + var eb = new EmbedBuilder { - await ReplyAsync("Seems like the dog cought the cat (error occured)"); - } + ImageUrl = catFile.File + }; + await ReplyAsync("", false, eb.Build()); + } + catch + { + await ReplyAsync("Seems like the dog cought the cat (error occured)"); } } catch (Exception e) diff --git a/Geekbot.net/Commands/Randomness/CheckEm.cs b/Geekbot.net/Commands/Randomness/CheckEm.cs index f8191ad..0596872 100644 --- a/Geekbot.net/Commands/Randomness/CheckEm.cs +++ b/Geekbot.net/Commands/Randomness/CheckEm.cs @@ -61,7 +61,7 @@ namespace Geekbot.net.Commands.Randomness while (num > 0) { listOfInts.Add(num % 10); - num = num / 10; + num /= 10; } listOfInts.Reverse(); diff --git a/Geekbot.net/Commands/Randomness/Chuck/ChuckNorrisJokes.cs b/Geekbot.net/Commands/Randomness/Chuck/ChuckNorrisJokes.cs index 07ea41f..5c28a9a 100644 --- a/Geekbot.net/Commands/Randomness/Chuck/ChuckNorrisJokes.cs +++ b/Geekbot.net/Commands/Randomness/Chuck/ChuckNorrisJokes.cs @@ -23,23 +23,21 @@ namespace Geekbot.net.Commands.Randomness.Chuck { try { - using (var client = new HttpClient()) + try { - try - { - client.DefaultRequestHeaders.Accept.Clear(); - client.DefaultRequestHeaders.Accept.Add(MediaTypeWithQualityHeaderValue.Parse("application/json")); - var response = await client.GetAsync("https://api.chucknorris.io/jokes/random"); - response.EnsureSuccessStatusCode(); + using var client = new HttpClient(); + client.DefaultRequestHeaders.Accept.Clear(); + client.DefaultRequestHeaders.Accept.Add(MediaTypeWithQualityHeaderValue.Parse("application/json")); + var response = await client.GetAsync("https://api.chucknorris.io/jokes/random"); + response.EnsureSuccessStatusCode(); - var stringResponse = await response.Content.ReadAsStringAsync(); - var data = JsonConvert.DeserializeObject(stringResponse); - await ReplyAsync(data.Value); - } - catch (HttpRequestException) - { - await ReplyAsync("Api down..."); - } + var stringResponse = await response.Content.ReadAsStringAsync(); + var data = JsonConvert.DeserializeObject(stringResponse); + await ReplyAsync(data.Value); + } + catch (HttpRequestException) + { + await ReplyAsync("Api down..."); } } catch (Exception e) diff --git a/Geekbot.net/Commands/Randomness/Dad/DadJokes.cs b/Geekbot.net/Commands/Randomness/Dad/DadJokes.cs index 2c51781..bcedd96 100644 --- a/Geekbot.net/Commands/Randomness/Dad/DadJokes.cs +++ b/Geekbot.net/Commands/Randomness/Dad/DadJokes.cs @@ -23,23 +23,21 @@ namespace Geekbot.net.Commands.Randomness.Dad { try { - using (var client = new HttpClient()) + try { - try - { - client.DefaultRequestHeaders.Accept.Clear(); - client.DefaultRequestHeaders.Accept.Add(MediaTypeWithQualityHeaderValue.Parse("application/json")); - var response = await client.GetAsync("https://icanhazdadjoke.com/"); - response.EnsureSuccessStatusCode(); + using var client = new HttpClient(); + client.DefaultRequestHeaders.Accept.Clear(); + client.DefaultRequestHeaders.Accept.Add(MediaTypeWithQualityHeaderValue.Parse("application/json")); + var response = await client.GetAsync("https://icanhazdadjoke.com/"); + response.EnsureSuccessStatusCode(); - var stringResponse = await response.Content.ReadAsStringAsync(); - var data = JsonConvert.DeserializeObject(stringResponse); - await ReplyAsync(data.Joke); - } - catch (HttpRequestException) - { - await ReplyAsync("Api down..."); - } + var stringResponse = await response.Content.ReadAsStringAsync(); + var data = JsonConvert.DeserializeObject(stringResponse); + await ReplyAsync(data.Joke); + } + catch (HttpRequestException) + { + await ReplyAsync("Api down..."); } } catch (Exception e) diff --git a/Geekbot.net/Commands/Randomness/Dog/Dog.cs b/Geekbot.net/Commands/Randomness/Dog/Dog.cs index 176cbad..d7404c6 100644 --- a/Geekbot.net/Commands/Randomness/Dog/Dog.cs +++ b/Geekbot.net/Commands/Randomness/Dog/Dog.cs @@ -23,24 +23,26 @@ namespace Geekbot.net.Commands.Randomness.Dog { try { - using (var client = new HttpClient()) + try { - try + using var client = new HttpClient { - client.BaseAddress = new Uri("http://random.dog"); - var response = await client.GetAsync("/woof.json"); - response.EnsureSuccessStatusCode(); + BaseAddress = new Uri("http://random.dog") + }; + var response = await client.GetAsync("/woof.json"); + response.EnsureSuccessStatusCode(); - var stringResponse = await response.Content.ReadAsStringAsync(); - var dogFile = JsonConvert.DeserializeObject(stringResponse); - var eb = new EmbedBuilder(); - eb.ImageUrl = dogFile.Url; - await ReplyAsync("", false, eb.Build()); - } - catch (HttpRequestException e) + var stringResponse = await response.Content.ReadAsStringAsync(); + var dogFile = JsonConvert.DeserializeObject(stringResponse); + var eb = new EmbedBuilder { - await ReplyAsync($"Seems like the dog got lost (error occured)\r\n{e.Message}"); - } + ImageUrl = dogFile.Url + }; + await ReplyAsync("", false, eb.Build()); + } + catch (HttpRequestException e) + { + await ReplyAsync($"Seems like the dog got lost (error occured)\r\n{e.Message}"); } } catch (Exception e) diff --git a/Geekbot.net/Commands/Randomness/Gdq.cs b/Geekbot.net/Commands/Randomness/Gdq.cs index 2685b33..4c16bed 100644 --- a/Geekbot.net/Commands/Randomness/Gdq.cs +++ b/Geekbot.net/Commands/Randomness/Gdq.cs @@ -21,13 +21,11 @@ namespace Geekbot.net.Commands.Randomness { try { - using (var client = new WebClient()) - { - var url = new Uri("http://taskinoz.com/gdq/api/"); - var response = client.DownloadString(url); + using var client = new WebClient(); + var url = new Uri("http://taskinoz.com/gdq/api/"); + var response = client.DownloadString(url); - await ReplyAsync(response); - } + await ReplyAsync(response); } catch (Exception e) { diff --git a/Geekbot.net/Commands/Randomness/Kanye/Kanye.cs b/Geekbot.net/Commands/Randomness/Kanye/Kanye.cs index dcd3bdc..36f1d1a 100644 --- a/Geekbot.net/Commands/Randomness/Kanye/Kanye.cs +++ b/Geekbot.net/Commands/Randomness/Kanye/Kanye.cs @@ -23,23 +23,21 @@ namespace Geekbot.net.Commands.Randomness.Kanye { try { - using (var client = new HttpClient()) + try { - try - { - client.DefaultRequestHeaders.Accept.Clear(); - client.DefaultRequestHeaders.Accept.Add(MediaTypeWithQualityHeaderValue.Parse("application/json")); - var response = await client.GetAsync("https://api.kanye.rest/"); - response.EnsureSuccessStatusCode(); + using var client = new HttpClient(); + client.DefaultRequestHeaders.Accept.Clear(); + client.DefaultRequestHeaders.Accept.Add(MediaTypeWithQualityHeaderValue.Parse("application/json")); + var response = await client.GetAsync("https://api.kanye.rest/"); + response.EnsureSuccessStatusCode(); - var stringResponse = await response.Content.ReadAsStringAsync(); - var data = JsonConvert.DeserializeObject(stringResponse); - await ReplyAsync(data.Quote); - } - catch (HttpRequestException) - { - await ReplyAsync("Api down..."); - } + var stringResponse = await response.Content.ReadAsStringAsync(); + var data = JsonConvert.DeserializeObject(stringResponse); + await ReplyAsync(data.Quote); + } + catch (HttpRequestException) + { + await ReplyAsync("Api down..."); } } catch (Exception e) diff --git a/Geekbot.net/Commands/Randomness/Ship.cs b/Geekbot.net/Commands/Randomness/Ship.cs index 2571891..bf52a73 100644 --- a/Geekbot.net/Commands/Randomness/Ship.cs +++ b/Geekbot.net/Commands/Randomness/Ship.cs @@ -56,8 +56,8 @@ namespace Geekbot.net.Commands.Randomness } var reply = ":heartpulse: **Matchmaking** :heartpulse:\r\n"; - reply = reply + $":two_hearts: {user1.Mention} :heart: {user2.Mention} :two_hearts:\r\n"; - reply = reply + $"0% [{BlockCounter(shippingRate)}] 100% - {DeterminateSuccess(shippingRate)}"; + reply += $":two_hearts: {user1.Mention} :heart: {user2.Mention} :two_hearts:\r\n"; + reply += $"0% [{BlockCounter(shippingRate)}] 100% - {DeterminateSuccess(shippingRate)}"; await ReplyAsync(reply); } catch (Exception e) @@ -87,13 +87,13 @@ namespace Geekbot.net.Commands.Randomness for (var i = 1; i <= 10; i++) if (i <= amount) { - blocks = blocks + ":white_medium_small_square:"; + blocks += ":white_medium_small_square:"; if (i == amount) - blocks = blocks + $" {rate}% "; + blocks += $" {rate}% "; } else { - blocks = blocks + ":black_medium_small_square:"; + blocks += ":black_medium_small_square:"; } return blocks; diff --git a/Geekbot.net/Commands/User/Karma.cs b/Geekbot.net/Commands/User/Karma.cs index ed221ff..bf85c91 100644 --- a/Geekbot.net/Commands/User/Karma.cs +++ b/Geekbot.net/Commands/User/Karma.cs @@ -46,7 +46,7 @@ namespace Geekbot.net.Commands.User else { var target = await GetUser(user.Id); - target.Karma = target.Karma + 1; + target.Karma += 1; SetUser(target); actor.TimeOut = DateTimeOffset.Now; @@ -93,7 +93,7 @@ namespace Geekbot.net.Commands.User else { var target = await GetUser(user.Id); - target.Karma = target.Karma - 1; + target.Karma -= 1; SetUser(target); actor.TimeOut = DateTimeOffset.Now; diff --git a/Geekbot.net/Commands/User/Ranking/Rank.cs b/Geekbot.net/Commands/User/Ranking/Rank.cs index 0ad21d5..9021b4e 100644 --- a/Geekbot.net/Commands/User/Ranking/Rank.cs +++ b/Geekbot.net/Commands/User/Ranking/Rank.cs @@ -74,7 +74,7 @@ namespace Geekbot.net.Commands.User.Ranking return; } - int guildMessages = 0; + var guildMessages = 0; if (type == HighscoreTypes.messages) { guildMessages = _database.Messages @@ -99,7 +99,7 @@ namespace Geekbot.net.Commands.User.Ranking : $"**{user.Key.Id}**"); replyBuilder.Append(type == HighscoreTypes.messages - ? $" - {user.Value} {type} - {Math.Round((double) (100 * user.Value) / guildMessages, digits: 2)}%\n" + ? $" - {user.Value} {type} - {Math.Round((double) (100 * user.Value) / guildMessages, 2)}%\n" : $" - {user.Value} {type}\n"); highscorePlace++; diff --git a/Geekbot.net/Commands/User/Stats.cs b/Geekbot.net/Commands/User/Stats.cs index 6ddf7d4..05ea324 100644 --- a/Geekbot.net/Commands/User/Stats.cs +++ b/Geekbot.net/Commands/User/Stats.cs @@ -51,7 +51,7 @@ namespace Geekbot.net.Commands.User var level = _levelCalc.GetLevel(messages); - var percent = Math.Round((double) (100 * messages) / guildMessages, digits: 2); + var percent = Math.Round((double) (100 * messages) / guildMessages, 2); var cookies = _database.Cookies ?.FirstOrDefault(e => e.GuildId.Equals(Context.Guild.Id.AsLong()) && e.UserId.Equals(userInfo.Id.AsLong())) diff --git a/Geekbot.net/Commands/Utils/Changelog/Changelog.cs b/Geekbot.net/Commands/Utils/Changelog/Changelog.cs index adcc9a3..02981df 100644 --- a/Geekbot.net/Commands/Utils/Changelog/Changelog.cs +++ b/Geekbot.net/Commands/Utils/Changelog/Changelog.cs @@ -29,34 +29,34 @@ namespace Geekbot.net.Commands.Utils.Changelog { try { - using (var client = new HttpClient()) + using var client = new HttpClient { - client.BaseAddress = new Uri("https://api.github.com"); - client.DefaultRequestHeaders.TryAddWithoutValidation("User-Agent", - "http://developer.github.com/v3/#user-agent-required"); - var response = await client.GetAsync("/repos/pizzaandcoffee/geekbot.net/commits"); - response.EnsureSuccessStatusCode(); + BaseAddress = new Uri("https://api.github.com") + }; + client.DefaultRequestHeaders.TryAddWithoutValidation("User-Agent", + "http://developer.github.com/v3/#user-agent-required"); + var response = await client.GetAsync("/repos/pizzaandcoffee/geekbot.net/commits"); + response.EnsureSuccessStatusCode(); - var stringResponse = await response.Content.ReadAsStringAsync(); - var commits = JsonConvert.DeserializeObject>(stringResponse); - var eb = new EmbedBuilder(); - eb.WithColor(new Color(143, 165, 102)); - eb.WithAuthor(new EmbedAuthorBuilder - { - IconUrl = _client.CurrentUser.GetAvatarUrl(), - Name = "Latest Updates", - Url = "https://geekbot.pizzaandcoffee.rocks/updates" - }); - var sb = new StringBuilder(); - foreach (var commit in commits.Take(10)) - sb.AppendLine($"- {commit.Commit.Message} ({commit.Commit.Author.Date:yyyy-MM-dd})"); - eb.Description = sb.ToString(); - eb.WithFooter(new EmbedFooterBuilder - { - Text = $"List generated from github commits on {DateTime.Now:yyyy-MM-dd}" - }); - await ReplyAsync("", false, eb.Build()); - } + var stringResponse = await response.Content.ReadAsStringAsync(); + var commits = JsonConvert.DeserializeObject>(stringResponse); + var eb = new EmbedBuilder(); + eb.WithColor(new Color(143, 165, 102)); + eb.WithAuthor(new EmbedAuthorBuilder + { + IconUrl = _client.CurrentUser.GetAvatarUrl(), + Name = "Latest Updates", + Url = "https://geekbot.pizzaandcoffee.rocks/updates" + }); + var sb = new StringBuilder(); + foreach (var commit in commits.Take(10)) + sb.AppendLine($"- {commit.Commit.Message} ({commit.Commit.Author.Date:yyyy-MM-dd})"); + eb.Description = sb.ToString(); + eb.WithFooter(new EmbedFooterBuilder + { + Text = $"List generated from github commits on {DateTime.Now:yyyy-MM-dd}" + }); + await ReplyAsync("", false, eb.Build()); } catch (Exception e) { diff --git a/Geekbot.net/Commands/Utils/Quote/Quote.cs b/Geekbot.net/Commands/Utils/Quote/Quote.cs index f06c6ab..e9c4706 100644 --- a/Geekbot.net/Commands/Utils/Quote/Quote.cs +++ b/Geekbot.net/Commands/Utils/Quote/Quote.cs @@ -46,7 +46,7 @@ namespace Geekbot.net.Commands.Utils.Quote return; } - var random = _randomNumberGenerator.Next(0, s.Count()); + var random = _randomNumberGenerator.Next(0, s.Count); var quote = s[random]; var embed = QuoteBuilder(quote); @@ -238,7 +238,7 @@ namespace Geekbot.net.Commands.Utils.Quote var last = _database.Quotes.Where(e => e.GuildId.Equals(Context.Guild.Id.AsLong())) .OrderByDescending(e => e.InternalId).FirstOrDefault(); - int internalId = 1; + var internalId = 1; if (last != null) internalId = last.InternalId + 1; return new QuoteModel() { diff --git a/Geekbot.net/Database/LoggingAdapter/NpgsqlLoggingAdapter.cs b/Geekbot.net/Database/LoggingAdapter/NpgsqlLoggingAdapter.cs index e8850cd..ceebd56 100644 --- a/Geekbot.net/Database/LoggingAdapter/NpgsqlLoggingAdapter.cs +++ b/Geekbot.net/Database/LoggingAdapter/NpgsqlLoggingAdapter.cs @@ -54,23 +54,16 @@ namespace Geekbot.net.Database.LoggingAdapter private static LogLevel ToGeekbotLogLevel(NpgsqlLogLevel level) { - switch (level) + return level switch { - case NpgsqlLogLevel.Trace: - return LogLevel.Trace; - case NpgsqlLogLevel.Debug: - return LogLevel.Debug; - case NpgsqlLogLevel.Info: - return LogLevel.Info; - case NpgsqlLogLevel.Warn: - return LogLevel.Warn; - case NpgsqlLogLevel.Error: - return LogLevel.Error; - case NpgsqlLogLevel.Fatal: - return LogLevel.Fatal; - default: - throw new ArgumentOutOfRangeException(nameof(level)); - } + NpgsqlLogLevel.Trace => LogLevel.Trace, + NpgsqlLogLevel.Debug => LogLevel.Debug, + NpgsqlLogLevel.Info => LogLevel.Info, + NpgsqlLogLevel.Warn => LogLevel.Warn, + NpgsqlLogLevel.Error => LogLevel.Error, + NpgsqlLogLevel.Fatal => LogLevel.Fatal, + _ => throw new ArgumentOutOfRangeException(nameof(level)) + }; } } } \ No newline at end of file diff --git a/Geekbot.net/Lib/Clients/MalClient.cs b/Geekbot.net/Lib/Clients/MalClient.cs index a014cf1..8e5d950 100644 --- a/Geekbot.net/Lib/Clients/MalClient.cs +++ b/Geekbot.net/Lib/Clients/MalClient.cs @@ -22,7 +22,7 @@ namespace Geekbot.net.Lib.Clients ReloadClient(); } - public bool ReloadClient() + private bool ReloadClient() { var malCredentials = _globalSettings.GetKey("MalCredentials"); if (!string.IsNullOrEmpty(malCredentials)) diff --git a/Geekbot.net/Lib/CommandPreconditions/DisableInDirectMessageAttribute.cs b/Geekbot.net/Lib/CommandPreconditions/DisableInDirectMessageAttribute.cs index 110b69b..2bb5cfd 100644 --- a/Geekbot.net/Lib/CommandPreconditions/DisableInDirectMessageAttribute.cs +++ b/Geekbot.net/Lib/CommandPreconditions/DisableInDirectMessageAttribute.cs @@ -4,7 +4,7 @@ using Discord.Commands; namespace Geekbot.net.Lib.CommandPreconditions { - [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = true, Inherited = true)] + [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = true)] public class DisableInDirectMessageAttribute : PreconditionAttribute { public override Task CheckPermissionsAsync(ICommandContext context, CommandInfo command, IServiceProvider services) diff --git a/Geekbot.net/Lib/Converters/MtgManaConverter.cs b/Geekbot.net/Lib/Converters/MtgManaConverter.cs index c29e1e0..31a2db0 100644 --- a/Geekbot.net/Lib/Converters/MtgManaConverter.cs +++ b/Geekbot.net/Lib/Converters/MtgManaConverter.cs @@ -7,7 +7,7 @@ namespace Geekbot.net.Lib.Converters { public class MtgManaConverter : IMtgManaConverter { - private Dictionary _manaDict; + private readonly Dictionary _manaDict; public MtgManaConverter() { diff --git a/Geekbot.net/Lib/Highscores/HighscoreManager.cs b/Geekbot.net/Lib/Highscores/HighscoreManager.cs index e668ff2..8218532 100644 --- a/Geekbot.net/Lib/Highscores/HighscoreManager.cs +++ b/Geekbot.net/Lib/Highscores/HighscoreManager.cs @@ -20,26 +20,15 @@ namespace Geekbot.net.Lib.Highscores public Dictionary GetHighscoresWithUserData(HighscoreTypes type, ulong guildId, int amount) { - Dictionary list; - switch (type) + var list = type switch { - case HighscoreTypes.messages: - list = GetMessageList(guildId, amount); - break; - case HighscoreTypes.karma: - list = GetKarmaList(guildId, amount); - break; - case HighscoreTypes.rolls: - list = GetRollsList(guildId, amount); - break; - case HighscoreTypes.cookies: - list = GetCookiesList(guildId, amount); - break; - default: - list = new Dictionary(); - break; - } - + HighscoreTypes.messages => GetMessageList(guildId, amount), + HighscoreTypes.karma => GetKarmaList(guildId, amount), + HighscoreTypes.rolls => GetRollsList(guildId, amount), + HighscoreTypes.cookies => GetCookiesList(guildId, amount), + _ => new Dictionary() + }; + if (!list.Any()) { throw new HighscoreListEmptyException($"No {type} found for guild {guildId}"); @@ -103,8 +92,8 @@ namespace Geekbot.net.Lib.Highscores .Take(amount) .ToDictionary(key => key.UserId.AsUlong(), key => key.Rolls); } - - public Dictionary GetCookiesList(ulong guildId, int amount) + + private Dictionary GetCookiesList(ulong guildId, int amount) { return _database.Cookies .Where(k => k.GuildId.Equals(guildId.AsLong())) diff --git a/Geekbot.net/Lib/Levels/LevelCalc.cs b/Geekbot.net/Lib/Levels/LevelCalc.cs index f5b6b80..74747b7 100644 --- a/Geekbot.net/Lib/Levels/LevelCalc.cs +++ b/Geekbot.net/Lib/Levels/LevelCalc.cs @@ -1,11 +1,12 @@ using System; using System.Collections.Generic; +using System.Linq; namespace Geekbot.net.Lib.Levels { public class LevelCalc : ILevelCalc { - private int[] _levels; + private readonly int[] _levels; public LevelCalc() { @@ -21,13 +22,7 @@ namespace Geekbot.net.Lib.Levels public int GetLevel(int? messages) { - var returnVal = 1; - foreach (var level in _levels) - { - if (level > messages) break; - returnVal++; - } - return returnVal; + return 1 + _levels.TakeWhile(level => !(level > messages)).Count(); } } } \ No newline at end of file diff --git a/Geekbot.net/Lib/Logger/SimpleConextConverter.cs b/Geekbot.net/Lib/Logger/SimpleConextConverter.cs index 8b8b0ed..d01da67 100644 --- a/Geekbot.net/Lib/Logger/SimpleConextConverter.cs +++ b/Geekbot.net/Lib/Logger/SimpleConextConverter.cs @@ -37,7 +37,7 @@ namespace Geekbot.net.Lib.Logger } public static MessageDto ConvertSocketMessage(SocketMessage message, bool isPrivate = false) { - SocketGuildChannel channel = isPrivate ? null : (SocketGuildChannel) message.Channel; + var channel = isPrivate ? null : (SocketGuildChannel) message.Channel; return new MessageDto { Message = new MessageDto.MessageContent diff --git a/Geekbot.net/Lib/ReactionListener/ReactionListener.cs b/Geekbot.net/Lib/ReactionListener/ReactionListener.cs index 26a60d3..2349028 100644 --- a/Geekbot.net/Lib/ReactionListener/ReactionListener.cs +++ b/Geekbot.net/Lib/ReactionListener/ReactionListener.cs @@ -63,8 +63,11 @@ namespace Geekbot.net.Lib.ReactionListener _listener[messageId].Add(emoji, role.Id); return Task.CompletedTask; } - var dict = new Dictionary(); - dict.Add(emoji, role.Id); + + var dict = new Dictionary + { + {emoji, role.Id} + }; _listener.Add(messageId, dict); return Task.CompletedTask; } diff --git a/Geekbot.net/WebApi/Controllers/Callback/CallbackController.cs b/Geekbot.net/WebApi/Controllers/Callback/CallbackController.cs index 58bdb83..78fb38d 100644 --- a/Geekbot.net/WebApi/Controllers/Callback/CallbackController.cs +++ b/Geekbot.net/WebApi/Controllers/Callback/CallbackController.cs @@ -32,14 +32,16 @@ namespace Geekbot.net.WebApi.Controllers.Callback var accessToken = _globalSettings.GetKey("OAuthToken"); var callbackUrl = _globalSettings.GetKey("OAuthCallbackUrl"); - var form = new Dictionary(); - form.Add("client_id", appInfo.Id.ToString()); - form.Add("client_secret", accessToken); - form.Add("grant_type", "authorization_code"); - form.Add("code", code); - form.Add("scope", "identify email guilds"); - form.Add("redirect_uri", callbackUrl); - + var form = new Dictionary + { + {"client_id", appInfo.Id.ToString()}, + {"client_secret", accessToken}, + {"grant_type", "authorization_code"}, + {"code", code}, + {"scope", "identify email guilds"}, + {"redirect_uri", callbackUrl} + }; + client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/x-www-form-urlencoded")); var result = await client.PostAsync("/api/oauth2/token", new FormUrlEncodedContent(form)); result.EnsureSuccessStatusCode(); diff --git a/Geekbot.net/WebApi/Controllers/Highscores/HighscoreControllerPostBodyDto.cs b/Geekbot.net/WebApi/Controllers/Highscores/HighscoreControllerPostBodyDto.cs index 22da3c7..6e7aec3 100644 --- a/Geekbot.net/WebApi/Controllers/Highscores/HighscoreControllerPostBodyDto.cs +++ b/Geekbot.net/WebApi/Controllers/Highscores/HighscoreControllerPostBodyDto.cs @@ -8,9 +8,9 @@ namespace Geekbot.net.WebApi.Controllers.Highscores [Required] public ulong GuildId { get; set; } - public HighscoreTypes Type { get; set; } = HighscoreTypes.messages; + public HighscoreTypes Type { get; } = HighscoreTypes.messages; [Range(1, 150)] - public int Amount { get; set; } = 50; + public int Amount { get; } = 50; } } \ No newline at end of file diff --git a/Geekbot.net/WebApi/Logging/AspLogger.cs b/Geekbot.net/WebApi/Logging/AspLogger.cs index 3316150..5899b26 100644 --- a/Geekbot.net/WebApi/Logging/AspLogger.cs +++ b/Geekbot.net/WebApi/Logging/AspLogger.cs @@ -55,25 +55,17 @@ namespace Geekbot.net.WebApi.Logging private static NLog.LogLevel ToGeekbotLogLevel(LogLevel level) { - switch (level) + return level switch { - case LogLevel.Trace: - return NLog.LogLevel.Trace; - case LogLevel.Debug: - return NLog.LogLevel.Debug; - case LogLevel.Information: - return NLog.LogLevel.Info; - case LogLevel.Warning: - return NLog.LogLevel.Warn; - case LogLevel.Error: - return NLog.LogLevel.Error; - case LogLevel.Critical: - return NLog.LogLevel.Fatal; - case LogLevel.None: - return NLog.LogLevel.Off; - default: - throw new ArgumentOutOfRangeException(nameof(level)); - } + LogLevel.Trace => NLog.LogLevel.Trace, + LogLevel.Debug => NLog.LogLevel.Debug, + LogLevel.Information => NLog.LogLevel.Info, + LogLevel.Warning => NLog.LogLevel.Warn, + LogLevel.Error => NLog.LogLevel.Error, + LogLevel.Critical => NLog.LogLevel.Fatal, + LogLevel.None => NLog.LogLevel.Off, + _ => throw new ArgumentOutOfRangeException(nameof(level)) + }; } } } \ No newline at end of file