From 926a632641a9908f4d7e5ae0aabec3f850242efb Mon Sep 17 00:00:00 2001 From: Runebaas Date: Sat, 2 Jun 2018 00:16:32 +0200 Subject: [PATCH] Get guilds from existing redis keys instead of the client --- Geekbot.net/Database/RedisMigration.cs | 22 +++++++++++++++++++++- Geekbot.net/Lib/AlmostRedis/AlmostRedis.cs | 2 +- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/Geekbot.net/Database/RedisMigration.cs b/Geekbot.net/Database/RedisMigration.cs index 80965d1..3097a88 100644 --- a/Geekbot.net/Database/RedisMigration.cs +++ b/Geekbot.net/Database/RedisMigration.cs @@ -31,7 +31,27 @@ namespace Geekbot.net.Database public async Task Migrate() { _logger.Information(LogSource.Geekbot, "Starting migration process"); - foreach (var guild in _client.Guilds) + + var keys = _redis.GetAllKeys().Where(e => e.ToString().EndsWith("Messages")); + var guilds = new List(); + + foreach (var key in keys) + { + try + { + var g = _client.GetGuild(ulong.Parse(key.ToString().Split(':').First())); + Console.WriteLine(g.Name); + guilds.Add(g); + } + catch (Exception e) + { + // ignore + } + } + + _logger.Information(LogSource.Geekbot, $"Found {guilds.Count} guilds in redis"); + + foreach (var guild in guilds) { if (guild.MemberCount > 10000) { diff --git a/Geekbot.net/Lib/AlmostRedis/AlmostRedis.cs b/Geekbot.net/Lib/AlmostRedis/AlmostRedis.cs index 5e010f9..c6faf52 100644 --- a/Geekbot.net/Lib/AlmostRedis/AlmostRedis.cs +++ b/Geekbot.net/Lib/AlmostRedis/AlmostRedis.cs @@ -29,7 +29,7 @@ namespace Geekbot.net.Lib.AlmostRedis public IEnumerable GetAllKeys() { - return Connection.GetServer($"{_runParameters.RedisHost}:{_runParameters.RedisPort}", int.Parse(_runParameters.RedisDatabase)).Keys(); + return Connection.GetServer($"{_runParameters.RedisHost}:{_runParameters.RedisPort}").Keys(int.Parse(_runParameters.RedisDatabase)); } } } \ No newline at end of file