summaryrefslogtreecommitdiffstats
path: root/bridge/telegram
diff options
context:
space:
mode:
authorWim <wim@42.be>2022-02-04 16:15:19 +0100
committerGitHub <noreply@github.com>2022-02-04 16:15:19 +0100
commit4b226a6a638b7572c0fcbf8964bfb02e675b2e6b (patch)
tree0e509e3f7b7fb505e75862412f19fe84dbb5e5e2 /bridge/telegram
parent48018500135005eddbf9272035c23544e338b29a (diff)
downloadmatterbridge-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
Diffstat (limited to 'bridge/telegram')
-rw-r--r--bridge/telegram/handlers.go24
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{})}