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)
|
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>(
|
var guild = await conn.QueryFirstOrDefaultAsync<Guild>(
|
||||||
"select * from guilds where id = @Id",
|
"select * from guilds where id = @Id",
|
||||||
|
|
@ -52,7 +52,7 @@ public class GuildRepository(ILogger logger, DatabaseConnection conn)
|
||||||
await conn.ExecuteAsync(
|
await conn.ExecuteAsync(
|
||||||
"""
|
"""
|
||||||
insert into guilds (id, key_roles, banned_systems, channels)
|
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
|
on conflict do nothing
|
||||||
""",
|
""",
|
||||||
new { Id = id, Channels = new Guild.ChannelConfig() }
|
new { Id = id, Channels = new Guild.ChannelConfig() }
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ using Remora.Discord.API.Objects;
|
||||||
|
|
||||||
namespace Catalogger.Backend.Services;
|
namespace Catalogger.Backend.Services;
|
||||||
|
|
||||||
public class StatusUpdateService(ILogger logger, ShardedGatewayClient shardedClient)
|
public class StatusUpdateService(ILogger logger, ShardedGatewayClient shardedClient, Config config)
|
||||||
: BackgroundService
|
: BackgroundService
|
||||||
{
|
{
|
||||||
private readonly ILogger _logger = logger.ForContext<StatusUpdateService>();
|
private readonly ILogger _logger = logger.ForContext<StatusUpdateService>();
|
||||||
|
|
@ -40,6 +40,12 @@ public class StatusUpdateService(ILogger logger, ShardedGatewayClient shardedCli
|
||||||
CataloggerMetrics.GuildsCached.Value
|
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)
|
foreach (var (shardId, client) in shardedClient.Shards)
|
||||||
{
|
{
|
||||||
if (!ShardedGatewayClient.IsConnected(client))
|
if (!ShardedGatewayClient.IsConnected(client))
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue