From 4b226a6a638b7572c0fcbf8964bfb02e675b2e6b Mon Sep 17 00:00:00 2001 From: Wim Date: Fri, 4 Feb 2022 16:15:19 +0100 Subject: 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 --- bridge/telegram/handlers.go | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'bridge/telegram') diff --git a/bridge/telegram/handlers.go b/bridge/telegram/handlers.go index 8461df37..c5ed8c46 100644 --- a/bridge/telegram/handlers.go +++ b/bridge/telegram/handlers.go @@ -10,6 +10,7 @@ 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" ) @@ -123,6 +124,25 @@ 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 @@ -139,6 +159,10 @@ 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{})} -- cgit v1.2.3