diff --git a/pkg/connector/capabilities.go b/pkg/connector/capabilities.go index aceb5d5..b9c891f 100644 --- a/pkg/connector/capabilities.go +++ b/pkg/connector/capabilities.go @@ -55,7 +55,8 @@ func capID() string { } var discordCaps = &event.RoomFeatures{ - ID: capID(), + ID: capID(), + Reply: event.CapLevelFullySupported, Formatting: event.FormattingFeatureMap{ event.FmtBold: event.CapLevelFullySupported, event.FmtItalic: event.CapLevelFullySupported, diff --git a/pkg/msgconv/from-matrix.go b/pkg/msgconv/from-matrix.go index 5340757..3729c31 100644 --- a/pkg/msgconv/from-matrix.go +++ b/pkg/msgconv/from-matrix.go @@ -68,6 +68,13 @@ func (mc *MessageConverter) ToDiscord( var req discordgo.MessageSend req.Nonce = generateMessageNonce() + if msg.ReplyTo != nil { + req.Reference = &discordgo.MessageReference{ + ChannelID: string(msg.ReplyTo.Room.ID), + MessageID: string(msg.ReplyTo.ID), + } + } + switch msg.Content.MsgType { case event.MsgText, event.MsgEmote, event.MsgNotice: req.Content, req.AllowedMentions = mc.convertMatrixMessageContent(ctx, msg.Portal, msg.Content, parseAllowedLinkPreviews(msg.Event.Content.Raw))