Fixing the highscore bug (hopefully)

This commit is contained in:
Runebaas 2017-10-25 19:33:22 +02:00
parent 1f48d0387b
commit 2e083bc188
No known key found for this signature in database
GPG key ID: 2677AF508D0300D6

View file

@ -1,5 +1,6 @@
using System; using System;
using System.Threading.Tasks; using System.Threading.Tasks;
using AngleSharp.Dom.Css;
using Discord.WebSocket; using Discord.WebSocket;
using Serilog; using Serilog;
using StackExchange.Redis; using StackExchange.Redis;
@ -20,13 +21,14 @@ namespace Geekbot.net.Lib
{ {
try try
{ {
_redis.HashSetAsync($"Users:{user.Id}", new HashEntry[] _redis.HashSetAsync($"Users:{user.Id.ToString()}", new HashEntry[]
{ {
new HashEntry("Id", user.Id.ToString()), new HashEntry("Id", user.Id.ToString()),
new HashEntry("Username", user.Username), new HashEntry("Username", user.Username),
new HashEntry("Discriminator", user.Discriminator), new HashEntry("Discriminator", user.Discriminator),
new HashEntry("AvatarUrl", user.GetAvatarUrl() ?? "0"), new HashEntry("AvatarUrl", user.GetAvatarUrl() ?? "0"),
new HashEntry("IsBot", user.IsBot), new HashEntry("IsBot", user.IsBot),
new HashEntry("Joined", user.CreatedAt.ToString()),
}); });
_logger.Information($"[UserRepository] Updated User {user.Id}"); _logger.Information($"[UserRepository] Updated User {user.Id}");
return Task.FromResult(true); return Task.FromResult(true);
@ -40,11 +42,11 @@ namespace Geekbot.net.Lib
public UserRepositoryUser Get(ulong userId) public UserRepositoryUser Get(ulong userId)
{ {
var user = _redis.HashGetAll($"Users:{userId}"); var user = _redis.HashGetAll($"Users:{userId.ToString()}");
for (int i = 1; i < 6; i++) for (int i = 1; i < 11; i++)
{ {
if (user.Length != 0) break; if (user.Length != 0) break;
user = _redis.HashGetAll($"Users:{userId + (ulong)i}"); user = _redis.HashGetAll($"Users:{(userId + (ulong)i).ToString()}");
} }
var dto = new UserRepositoryUser(); var dto = new UserRepositoryUser();
@ -67,6 +69,9 @@ namespace Geekbot.net.Lib
case "IsBot": case "IsBot":
dto.IsBot = a.Value == 1; dto.IsBot = a.Value == 1;
break; break;
case "Joined":
dto.Joined = DateTimeOffset.Parse(a.Value);
break;
} }
} }
return dto; return dto;
@ -94,6 +99,7 @@ namespace Geekbot.net.Lib
public string Discriminator { get; set; } public string Discriminator { get; set; }
public string AvatarUrl { get; set; } public string AvatarUrl { get; set; }
public bool IsBot { get; set; } public bool IsBot { get; set; }
public DateTimeOffset Joined { get; set; }
} }
public interface IUserRepository public interface IUserRepository