fix: don't change status in test mode, fix broken guilds query

This commit is contained in:
sam 2024-10-29 20:19:49 +01:00
parent 87b3281c8d
commit ae4d9018ea
Signed by: sam
GPG key ID: 5F3C3C1B3166639D
2 changed files with 9 additions and 3 deletions

View file

@ -31,7 +31,7 @@ public class GuildRepository(ILogger logger, DatabaseConnection conn)
public async Task<Guild> GetAsync(ulong id)
{
_logger.Debug("Getting guild config for {GuildId}", id);
_logger.Verbose("Getting guild config for {GuildId}", id);
var guild = await conn.QueryFirstOrDefaultAsync<Guild>(
"select * from guilds where id = @Id",
@ -52,7 +52,7 @@ public class GuildRepository(ILogger logger, DatabaseConnection conn)
await conn.ExecuteAsync(
"""
insert into guilds (id, key_roles, banned_systems, channels)
values (@Id, array[]::bigint[], array[]::text[], array[]::bigint[], @Channels)
values (@Id, array[]::bigint[], array[]::text[], @Channels::jsonb)
on conflict do nothing
""",
new { Id = id, Channels = new Guild.ChannelConfig() }

View file

@ -20,7 +20,7 @@ using Remora.Discord.API.Objects;
namespace Catalogger.Backend.Services;
public class StatusUpdateService(ILogger logger, ShardedGatewayClient shardedClient)
public class StatusUpdateService(ILogger logger, ShardedGatewayClient shardedClient, Config config)
: BackgroundService
{
private readonly ILogger _logger = logger.ForContext<StatusUpdateService>();
@ -40,6 +40,12 @@ public class StatusUpdateService(ILogger logger, ShardedGatewayClient shardedCli
CataloggerMetrics.GuildsCached.Value
);
if (config.Discord.TestMode)
{
_logger.Debug("Not updating shard statuses because test mode is enabled.");
return;
}
foreach (var (shardId, client) in shardedClient.Shards)
{
if (!ShardedGatewayClient.IsConnected(client))