mirror of
https://github.com/FranP-code/Baileys.git
synced 2025-10-13 00:32:22 +00:00
Fixed promise bug
This commit is contained in:
@@ -134,7 +134,7 @@ Baileys is super easy to use:
|
|||||||
* To check if a given ID is on WhatsApp
|
* To check if a given ID is on WhatsApp
|
||||||
``` javascript
|
``` javascript
|
||||||
client.isOnWhatsApp ("xyz@c.us")
|
client.isOnWhatsApp ("xyz@c.us")
|
||||||
.then ((exists, id) => console.log(id + (exists ? " exists " : " does not exist") + "on WhatsApp"))
|
.then (([exists, id]) => console.log(id + (exists ? " exists " : " does not exist") + "on WhatsApp"))
|
||||||
```
|
```
|
||||||
* To query chat history on a group or with someone
|
* To query chat history on a group or with someone
|
||||||
``` javascript
|
``` javascript
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
module.exports = function(WhatsAppWeb) {
|
module.exports = function(WhatsAppWeb) {
|
||||||
// check if given number is registered on WhatsApp
|
// check if given number is registered on WhatsApp
|
||||||
WhatsAppWeb.prototype.isOnWhatsApp = function (jid) {
|
WhatsAppWeb.prototype.isOnWhatsApp = function (jid) {
|
||||||
return this.query(["query", "exist", jid])
|
return this.query(["query", "exist", jid]).then (([m, q]) => [m.status === 200, q[2]])
|
||||||
}
|
}
|
||||||
// check the presence status of a given jid
|
// check the presence status of a given jid
|
||||||
WhatsAppWeb.prototype.requestPresenceUpdate = function (jid) {
|
WhatsAppWeb.prototype.requestPresenceUpdate = function (jid) {
|
||||||
|
|||||||
@@ -186,13 +186,7 @@ module.exports = function(WhatsAppWeb) {
|
|||||||
// if this message is responding to a query
|
// if this message is responding to a query
|
||||||
if (this.callbacks[messageTag]) {
|
if (this.callbacks[messageTag]) {
|
||||||
const q = this.callbacks[messageTag]
|
const q = this.callbacks[messageTag]
|
||||||
if (q.queryJSON[1] === "exist") {
|
q.callback([json, q.queryJSON])
|
||||||
q.callback(json.status == 200, q.queryJSON[2])
|
|
||||||
} else if (q.queryJSON[1] === "mediaConn") {
|
|
||||||
q.callback(json.media_conn)
|
|
||||||
} else {
|
|
||||||
q.callback(json)
|
|
||||||
}
|
|
||||||
delete this.callbacks[messageTag]
|
delete this.callbacks[messageTag]
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -95,7 +95,8 @@ module.exports = function(WhatsAppWeb) {
|
|||||||
|
|
||||||
return Utils.generateThumbnail(buffer, mediaType, info)
|
return Utils.generateThumbnail(buffer, mediaType, info)
|
||||||
.then (() => this.query(["query", "mediaConn"])) // send a query JSON to obtain the url & auth token to upload our media
|
.then (() => this.query(["query", "mediaConn"])) // send a query JSON to obtain the url & auth token to upload our media
|
||||||
.then (json => {
|
.then (([json,_]) => {
|
||||||
|
json = json.media_conn
|
||||||
const auth = json.auth // the auth token
|
const auth = json.auth // the auth token
|
||||||
let hostname = "https://" + json.hosts[0].hostname // first hostname available
|
let hostname = "https://" + json.hosts[0].hostname // first hostname available
|
||||||
hostname += mediaPathMap[mediaType] + "/" + fileEncSha256B64 // append path
|
hostname += mediaPathMap[mediaType] + "/" + fileEncSha256B64 // append path
|
||||||
@@ -151,7 +152,7 @@ module.exports = function(WhatsAppWeb) {
|
|||||||
|
|
||||||
const json = [
|
const json = [
|
||||||
"action",
|
"action",
|
||||||
{epoch: this.msgCount.toString(), type: "relay" },
|
{epoch: this.msgCount.toString(), type: "relay"},
|
||||||
[ ["message", null, messageJSON] ]
|
[ ["message", null, messageJSON] ]
|
||||||
]
|
]
|
||||||
return this.query(json, [16, 64])
|
return this.query(json, [16, 64])
|
||||||
|
|||||||
@@ -54,16 +54,23 @@ client.handlers.onUnreadMessage = (m) => {
|
|||||||
setTimeout(() => client.sendReadReceipt(m.key.remoteJid, m.key.id), 2*1000) // send a read reciept for the message in 2 seconds
|
setTimeout(() => client.sendReadReceipt(m.key.remoteJid, m.key.id), 2*1000) // send a read reciept for the message in 2 seconds
|
||||||
setTimeout(() => client.updatePresence(m.key.remoteJid, WhatsAppWeb.Presence.composing), 2.5*1000) // let them know you're typing in 2.5 seconds
|
setTimeout(() => client.updatePresence(m.key.remoteJid, WhatsAppWeb.Presence.composing), 2.5*1000) // let them know you're typing in 2.5 seconds
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
|
let promise
|
||||||
if (Math.random() > 0.5) { // choose at random
|
if (Math.random() > 0.5) { // choose at random
|
||||||
client.sendTextMessage(m.key.remoteJid, "hello!", m) // send a "hello!" & quote the message recieved
|
promise = client.sendTextMessage(m.key.remoteJid, "hello!", m) // send a "hello!" & quote the message recieved
|
||||||
} else {
|
} else {
|
||||||
const buffer = fs.readFileSync("./ma_gif.mp4") // load the gif
|
const buffer = fs.readFileSync("./ma_gif.mp4") // load the gif
|
||||||
const info = {
|
const info = {
|
||||||
gif: true, // the video is a gif
|
gif: true, // the video is a gif
|
||||||
caption: "hello!" // the caption
|
caption: "hello!" // the caption
|
||||||
}
|
}
|
||||||
client.sendMediaMessage (m.key.remoteJid, buffer, WhatsAppWeb.MessageType.video, info) // send this gif!
|
promise = client.sendMediaMessage (m.key.remoteJid, buffer, WhatsAppWeb.MessageType.video, info) // send this gif!
|
||||||
}
|
}
|
||||||
|
promise.then (([m, q]) => {
|
||||||
|
const success = m.status === 200
|
||||||
|
const messageID = q[2][0][2].key.id
|
||||||
|
console.log("sent message with ID '" + messageID + "' successfully: " + success)
|
||||||
|
})
|
||||||
|
|
||||||
}, 4*1000) // send after 4 seconds
|
}, 4*1000) // send after 4 seconds
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user