From a4903e77edd5d47d63c13bb02b2d2e9e24df016c Mon Sep 17 00:00:00 2001 From: Adhiraj Date: Wed, 20 May 2020 16:42:47 +0530 Subject: [PATCH] Quote Everything Now + Handling more unread messages --- .DS_Store | Bin 12292 -> 14340 bytes README.md | 41 +++++++++-------- WhatsAppWeb.Send.js | 97 +++++++++++++++++++++++------------------ WhatsAppWeb.Session.js | 2 + example/.DS_Store | Bin 6148 -> 6148 bytes example/example.js | 15 +++---- example/meme.jpeg | Bin 0 -> 57782 bytes 7 files changed, 86 insertions(+), 69 deletions(-) create mode 100644 example/meme.jpeg diff --git a/.DS_Store b/.DS_Store index be0f4a7a89a2fd26ef9b22bababe8800458c7689..01a419bcd706f49489529495e217c9e38fc9412d 100644 GIT binary patch delta 1728 zcmcIkO-~b16g|@xsj&g1>9kc6M{U)`;B;y~AnKw>LsUc*b!Whq)`ErBek}YTvk+ak zc^g;i#zdAn3u9u8TURdpA+Fq+=$V0F5oy{8GnqU0-uLc%_niCQU7cGkD*&Xi`n(QA zsJi)C{{auhGeGe)70s8X;iMB-#vN4f0JF$8?;jTt)zu?$&?OpSO?qz51}1vVUbo9F zh0Ral_mZyW2zF3Mpjhiksi@? zRf&xz#7l47>>p@2IPKM7(v~6f=irc2Ix2#4lJc6YQ$CU79Q+`kmEMXU@&x61f7+H| z@y4%E`{KV$=?ieoyd79`Nk@c7S@G(KBg)*OeDnM#kZZ}%e5`zP8bSK&sG&gQ3uGaW z5)`63&6p(R8I01N#ue&|sB(1qVzHFX6iXSxByo;+7TjO$r+bNaF%-z?h+H%EqT*jKK@sEN3U6b&G}DkR3vq+JMr>_5S8|lSQu1abxER zTWOY_G9cALbKAu`=F`}1LfiAXE$J93+oYsZ>cnJdjW^Ia|sL7ej(_Bhsi%82bKs7>P^H>Kk;>_QccE$6y@ q8M?Zn9Ug0AqdSm~ZB=e9@?ITlgPZJKpJ>mg1vs_iP4D_xE58BAD`w{a delta 416 zcmZoEXh~3DU|?W$DortDV9)?EIe-{M3-ADifgAci;E{4n6R)i0wq}{YY8n9Hr7!vGBmB#QK&XFFf`IpFtN0ld|$|j_y7O@Ks5{u zd<-TGDH|^`vu$SQVBuht-Yh6QnTb(j@?BAt$tOjH88tTF6?I@{gko!W{I6*%li&ydb2Ml| diff --git a/README.md b/README.md index a024c71..a64667c 100644 --- a/README.md +++ b/README.md @@ -62,14 +62,15 @@ ``` - Send text messages & quote another message using ``` javascript - client.sendTextMessage(id, "oh hello there", quotedMessage) + const options = {quoted: quotedMessage} + client.sendTextMessage(id, "oh hello there", options) ``` ``` quotedMessage ``` is a message object - Send a media (image, video, sticker, pdf) message using ``` javascript const buffer = fs.readFileSync("example/ma_gif.mp4") // load some gif - const info = {gif: true, caption: "hello!"} // some metadata & caption - client.sendMediaMessage(id, buffer, WhatsAppWeb.MessageType.video, info) + const options = {gif: true, caption: "hello!"} // some metadata & caption + client.sendMediaMessage(id, buffer, WhatsAppWeb.MessageType.video, options) ``` - The thumbnail can be generated automatically for images & stickers. Though, to automatically generate thumbnails for videos, you need to have ``` ffmpeg ``` installed on your system - ```mediaBuffer``` is just a Buffer containing the contents of the media you want to send @@ -82,23 +83,25 @@ WhatsAppWeb.MessageType.sticker // a sticker message ] ``` - - ```info``` is a JSON object, providing some information about the media. It can have the following __optional__ values: - ``` javascript - info = { - caption: "hello there!", // the caption to send with the media (cannot be sent with stickers though) - thumbnail: null, /* has to be a base 64 encoded JPEG if you want to send a custom thumb, - or set to null if you don't want to send a thumbnail. - Do not enter this field if you want to automatically generate a thumb - */ - mimetype: "application/pdf", /* specify the type of media (optional for all media types except documents), - for pdf files => set to "application/pdf", - for txt files => set to "application/txt" - etc. - */ - gif: true // only applicable to video messages, if the video should be treated as a GIF - } - ``` - Tested formats: png, jpeg, webp (sticker), mp4, ogg + ```options``` is a JSON object, providing some information about the message. It can have the following __optional__ values: + ``` javascript + info = { + caption: "hello there!", // (for media messages) the caption to send with the media (cannot be sent with stickers though) + thumbnail: null, /* (for media messages) has to be a base 64 encoded JPEG if you want to send a custom thumb, + or set to null if you don't want to send a thumbnail. + Do not enter this field if you want to automatically generate a thumb + */ + mimetype: "application/pdf", /* (for media messages) specify the type of media (optional for all media types except documents), + for pdf files => set to "application/pdf", + for txt files => set to "application/txt" + etc. + */ + gif: true, // (for video messages) if the video should be treated as a GIF + quoted: quotedMessage, // the message you want to quote (can used with sending all kinds of messages now) + timestamp: Date() // optional, if you want to manually set the timestamp of the message + } + ``` ``` id ``` is the WhatsApp id of the person or group you're sending the message to. It must be in the format ```[country code][phone number]@s.whatsapp.net```, for example ```+19999999999@s.whatsapp.net``` for people. For groups, it must be in the format ``` 123456789-123345@g.us ```. * __Sending Read Receipts__ diff --git a/WhatsAppWeb.Send.js b/WhatsAppWeb.Send.js index 43431ef..a196b2c 100644 --- a/WhatsAppWeb.Send.js +++ b/WhatsAppWeb.Send.js @@ -36,46 +36,38 @@ module.exports = { * Send a text message * @param {string} id the JID of the person/group you're sending the message to * @param {string} txt the actual text of the message - * @param {object} [quoted] the message you may wanna quote along with this message - * @param {Date} [timestamp] optionally set the timestamp of the message in Unix time MS + * @param {object} [options] some additional options + * @param {object} [options.quoted] the message you may wanna quote along with this message + * @param {Date} [options.timestamp] optionally set the timestamp of the message in Unix time MS * @return {Promise<[object, object]>} */ - sendTextMessage: function (id, txt, quoted, timestamp) { + sendTextMessage: function (id, txt, options) { if (typeof txt !== "string") { return Promise.reject("expected text to be a string") } let message - if (quoted) { - message = { - extendedTextMessage: { - text: txt, - contextInfo: { - participant: quoted.key.remoteJid, - stanzaId: quoted.key.id, - quotedMessage: quoted.message - } - } - } + if (options.quoted) { + message = {extendedTextMessage: { text: txt }} } else { message = {conversation: txt} } - - return this.sendMessage(id, message, timestamp) + return this.sendMessage(id, message, options) }, /** * Send a media message * @param {string} id the JID of the person/group you're sending the message to * @param {Buffer} buffer the buffer of the actual media you're sending * @param {string} mediaType the type of media, can be one of [imageMessage, documentMessage, stickerMessage, videoMessage] - * @param {Object} [info] object to hold some metadata or caption about the media - * @param {string} [info.caption] caption to go along with the media - * @param {string} [info.thumbnail] base64 encoded thumbnail for the media - * @param {string} [info.mimetype] specify the Mimetype of the media (required for document messages) - * @param {boolean} [info.gif] whether the media is a gif or not, only valid for video messages - * @param {Date} [timestamp] optionally set the timestamp of the message in Unix time MS + * @param {Object} [options] additional information about the message + * @param {string} [options.caption] caption to go along with the media + * @param {string} [options.thumbnail] base64 encoded thumbnail for the media + * @param {string} [options.mimetype] specify the Mimetype of the media (required for document messages) + * @param {boolean} [options.gif] whether the media is a gif or not, only valid for video messages + * @param {object} [options.quoted] the message you may wanna quote along with this message + * @param {Date} [options.timestamp] optionally set the timestamp of the message in Unix time MS * @return {Promise<[object, object]>} */ - sendMediaMessage: function (id, buffer, mediaType, info, timestamp) { + sendMediaMessage: function (id, buffer, mediaType, options) { // path to upload the media const mediaPathMap = { imageMessage: "/mms/image", @@ -92,20 +84,20 @@ module.exports = { audioMessage: "audio/ogg; codecs=opus", stickerMessage: "image/webp" } - if (!info) { - info = {} + if (!options) { + options = {} } if (mediaType === "conversation" || mediaType === "extendedTextMessage") { return Promise.reject("use sendTextMessage() to send text messages") } - if (mediaType === "documentMessage" && !info.mimetype) { + if (mediaType === "documentMessage" && !options.mimetype) { return Promise.reject("mimetype required to send a document") } - if (mediaType === "stickerMessage" && info.caption) { + if (mediaType === "stickerMessage" && options.caption) { return Promise.reject("cannot send a caption with a sticker") } - if (!info.mimetype) { - info.mimetype = defaultMimetypeMap[mediaType] + if (!options.mimetype) { + options.mimetype = defaultMimetypeMap[mediaType] } // generate a media key @@ -118,7 +110,7 @@ module.exports = { // url safe Base64 encode the SHA256 hash of the body const fileEncSha256B64 = Utils.sha256(body).toString('base64').replace(/\+/g, '-').replace(/\//g, '_').replace(/\=+$/, '') - return Utils.generateThumbnail(buffer, mediaType, info) + return Utils.generateThumbnail(buffer, mediaType, options) .then (() => this.query(["query", "mediaConn"])) // send a query JSON to obtain the url & auth token to upload our media .then (([json,_]) => { json = json.media_conn @@ -141,19 +133,19 @@ module.exports = { .then (url => { let message = {} message[mediaType] = { - caption: info.caption, + caption: options.caption, url: url, mediaKey: mediaKey.toString('base64'), - mimetype: info.mimetype, + mimetype: options.mimetype, fileEncSha256: fileEncSha256B64, fileSha256: fileSha256.toString('base64'), fileLength: buffer.length, - jpegThumbnail: info.thumbnail + jpegThumbnail: options.thumbnail } - if (mediaType === "videoMessage" && info.gif) { - message[mediaType].gifPlayback = info.gif + if (mediaType === "videoMessage" && options.gif) { + message[mediaType].gifPlayback = options.gif } - return this.sendMessage(id, message, timestamp) + return this.sendMessage(id, message, options) }) }, /** @@ -161,14 +153,33 @@ module.exports = { * @private * @param {string} id who to send the message to * @param {object} message like, the message - * @param {Date} [timestamp] timestamp for the message + * @param {object} [options] some additional options + * @param {object} [options.quoted] the message you may wanna quote along with this message + * @param {Date} [options.timestamp] timestamp for the message * @return {Promise<[object, object]>} array of the recieved JSON & the query JSON */ - sendMessage: function (id, message, timestamp) { - if (!timestamp) { // if no timestamp was provided, - timestamp = new Date() // set timestamp to now + sendMessage: function (id, message, options) { + if (!options.timestamp) { // if no timestamp was provided, + options.timestamp = new Date() // set timestamp to now } - timestamp = timestamp.getTime()/1000 + const timestamp = options.timestamp.getTime()/1000 + const quoted = options.quoted + if (quoted) { + const key = Object.keys(message)[0] + const participant = quoted.key.participant || quoted.key.remoteJid + message[key].contextInfo = { + participant: participant, + stanzaId: quoted.key.id, + quotedMessage: quoted.message + } + // if a participant is quoted, then it must be a group + // hence, remoteJid of group must also be entered + if (quoted.key.participant) { + message[key].contextInfo.remoteJid = quoted.key.remoteJid + } + } + console.log(JSON.stringify(quoted)) + console.log(JSON.stringify(message)) let messageJSON = { key: { @@ -180,13 +191,15 @@ module.exports = { messageTimestamp: timestamp, status: "ERROR" } + if (id.includes ("@g.us")) { messageJSON.participant = this.userMetaData.id } const json = [ "action", {epoch: this.msgCount.toString(), type: "relay"}, - [ ["message", null, messageJSON] ]] + [ ["message", null, messageJSON] ] + ] return this.query(json, [16, 128], null, messageJSON.key.id) }, /** diff --git a/WhatsAppWeb.Session.js b/WhatsAppWeb.Session.js index 02de394..720e83b 100644 --- a/WhatsAppWeb.Session.js +++ b/WhatsAppWeb.Session.js @@ -124,12 +124,14 @@ module.exports = { // de-register the callbacks, so that they don't get called again this.deregisterCallback (["action", "add:last"]) this.deregisterCallback (["action", "add:before"]) + this.deregisterCallback (["action", "add:unread"]) resolve () } } // wait for actual messages to load, "last" is the most recent message, "before" contains prior messages this.registerCallback (["action", "add:last"], chatUpdate) this.registerCallback (["action", "add:before"], chatUpdate) + this.registerCallback (["action", "add:unread"], chatUpdate) }) const waitForChats = this.registerCallbackOneTime (["response", "type:chat"]).then (json => { chats = json[2] // chats data (log json to see what it looks like) diff --git a/example/.DS_Store b/example/.DS_Store index 87af765292eaa0821674fbe05c9f262b45790db1..f9d4071b14ca589a3d94553e6affc2e555e21fad 100644 GIT binary patch delta 193 zcmZoMXfc=|#>B`mu~2NHo}wrV0|Nsi1A_nqLn=cNLoq`lLkUCXWJbp2z91Pf24{wR zhCGHcWLdC?D?H`|bC=R4G{(}Jn!^EC!Wln}% ypfMl}QeFV0)6ulFZhWE0wwaxSp9AQ?&5VrSnJ4p$7;*sJ$It-8n>|GKFarRv*()&s delta 84 zcmZoMXfc=|#>CJ*u~2NHo}wrd0|Nsi1A_nqLjgk$Ln?zFLl#5v#6tDS1|lqzqZu client.updatePresence(m.key.remoteJid, WhatsAppWeb.Presence.available)) // tell them we're available .then (() => client.updatePresence(m.key.remoteJid, WhatsAppWeb.Presence.composing)) // tell them we're composing .then (() => { // send the message - if (Math.random() > 0.5) { // choose at random - return client.sendTextMessage(m.key.remoteJid, "hello!", m) // send a "hello!" & quote the message recieved + let options = {quoted: m} + if (Math.random() > 0.7) { // choose at random + return client.sendTextMessage(m.key.remoteJid, "hello!", options) // send a "hello!" & quote the message recieved } else { - const buffer = fs.readFileSync("./ma_gif.mp4") // load the gif - const info = { - gif: true, // the video is a gif - caption: "hello!" // the caption - } - return client.sendMediaMessage (m.key.remoteJid, buffer, WhatsAppWeb.MessageType.video, info) // send this gif! + const buffer = fs.readFileSync("example/ma_gif.mp4") // load the gif + options.gif = true // the video is a gif + options.caption = "hello!" // the caption + return client.sendMediaMessage (m.key.remoteJid, buffer, WhatsAppWeb.MessageType.video, options) // send this gif! } }) .then (([m, q]) => { // check if it went successfully diff --git a/example/meme.jpeg b/example/meme.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..e09535bcd05a6ae420a1099707931c4ba6566c9a GIT binary patch literal 57782 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 XoRnR@SmEw^9%L1DAQJPS9nk&{&^rEI literal 0 HcmV?d00001