Thumbnail

rani/matterbridge.git

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

commit 3ad5a49dbe22c897c383502caa3868fe0d5d1248 Author: Wim <wim@42.be> Date: Fri Feb 04 16:15:19 2022 +0000 Add support for sender_chat (telegram) (#1677) * Add support for sender_chat (telegram) Fixes #1654 https://core.telegram.org/bots/api#december-7-2021 * Add debuglevel option Add `debuglevel=1` in telegram config to increase debug diff --git a/bridge/telegram/handlers.go b/bridge/telegram/handlers.go index 8461df3..c5ed8c4 100644 --- a/bridge/telegram/handlers.go +++ b/bridge/telegram/handlers.go @@ -106 +107 @@ import (     "github.com/42wim/matterbridge/bridge/config"   "github.com/42wim/matterbridge/bridge/helper" + "github.com/davecgh/go-spew/spew"   tgbotapi "github.com/go-telegram-bot-api/telegram-bot-api/v5"  )   @@ -1236 +12425 @@ func (b *Btelegram) handleUsername(rmsg *config.Message, message *tgbotapi.Messa   }   }   + if message.SenderChat != nil { //nolint:nestif + rmsg.UserID = strconv.FormatInt(message.SenderChat.ID, 10) + if b.GetBool("UseFirstName") { + rmsg.Username = message.SenderChat.FirstName + } + + if rmsg.Username == "" || rmsg.Username == "Channel_Bot" { + rmsg.Username = message.SenderChat.UserName + + if rmsg.Username == "" || rmsg.Username == "Channel_Bot" { + rmsg.Username = message.SenderChat.FirstName + } + } + // only download avatars if we have a place to upload them (configured mediaserver) + if b.General.MediaServerUpload != "" || (b.General.MediaServerDownload != "" && b.General.MediaDownloadPath != "") { + b.handleDownloadAvatar(message.SenderChat.ID, rmsg.Channel) + } + } +   // if we really didn't find a username, set it to unknown   if rmsg.Username == "" {   rmsg.Username = unknownUser @@ -1396 +15910 @@ func (b *Btelegram) handleRecv(updates <-chan tgbotapi.Update) {   continue   }   + if b.GetInt("debuglevel") == 1 { + spew.Dump(update.Message) + } +   var message *tgbotapi.Message     rmsg := config.Message{Account: b.Account, Extra: make(map[string][]interface{})}