From ea0ca1471fdba5947e0e67f32c56d1e61a342dbf Mon Sep 17 00:00:00 2001 From: Master Kwoth Date: Mon, 11 Sep 2017 23:39:28 +0200 Subject: [PATCH] Xp system fixes --- src/NadekoBot/Modules/Xp/Services/XpService.cs | 7 ++++--- .../Services/Database/Repositories/Impl/XpRepository.cs | 4 +++- src/NadekoBot/_Extensions/Extensions.cs | 2 +- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/NadekoBot/Modules/Xp/Services/XpService.cs b/src/NadekoBot/Modules/Xp/Services/XpService.cs index 88835081..78dcc5f9 100644 --- a/src/NadekoBot/Modules/Xp/Services/XpService.cs +++ b/src/NadekoBot/Modules/Xp/Services/XpService.cs @@ -343,9 +343,6 @@ namespace NadekoBot.Modules.Xp.Services var _ = Task.Run(() => { - if (!SetUserRewarded(user.Id)) - return; - if (_excludedChannels.TryGetValue(user.Guild.Id, out var chans) && chans.Contains(arg.Channel.Id)) return; @@ -359,6 +356,10 @@ namespace NadekoBot.Modules.Xp.Services if (!arg.Content.Contains(' ') && arg.Content.Length < 5) return; + + if (!SetUserRewarded(user.Id)) + return; + _addMessageXp.Enqueue(new UserCacheItem { Guild = user.Guild, Channel = arg.Channel, User = user }); }); return Task.CompletedTask; diff --git a/src/NadekoBot/Services/Database/Repositories/Impl/XpRepository.cs b/src/NadekoBot/Services/Database/Repositories/Impl/XpRepository.cs index ddd5a8e2..50025620 100644 --- a/src/NadekoBot/Services/Database/Repositories/Impl/XpRepository.cs +++ b/src/NadekoBot/Services/Database/Repositories/Impl/XpRepository.cs @@ -58,7 +58,9 @@ namespace NadekoBot.Services.Database.Repositories.Impl .Where(x => x.GuildId == guildId) .Count(x => x.Xp > (_set .Where(y => y.UserId == userId && y.GuildId == guildId) - .Sum(y => y.Xp))) + 1; + .Select(y => y.Xp) + .DefaultIfEmpty() + .Sum())) + 1; } public (ulong UserId, int TotalXp)[] GetUsersFor(int page) diff --git a/src/NadekoBot/_Extensions/Extensions.cs b/src/NadekoBot/_Extensions/Extensions.cs index 84901d21..d1bd796b 100644 --- a/src/NadekoBot/_Extensions/Extensions.cs +++ b/src/NadekoBot/_Extensions/Extensions.cs @@ -135,7 +135,7 @@ namespace NadekoBot.Extensions public static MemoryStream ToStream(this ImageSharp.Image img) { var imageStream = new MemoryStream(); - img.SaveAsPng(imageStream); + img.SaveAsPng(imageStream, new ImageSharp.Formats.PngEncoder() { CompressionLevel = 9}); imageStream.Position = 0; return imageStream; }