diff options
author | Wim <wim@42.be> | 2022-02-04 16:15:19 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-02-04 16:15:19 +0100 |
commit | 4b226a6a638b7572c0fcbf8964bfb02e675b2e6b (patch) | |
tree | 0e509e3f7b7fb505e75862412f19fe84dbb5e5e2 | |
parent | 48018500135005eddbf9272035c23544e338b29a (diff) | |
download | matterbridge-msglm-4b226a6a638b7572c0fcbf8964bfb02e675b2e6b.tar.gz matterbridge-msglm-4b226a6a638b7572c0fcbf8964bfb02e675b2e6b.tar.bz2 matterbridge-msglm-4b226a6a638b7572c0fcbf8964bfb02e675b2e6b.zip |
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
-rw-r--r-- | bridge/telegram/handlers.go | 24 |
1 files changed, 24 insertions, 0 deletions
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{})} |