fix: don't delete rows from messages table when the associated member is deleted

This commit is contained in:
spiral
2022-01-11 09:43:55 -05:00
parent 54830fd264
commit 34df19c551
9 changed files with 51 additions and 27 deletions

View File

@@ -355,13 +355,20 @@ public class EmbedService
// Put it all together
var eb = new EmbedBuilder()
.Author(new Embed.EmbedAuthor(msg.Member.NameFor(ctx),
IconUrl: msg.Member.AvatarFor(ctx).TryGetCleanCdnUrl()))
.Author(new Embed.EmbedAuthor(msg.Member?.NameFor(ctx) ?? "(deleted member)",
IconUrl: msg.Member?.AvatarFor(ctx).TryGetCleanCdnUrl()))
.Description(content)
.Image(showContent ? new Embed.EmbedImage(serverMsg?.Attachments?.FirstOrDefault()?.Url) : null)
.Field(new Embed.Field("System",
msg.System.Name != null ? $"{msg.System.Name} (`{msg.System.Hid}`)" : $"`{msg.System.Hid}`", true))
.Field(new Embed.Field("Member", $"{msg.Member.NameFor(ctx)} (`{msg.Member.Hid}`)", true))
msg.System == null
? "*(deleted or unknown system)*"
: msg.System.Name != null ? $"{msg.System.Name} (`{msg.System.Hid}`)" : $"`{msg.System.Hid}`"
, true))
.Field(new Embed.Field("Member",
msg.Member == null
? "*(deleted member)*"
: $"{msg.Member.NameFor(ctx)} (`{msg.Member.Hid}`)"
, true))
.Field(new Embed.Field("Sent by", userStr, true))
.Timestamp(DiscordUtils.SnowflakeToInstant(msg.Message.Mid).ToDateTimeOffset().ToString("O"));

View File

@@ -44,7 +44,7 @@ public class LogChannelService
var triggerChannel = await _cache.GetChannel(proxiedMessage.Channel);
var system = await _repo.GetSystem(ctx.SystemId.Value);
var member = await _repo.GetMember(proxiedMessage.Member);
var member = await _repo.GetMember(proxiedMessage.Member!.Value);
// Send embed!
var embed = _embed.CreateLoggedMessageEmbed(trigger, hookMessage, system.Hid, member, triggerChannel.Name,