fix for .leaveunkeptservers
This commit is contained in:
parent
ec403bbe5d
commit
7f935a72c1
1 changed files with 12 additions and 12 deletions
|
@ -59,14 +59,19 @@ public sealed class CleanupService : ICleanupService, IReadyExecutor, IEService
|
||||||
|
|
||||||
var allGuildIds = _client.Guilds.Select(x => x.Id);
|
var allGuildIds = _client.Guilds.Select(x => x.Id);
|
||||||
|
|
||||||
var table = await GetKeptGuildsTable();
|
HashSet<ulong> dontDelete;
|
||||||
|
await using (var db = _db.GetDbContext())
|
||||||
|
{
|
||||||
|
await using var ctx = db.CreateLinqToDBConnection();
|
||||||
|
var table = ctx.CreateTable<KeptGuilds>(tableOptions: TableOptions.CheckExistence);
|
||||||
|
|
||||||
var dontDeleteList = await table
|
var dontDeleteList = await table
|
||||||
.Where(x => allGuildIds.Contains(x.GuildId))
|
.Where(x => allGuildIds.Contains(x.GuildId))
|
||||||
.Select(x => x.GuildId)
|
.Select(x => x.GuildId)
|
||||||
.ToListAsyncLinqToDB();
|
.ToListAsyncLinqToDB();
|
||||||
|
|
||||||
var dontDelete = dontDeleteList.ToHashSet();
|
dontDelete = dontDeleteList.ToHashSet();
|
||||||
|
}
|
||||||
|
|
||||||
guildIds = new();
|
guildIds = new();
|
||||||
foreach (var guildId in allGuildIds)
|
foreach (var guildId in allGuildIds)
|
||||||
|
@ -209,8 +214,9 @@ public sealed class CleanupService : ICleanupService, IReadyExecutor, IEService
|
||||||
|
|
||||||
public async Task<bool> KeepGuild(ulong guildId)
|
public async Task<bool> KeepGuild(ulong guildId)
|
||||||
{
|
{
|
||||||
var table = await GetKeptGuildsTable();
|
await using var db = _db.GetDbContext();
|
||||||
|
await using var ctx = db.CreateLinqToDbContext();
|
||||||
|
var table = ctx.CreateTable<KeptGuilds>(tableOptions: TableOptions.CheckExistence);
|
||||||
if (await table.AnyAsyncLinqToDB(x => x.GuildId == guildId))
|
if (await table.AnyAsyncLinqToDB(x => x.GuildId == guildId))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
@ -223,17 +229,11 @@ public sealed class CleanupService : ICleanupService, IReadyExecutor, IEService
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<int> GetKeptGuildCount()
|
public async Task<int> GetKeptGuildCount()
|
||||||
{
|
|
||||||
var table = await GetKeptGuildsTable();
|
|
||||||
return await table.CountAsync();
|
|
||||||
}
|
|
||||||
|
|
||||||
private async Task<ITable<KeptGuilds>> GetKeptGuildsTable()
|
|
||||||
{
|
{
|
||||||
await using var db = _db.GetDbContext();
|
await using var db = _db.GetDbContext();
|
||||||
await using var ctx = db.CreateLinqToDBContext();
|
await using var ctx = db.CreateLinqToDBContext();
|
||||||
var table = ctx.CreateTable<KeptGuilds>(tableOptions: TableOptions.CheckExistence);
|
var table = ctx.CreateTable<KeptGuilds>(tableOptions: TableOptions.CheckExistence);
|
||||||
return table;
|
return await table.CountAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task LeaveUnkeptServers()
|
public async Task LeaveUnkeptServers()
|
||||||
|
|
Loading…
Reference in a new issue