From 1a4717b366a2371dacc0ce205b0a42c5b31f52dc Mon Sep 17 00:00:00 2001 From: Qais Patankar Date: Thu, 31 Dec 2020 16:21:37 +0000 Subject: [PATCH] Reject cross-channel message references (discord) (#1345) Discord message references have been designed in a way for this to support cross-channel or even cross-guild references in the future. This will ensure the ParentID is *not* set when the message refers to a message that was sent in a different channel. --- bridge/discord/handlers.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bridge/discord/handlers.go b/bridge/discord/handlers.go index d2b38538..81a0e11c 100644 --- a/bridge/discord/handlers.go +++ b/bridge/discord/handlers.go @@ -127,9 +127,9 @@ func (b *Bdiscord) messageCreate(s *discordgo.Session, m *discordgo.MessageCreat // Replace emotes rmsg.Text = replaceEmotes(rmsg.Text) - // Add our parent id if it exists - if m.MessageReference != nil { - rmsg.ParentID = m.MessageReference.MessageID + // Add our parent id if it exists, and if it's not referring to a message in another channel + if ref := m.MessageReference; ref != nil && ref.ChannelID == m.ChannelID { + rmsg.ParentID = ref.MessageID } b.Log.Debugf("<= Sending message from %s on %s to gateway", m.Author.Username, b.Account)