From a1cb10aa74d5c3cc7cbda5bfd4d25879e5f81cea Mon Sep 17 00:00:00 2001 From: Thom Dickson Date: Thu, 5 Jan 2023 14:24:28 -0500 Subject: [PATCH] fix file uploads for telegram topics --- bridge/telegram/handlers.go | 4 ++-- bridge/telegram/telegram.go | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/bridge/telegram/handlers.go b/bridge/telegram/handlers.go index 310967bb..47c7750d 100644 --- a/bridge/telegram/handlers.go +++ b/bridge/telegram/handlers.go @@ -464,7 +464,7 @@ func (b *Btelegram) handleEdit(msg *config.Message, chatid int64) (string, error } // handleUploadFile handles native upload of files -func (b *Btelegram) handleUploadFile(msg *config.Message, chatid int64, parentID int) (string, error) { +func (b *Btelegram) handleUploadFile(msg *config.Message, chatid int64, threadid int, parentID int) (string, error) { var media []interface{} for _, f := range msg.Extra["file"] { fi := f.(config.FileInfo) @@ -514,7 +514,7 @@ func (b *Btelegram) handleUploadFile(msg *config.Message, chatid int64, parentID } } - return b.sendMediaFiles(msg, chatid, parentID, media) + return b.sendMediaFiles(msg, chatid, threadid, parentID, media) } func (b *Btelegram) handleQuote(message, quoteNick, quoteMessage string) string { diff --git a/bridge/telegram/telegram.go b/bridge/telegram/telegram.go index ba0785cb..8d0d7696 100644 --- a/bridge/telegram/telegram.go +++ b/bridge/telegram/telegram.go @@ -159,7 +159,7 @@ func (b *Btelegram) Send(msg config.Message) (string, error) { } // check if we have files to upload (from slack, telegram or mattermost) if len(msg.Extra["file"]) > 0 { - return b.handleUploadFile(&msg, chatid, parentID) + return b.handleUploadFile(&msg, chatid, topicid, parentID) } } @@ -204,13 +204,14 @@ func (b *Btelegram) sendMessage(chatid int64, topicid int, username, text string } // sendMediaFiles native upload media files via media group -func (b *Btelegram) sendMediaFiles(msg *config.Message, chatid int64, parentID int, media []interface{}) (string, error) { +func (b *Btelegram) sendMediaFiles(msg *config.Message, chatid int64, threadid int, parentID int, media []interface{}) (string, error) { if len(media) == 0 { return "", nil } mg := tgbotapi.MediaGroupConfig{ BaseChat: tgbotapi.BaseChat{ ChatID: chatid, + MessageThreadID: threadid, ChannelUsername: msg.Username, ReplyToMessageID: parentID, },