diff --git a/pkg/channels/discord.go b/pkg/channels/discord.go index 83caf23a3..2faf8e72e 100644 --- a/pkg/channels/discord.go +++ b/pkg/channels/discord.go @@ -176,13 +176,15 @@ func (c *DiscordChannel) handleMessage(s *discordgo.Session, m *discordgo.Messag return } - // Ignore system messages (including thread creation messages) - // MessageTypeDefault (0) = regular user message - if m.Type != discordgo.MessageTypeDefault { - logger.DebugCF("discord", "Message ignored - system message", map[string]any{ - "message_type": int(m.Type), - }) - return + // Ignore system messages (thread creation, pins, boosts, etc.) + switch m.Type { + case discordgo.MessageTypeDefault, discordgo.MessageTypeReply: + // These are real user messages, process them + default: + logger.DebugCF("discord", "Message ignored - system message", map[string]any{ + "message_type": int(m.Type), + }) + return } // Check allowlist first to avoid downloading attachments and transcribing for rejected users