feat: member role and key role logging

This commit is contained in:
sam 2024-10-11 21:29:02 +02:00
parent d445b5ba44
commit a56cb87294
3 changed files with 140 additions and 6 deletions

View file

@ -75,6 +75,12 @@ public class RedisMemberCache(
public async Task UpdateAsync(IGuildMemberUpdate newMember)
{
_logger.Debug(
"Updating member {MemberId} in {GuildId}",
newMember.User.ID,
newMember.GuildID
);
var oldMember = await TryGetInnerAsync(newMember.GuildID, newMember.User.ID);
if (oldMember == null)
{
@ -109,7 +115,7 @@ public class RedisMemberCache(
User = RedisUser.FromIUser(newMember.User),
Nickname = newMember.Nickname.HasValue ? newMember.Nickname.Value : oldMember.Nickname,
Avatar = newMember.Avatar.HasValue ? newMember.Avatar.Value?.Value : oldMember.Avatar,
Roles = newMember.Roles.ToArray(),
Roles = newMember.Roles.Select(id => id.Value).ToArray(),
JoinedAt = newMember.JoinedAt ?? oldMember.JoinedAt,
PremiumSince = newMember.PremiumSince.HasValue
? newMember.PremiumSince.Value
@ -134,7 +140,7 @@ internal record RedisMember(
RedisUser User,
string? Nickname,
string? Avatar,
Snowflake[] Roles,
ulong[] Roles,
DateTimeOffset JoinedAt,
DateTimeOffset? PremiumSince,
GuildMemberFlags Flags,
@ -147,7 +153,7 @@ internal record RedisMember(
RedisUser.FromIUser(member.User.Value),
member.Nickname.OrDefault(null),
member.Avatar.OrDefault(null)?.Value,
member.Roles.ToArray(),
member.Roles.Select(id => id.Value).ToArray(),
member.JoinedAt,
member.PremiumSince.OrDefault(null),
member.Flags,
@ -160,7 +166,7 @@ internal record RedisMember(
User.ToRemoraUser(),
Nickname,
Avatar != null ? new ImageHash(Avatar) : null,
Roles,
Roles.Select(DiscordSnowflake.New).ToList(),
JoinedAt,
PremiumSince,
false,