diff --git a/Media/received_img.jpeg b/Media/received_img.jpeg deleted file mode 100644 index e09535b..0000000 Binary files a/Media/received_img.jpeg and /dev/null differ diff --git a/Media/sonata.mp3 b/Media/sonata.mp3 new file mode 100644 index 0000000..4bb3661 Binary files /dev/null and b/Media/sonata.mp3 differ diff --git a/README.md b/README.md index 929dd6c..b3ed591 100644 --- a/README.md +++ b/README.md @@ -186,6 +186,10 @@ conn.sendMessage(id, {displayname: "Jeff", vcard: vcard}, MessageType.contact) const buffer = fs.readFileSync("Media/ma_gif.mp4") // load some gif const options: MessageOptions = {mimetype: Mimetype.gif, caption: "hello!"} // some metadata & caption conn.sendMessage(id, buffer, MessageType.video, options) +// send an audio file +const buffer = fs.readFileSync("Media/audio.mp3") // can send mp3, mp4, & ogg -- but for mp3 files the mimetype must be set to ogg +const options: MessageOptions = {mimetype: Mimetype.ogg} // some metadata (can't have caption in audio) +conn.sendMessage(id, buffer, MessageType.audio, options) ``` To note: diff --git a/src/Tests/Tests.Messages.ts b/src/Tests/Tests.Messages.ts index d180ece..a860443 100644 --- a/src/Tests/Tests.Messages.ts +++ b/src/Tests/Tests.Messages.ts @@ -1,4 +1,4 @@ -import { MessageType, Mimetype, delay, promiseTimeout, WAMessage, WA_MESSAGE_STATUS_TYPE, WAMessageStatusUpdate, MessageLogLevel } from '../WAConnection/WAConnection' +import { MessageType, Mimetype, delay, promiseTimeout, WA_MESSAGE_STATUS_TYPE, WAMessageStatusUpdate } from '../WAConnection/WAConnection' import {promises as fs} from 'fs' import * as assert from 'assert' import { WAConnectionTest, testJid, sendAndRetreiveMessage } from './Common' @@ -44,6 +44,12 @@ WAConnectionTest('Messages', conn => { await conn.downloadAndSaveMediaMessage(message,'./Media/received_vid') }) + it('should send an audio', async () => { + const content = await fs.readFile('./Media/sonata.mp3') + const message = await sendAndRetreiveMessage(conn, content, MessageType.audio, { mimetype: Mimetype.ogg }) + + await conn.downloadAndSaveMediaMessage(message,'./Media/received_aud') + }) it('should send an image', async () => { const content = await fs.readFile('./Media/meme.jpeg') const message = await sendAndRetreiveMessage(conn, content, MessageType.image) diff --git a/src/WAConnection/6.MessagesSend.ts b/src/WAConnection/6.MessagesSend.ts index 5970e9d..8b1ddd4 100644 --- a/src/WAConnection/6.MessagesSend.ts +++ b/src/WAConnection/6.MessagesSend.ts @@ -150,7 +150,7 @@ export class WAConnection extends Base { if (options.contextInfo) message[key].contextInfo = options.contextInfo if (quoted) { - const participant = quoted.key.fromMe ? this.user.jid : (quoted.key.participant || quoted.key.remoteJid) + const participant = quoted.key.fromMe ? this.user.jid : (quoted.participant || quoted.key.participant || quoted.key.remoteJid) message[key].contextInfo = message[key].contextInfo || { } message[key].contextInfo.participant = participant diff --git a/src/WAConnection/Constants.ts b/src/WAConnection/Constants.ts index 377ebf3..144a698 100644 --- a/src/WAConnection/Constants.ts +++ b/src/WAConnection/Constants.ts @@ -265,6 +265,7 @@ export enum Mimetype { gif = 'video/gif', pdf = 'application/pdf', ogg = 'audio/ogg; codecs=opus', + mp4Audio = 'audio/mp4', /** for stickers */ webp = 'image/webp', }