mirror of
https://github.com/FranP-code/Baileys.git
synced 2025-10-13 00:32:22 +00:00
Added DownloadMediaMessage
This commit is contained in:
@@ -17,7 +17,7 @@ import {
|
||||
} from './Constants'
|
||||
import { generateMessageID, sha256, hmacSign, aesEncrypWithIV, randomBytes } from '../WAConnection/Utils'
|
||||
import { WAMessageContent, WAMetric, WAFlag, WANode, WAMessage, WAMessageProto } from '../WAConnection/Constants'
|
||||
import { validateJIDForSending, generateThumbnail, getMediaKeys } from './Utils'
|
||||
import { validateJIDForSending, generateThumbnail, getMediaKeys, decodeMediaMessageBuffer } from './Utils'
|
||||
import { proto } from '../../WAMessage/WAMessage'
|
||||
|
||||
export default class WhatsAppWebMessages extends WhatsAppWebGroups {
|
||||
@@ -335,4 +335,19 @@ export default class WhatsAppWebMessages extends WhatsAppWebGroups {
|
||||
message: messageJSON as WAMessage
|
||||
} as WASendMessageResponse
|
||||
}
|
||||
/**
|
||||
* Securely downloads the media from the message.
|
||||
* Renews the download url automatically, if necessary.
|
||||
*/
|
||||
async downloadMediaMessage (message: WAMessage) {
|
||||
try {
|
||||
return decodeMediaMessageBuffer (message.message)
|
||||
} catch (error) {
|
||||
if (error.toString().includes('Empty buffer returned')) {
|
||||
await this.updateMediaMessage (message)
|
||||
return decodeMediaMessageBuffer (message.message)
|
||||
}
|
||||
throw error
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user