From cc0c7c31e88fc7a76ead561d54d1ed0ef60b4d0c Mon Sep 17 00:00:00 2001 From: Macintosh II <95250141+mctaylors@users.noreply.github.com> Date: Wed, 27 Sep 2023 02:06:28 +0300 Subject: [PATCH] Fix UnknownMember warning flood If a user was muted using the `MuteRole` method and then banned, the UnknownMember warning will flood your logs when `DateTimeOffset.UtcNow > data.MutedUntil` becomes true, because there is no user in the server to unmute. Signed-off-by: Macintosh II <95250141+mctaylors@users.noreply.github.com> --- src/Services/Update/MemberUpdateService.cs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/Services/Update/MemberUpdateService.cs b/src/Services/Update/MemberUpdateService.cs index d4424ec..712fe93 100644 --- a/src/Services/Update/MemberUpdateService.cs +++ b/src/Services/Update/MemberUpdateService.cs @@ -134,6 +134,12 @@ public sealed partial class MemberUpdateService : BackgroundService if (DateTimeOffset.UtcNow > data.MutedUntil) { + var isOnServer = await _guildApi.GetGuildMemberAsync(guildId, id, ct); + if (!isOnServer.IsSuccess) + { + return Result.FromSuccess(); + } + var unmuteResult = await _guildApi.ModifyGuildMemberAsync( guildId, id, roles: data.Roles.ConvertAll(r => r.ToSnowflake()), reason: Messages.PunishmentExpired.EncodeHeader(), ct: ct);