Thumbnail

rani/matterbridge.git

Clone URL: https://git.buni.party/rani/matterbridge.git

commit a9569e98313748881aa834fb47392004318cf240 Author: Thom Dickson <td3of4@gmail.com> Date: Mon Apr 03 17:20:53 2023 +0000 Fix broken reply (telegram) (#2026) Fixes #2021 * Fix broken reply * Fix reply/quoting logic with topics * Update handlers.go --------- Co-authored-by: Wim <wim@42.be> diff --git a/bridge/telegram/handlers.go b/bridge/telegram/handlers.go index 985397e..9f8d1c3 100644 --- a/bridge/telegram/handlers.go +++ b/bridge/telegram/handlers.go @@ -977 +977 @@ func (b *Btelegram) handleForwarded(rmsg *config.Message, message *tgbotapi.Mess  // handleQuoting handles quoting of previous messages  func (b *Btelegram) handleQuoting(rmsg *config.Message, message *tgbotapi.Message) {   // Used to check if the message was a reply to the root topic - if message.ReplyToMessage != nil && !(message.ReplyToMessage.MessageID == message.MessageThreadID) { //nolint:nestif + if message.ReplyToMessage != nil && (!message.IsTopicMessage || message.ReplyToMessage.MessageID != message.MessageThreadID) { //nolint:nestif   usernameReply := ""   if message.ReplyToMessage.From != nil {   if b.GetBool("UseFirstName") { @@ -21714 +21714 @@ func (b *Btelegram) handleRecv(updates <-chan tgbotapi.Update) {   // set the ID's from the channel or group message   rmsg.ID = strconv.Itoa(message.MessageID)   rmsg.Channel = strconv.FormatInt(message.Chat.ID, 10) - if message.MessageThreadID != 0 { + if message.IsTopicMessage {   rmsg.Channel += "/" + strconv.Itoa(message.MessageThreadID)   }     // preserve threading from telegram reply   if message.ReplyToMessage != nil &&   // Used to check if the message was a reply to the root topic - !(message.ReplyToMessage.MessageID == message.MessageThreadID) { + (!message.IsTopicMessage || message.ReplyToMessage.MessageID != message.MessageThreadID) {   rmsg.ParentID = strconv.Itoa(message.ReplyToMessage.MessageID)   }