mirror of
https://github.com/cwinfo/matterbridge.git
synced 2024-11-22 16:20:26 +00:00
This commit is contained in:
parent
288f0a06bb
commit
d82726cd1b
@ -257,7 +257,7 @@ func (b *Bslack) handleAttachments(ev *slack.MessageEvent, rmsg *config.Message)
|
|||||||
|
|
||||||
// If we have files attached, download them (in memory) and put a pointer to it in msg.Extra.
|
// If we have files attached, download them (in memory) and put a pointer to it in msg.Extra.
|
||||||
for i := range ev.Files {
|
for i := range ev.Files {
|
||||||
if err := b.handleDownloadFile(rmsg, &ev.Files[i]); err != nil {
|
if err := b.handleDownloadFile(rmsg, &ev.Files[i], false); err != nil {
|
||||||
b.Log.Errorf("Could not download incoming file: %#v", err)
|
b.Log.Errorf("Could not download incoming file: %#v", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -276,7 +276,7 @@ func (b *Bslack) handleTypingEvent(ev *slack.UserTypingEvent) (*config.Message,
|
|||||||
}
|
}
|
||||||
|
|
||||||
// handleDownloadFile handles file download
|
// handleDownloadFile handles file download
|
||||||
func (b *Bslack) handleDownloadFile(rmsg *config.Message, file *slack.File) error {
|
func (b *Bslack) handleDownloadFile(rmsg *config.Message, file *slack.File, retry bool) error {
|
||||||
if b.fileCached(file) {
|
if b.fileCached(file) {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
@ -292,6 +292,12 @@ func (b *Bslack) handleDownloadFile(rmsg *config.Message, file *slack.File) erro
|
|||||||
return fmt.Errorf("download %s failed %#v", file.URLPrivateDownload, err)
|
return fmt.Errorf("download %s failed %#v", file.URLPrivateDownload, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if len(*data) != file.Size && !retry {
|
||||||
|
b.Log.Debugf("Data size (%d) is not equal to size declared (%d)\n", len(*data), file.Size)
|
||||||
|
time.Sleep(1 * time.Second)
|
||||||
|
return b.handleDownloadFile(rmsg, file, true)
|
||||||
|
}
|
||||||
|
|
||||||
// If a comment is attached to the file(s) it is in the 'Text' field of the Slack messge event
|
// If a comment is attached to the file(s) it is in the 'Text' field of the Slack messge event
|
||||||
// and should be added as comment to only one of the files. We reset the 'Text' field to ensure
|
// and should be added as comment to only one of the files. We reset the 'Text' field to ensure
|
||||||
// that the comment is not duplicated.
|
// that the comment is not duplicated.
|
||||||
|
Loading…
Reference in New Issue
Block a user