fix: don't change status in test mode, fix broken guilds query
This commit is contained in:
parent
87b3281c8d
commit
ae4d9018ea
2 changed files with 9 additions and 3 deletions
|
|
@ -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() }
|
||||
|
|
|
|||
|
|
@ -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))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue