From b5d5dc4694ca7cf787cfbee3fb1306fc1cac0014 Mon Sep 17 00:00:00 2001 From: ayn2op Date: Fri, 11 Jul 2025 18:41:53 -0400 Subject: [PATCH] cmd: log if presence is nil --- cmd/message_input.go | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/cmd/message_input.go b/cmd/message_input.go index 8d3a275..8d87088 100644 --- a/cmd/message_input.go +++ b/cmd/message_input.go @@ -381,8 +381,12 @@ func (mi *messageInput) showMentionList(col int) { } func (mi *messageInput) addMentionItem(gID discord.GuildID, m *discord.Member) bool { + if m == nil { + return false + } + name := m.User.DisplayOrUsername() - if m != nil && m.Nick != "" { + if m.Nick != "" { name = m.Nick } @@ -395,7 +399,12 @@ func (mi *messageInput) addMentionItem(gID discord.GuildID, m *discord.Member) b name = fmt.Sprintf("[%s]%s[-]", color, name) } - if presence, _ := discordState.Cabinet.Presence(gID, m.User.ID); presence == nil || presence.Status == discord.OfflineStatus { + presence, err := discordState.Cabinet.Presence(gID, m.User.ID) + if err != nil { + slog.Info("failed to get presence from state", "guild_id", gID, "user_id", m.User.ID, "err", err) + } + + if presence != nil && presence.Status == discord.OfflineStatus { name = fmt.Sprintf("[::d]%s[::D]", name) }