Make linter happy and cleanup (msteams)

This commit is contained in:
Wim 2020-01-01 22:08:11 +01:00
parent a65a81610b
commit 915ca8f817
2 changed files with 16 additions and 14 deletions

View File

@ -5,6 +5,7 @@ import (
"github.com/42wim/matterbridge/bridge/config" "github.com/42wim/matterbridge/bridge/config"
"github.com/42wim/matterbridge/bridge/helper" "github.com/42wim/matterbridge/bridge/helper"
msgraph "github.com/yaegashi/msgraph.go/beta"
) )
func (b *Bmsteams) findFile(weburl string) (string, error) { func (b *Bmsteams) findFile(weburl string) (string, error) {
@ -44,3 +45,15 @@ func (b *Bmsteams) handleDownloadFile(rmsg *config.Message, filename, weburl str
helper.HandleDownloadData(b.Log, rmsg, filename, comment, weburl, data, b.General) helper.HandleDownloadData(b.Log, rmsg, filename, comment, weburl, data, b.General)
return nil return nil
} }
func (b *Bmsteams) handleAttachments(rmsg *config.Message, msg msgraph.ChatMessage) {
for _, a := range msg.Attachments {
//remove the attachment tags from the text
rmsg.Text = attachRE.ReplaceAllString(rmsg.Text, "")
//handle the download
err := b.handleDownloadFile(rmsg, *a.Name, *a.ContentURL)
if err != nil {
b.Log.Errorf("download of %s failed: %s", *a.Name, err)
}
}
}

View File

@ -19,8 +19,8 @@ import (
"golang.org/x/oauth2" "golang.org/x/oauth2"
) )
//var defaultScopes = []string{"openid", "profile", "offline_access", "User.Read", "Files.Read", "ChannelMessage.Read.All", "Chat.ReadWrite", "User.Read.All", "User.ReadWrite.All", "Group.Read.All", "Group.ReadWrite.All"} var defaultScopes = []string{} //"openid", "profile", "offline_access", "Group.Read.All", "Group.ReadWrite.All"}
var defaultScopes = []string{"openid", "profile", "offline_access", "Group.Read.All", "Group.ReadWrite.All"} var attachRE = regexp.MustCompile(`<attachment id=.*?attachment>`)
type Bmsteams struct { type Bmsteams struct {
gc *msgraph.GraphServiceRequestBuilder gc *msgraph.GraphServiceRequestBuilder
@ -121,7 +121,6 @@ func (b *Bmsteams) getMessages(channel string) ([]msgraph.ChatMessage, error) {
} }
func (b *Bmsteams) poll(channelName string) { func (b *Bmsteams) poll(channelName string) {
re := regexp.MustCompile(`<attachment id=.*?attachment>`)
msgmap := make(map[string]time.Time) msgmap := make(map[string]time.Time)
b.Log.Debug("getting initial messages") b.Log.Debug("getting initial messages")
res, err := b.getMessages(channelName) res, err := b.getMessages(channelName)
@ -173,17 +172,7 @@ func (b *Bmsteams) poll(channelName string) {
Extra: make(map[string][]interface{}), Extra: make(map[string][]interface{}),
} }
if len(msg.Attachments) > 0 { b.handleAttachments(&rmsg, msg)
for _, a := range msg.Attachments {
//remove the attachment tags from the text
rmsg.Text = re.ReplaceAllString(rmsg.Text, "")
//handle the download
err := b.handleDownloadFile(&rmsg, *a.Name, *a.ContentURL)
if err != nil {
b.Log.Errorf("download of %s failed: %s", *a.Name, err)
}
}
}
b.Log.Debugf("<= Message is %#v", rmsg) b.Log.Debugf("<= Message is %#v", rmsg)
b.Remote <- rmsg b.Remote <- rmsg
} }