From 2a403f8b85aec092eef9216d717984aa5fdfd0b9 Mon Sep 17 00:00:00 2001 From: Wim Date: Sat, 17 Jun 2017 18:25:17 +0200 Subject: [PATCH] Add initial sticker/video/photo/document support (telegram). #184 --- bridge/telegram/telegram.go | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/bridge/telegram/telegram.go b/bridge/telegram/telegram.go index b0224347..fa6975ee 100644 --- a/bridge/telegram/telegram.go +++ b/bridge/telegram/telegram.go @@ -114,9 +114,31 @@ func (b *Btelegram) handleRecv(updates <-chan tgbotapi.Update) { if username == "" { username = "unknown" } + if message.Sticker != nil { + text = text + " " + b.getFileDirectURL(message.Sticker.FileID) + } + if message.Video != nil { + text = text + " " + b.getFileDirectURL(message.Video.FileID) + } + if message.Photo != nil { + for _, p := range *message.Photo { + text = text + " " + b.getFileDirectURL(p.FileID) + } + } + if message.Document != nil { + text = text + " " + message.Document.FileName + " : " + b.getFileDirectURL(message.Document.FileID) + } if text != "" { flog.Debugf("Sending message from %s on %s to gateway", username, b.Account) b.Remote <- config.Message{Username: username, Text: text, Channel: channel, Account: b.Account} } } } + +func (b *Btelegram) getFileDirectURL(id string) string { + res, err := b.c.GetFileDirectURL(id) + if err != nil { + return "" + } + return res +}