.toNumber added for Chats-out Node

This commit is contained in:
rawee
2023-01-17 01:38:37 +05:30
parent 02e63b7497
commit 98742199d5
5 changed files with 100 additions and 44 deletions
+12 -2
View File
@@ -55,7 +55,14 @@ Admin Node generate QR Code just below the node for easy connection with whatsap
3. **Chats Out** : As simple as mention on name, node will send `msg.payload` recived at input to the number mentioned in node.
*Don't forget to mention international dialing code befor your number. Number must be in format like `+11 99999 99999` without any space.*
<p>Don't forget to mention international dialing code befor your number.
Number must be in format like <b>+11 99999 99999</b> without any space.</p>
<P><b>OR</b></P>
<P>Leave the Number blank and provide the number along with paylod
at `msg.toNumber` with international code.</P>
<p>To send message on multiple contacts an Arrar of number can be passed
on `msg.toNumber` like `msg.toNumber = [+1199999999, +12990000099, +1311111111].
</p>
4. **Group Message** : Whatsapp Group Node to send message in a Group.
@@ -63,7 +70,7 @@ Admin Node generate QR Code just below the node for easy connection with whatsap
5. **Reply Node** : In Beta mode.
Node will reply on each message starting with string mentioned in instruction or defaults `!red`.
Node will reply(the `payload`) on each message starting with string mentioned in instruction coloum or defaults `!red`.
## Issues & Updates
@@ -73,11 +80,14 @@ Issues and Suggestions are welcome [here.](https://github.com/raweee/node-red-co
* `Ver-0.1.21` : Group Message Node added.
* `Ver-0.1.23` : Nodes are formatted correctly and names are updated.
* `Ver-0.1.28` : Now QR Codes are directlly avilable in run time on Whatsapp-Admin-Node.
* `Ver-0.1.30` : Message can be send to an Array of contacts provided at `msg.toNumber`.
* Working on Reply Node.
## Future Nodes
Currently working on more Whatsapp Node and will be avilable soon -
1. Chat Reply node. (working)
2. Whatsapp button message.
3. Whatsapp List message.
2. Instruction (smart) Reply Node.
Complete detail for Nodes will also be updated as soon as possible.
+5
View File
@@ -33,6 +33,11 @@
<div class="form-tips">
<p>Don't forget to mention international dialing code befor your number.
Number must be in format like <b>+11 99999 99999</b> without any space.</p>
<P><b>OR</b></P>
<P>Leave the Number blank here and provide the number along with msg.paylod
at `msg.toNumber` with international code.</P>
<p>To send message on multiple contacts an Arrar of number can be passed
on `msg.toNumber` like `msg.toNumber = ["+1199999999", "+12990000099", "+1311111111"].</p>
</div>
</script>
+23 -11
View File
@@ -9,30 +9,42 @@ module.exports = function(RED) {
let SetStatus = function(WAStatus, color){
node.status({fill:color,shape:"dot",text:WAStatus});
};
const delay = ms => new Promise(resolve => setTimeout(resolve, ms));
node.on('input', (message)=> {
if (node.number){
node.number = node.number.replace(/\D/g, '');
node.number = `${node.number}@c.us`;
function whatsappMessage(numb , inputMessage){
if (node.waClient){
try {
node.waClient.sendMessage(node.number, message.payload);
numb = typeof numb ==='number' ? numb : numb.replace(/\D/g, '');
numb = `${numb}@c.us`;
node.waClient.sendMessage(numb, inputMessage);
SetStatus("Message Send.", "green");
setTimeout(()=>{
SetStatus('Connected','green');
}, 3000)
}, 2000)
}
catch(e) {
node.log(`Error Sending Msg: ${e}`);
};
}
else {
}
} else { node.log(`Error Sending Msg: ${e}`)}
};
node.on('input', (message)=> {
if (node.number){
whatsappMessage(node.number, message.payload);
} else if (message.toNumber){
var numbers = typeof message.toNumber === 'number' ? Array.of(message.toNumber) : message.toNumber;
for (number of numbers) {
setTimeout(()=> {
whatsappMessage(number, message.payload)}
, 3000);
}
} else {
SetStatus("No number","red");
setTimeout(()=>{
SetStatus('Connected','green');
}, 5000)
}
});
//whatsapp Status Parameters----
+57 -28
View File
@@ -1,17 +1,16 @@
{
"name": "node-red-contrib-whatsapp-link",
"version": "0.1.25",
"version": "0.1.30",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "node-red-contrib-whatsapp-link",
"version": "0.1.25",
"version": "0.1.30",
"license": "ISC",
"dependencies": {
"puppeteer": "latest",
"qrcode": "^1.5.1",
"whatsapp-web.js": "^1.18.4"
"whatsapp-web.js": "latest"
},
"engines": {
"node": ">=8.0.0"
@@ -23,9 +22,9 @@
"integrity": "sha512-wtnBAETBVYZ9GvcbgdswRVSLkFkYAGv1KzwBBTeRXvGT9sb9cPllOgFFWXCn9PyARQ0H+Ijz6mmoRrGateUDxQ=="
},
"node_modules/@types/node": {
"version": "18.11.9",
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
"integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==",
"version": "18.11.18",
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz",
"integrity": "sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==",
"optional": true
},
"node_modules/@types/yauzl": {
@@ -374,6 +373,25 @@
"node-fetch": "2.6.7"
}
},
"node_modules/cross-fetch/node_modules/node-fetch": {
"version": "2.6.7",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
"integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
"dependencies": {
"whatwg-url": "^5.0.0"
},
"engines": {
"node": "4.x || >=6.0.0"
},
"peerDependencies": {
"encoding": "^0.1.0"
},
"peerDependenciesMeta": {
"encoding": {
"optional": true
}
}
},
"node_modules/debug": {
"version": "4.3.4",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
@@ -838,9 +856,9 @@
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
},
"node_modules/node-fetch": {
"version": "2.6.7",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
"integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
"version": "2.6.8",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.8.tgz",
"integrity": "sha512-RZ6dBYuj8dRSfxpUSu+NsdF1dpPpluJxwOp+6IoDp/sH2QNDSvurYsAa+F1WxY2RjA1iP93xhcsUoYbF2XBqVg==",
"dependencies": {
"whatwg-url": "^5.0.0"
},
@@ -983,6 +1001,7 @@
"version": "13.7.0",
"resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-13.7.0.tgz",
"integrity": "sha512-U1uufzBjz3+PkpCxFrWzh4OrMIdIb2ztzCu0YEPfRHjHswcSwHZswnK+WdsOQJsRV8WeTg3jLhJR4D867+fjsA==",
"deprecated": "< 18.1.0 is no longer supported",
"hasInstallScript": true,
"dependencies": {
"cross-fetch": "3.1.5",
@@ -1051,9 +1070,9 @@
}
},
"node_modules/readdir-glob/node_modules/minimatch": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz",
"integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==",
"version": "5.1.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.4.tgz",
"integrity": "sha512-U0iNYXt9wALljzfnGkhFSy5sAC6/SCR3JrHrlsdJz4kF8MvhTRQNiC59iUi1iqsitV7abrNAJWElVL9pdnoUgw==",
"optional": true,
"dependencies": {
"brace-expansion": "^2.0.1"
@@ -1273,9 +1292,9 @@
"integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="
},
"node_modules/whatsapp-web.js": {
"version": "1.18.4",
"resolved": "https://registry.npmjs.org/whatsapp-web.js/-/whatsapp-web.js-1.18.4.tgz",
"integrity": "sha512-Dqu6Q37tDDAcVJ44aMdRE76sI/9rBCUG+NTz1Kxh2w4obX2WtpoRetilxqgx1r4+pFUl58Lf21wGOEwPZ1pT/A==",
"version": "1.19.2",
"resolved": "https://registry.npmjs.org/whatsapp-web.js/-/whatsapp-web.js-1.19.2.tgz",
"integrity": "sha512-ibEKy0KJsmH1rH9DKXfWk9vCnP/Dw/nZF9Ax3M7LCYtumSC+fiXMRF3BMVu7E75NRdv1pzjw4v05/Oq9aYY6aA==",
"dependencies": {
"@pedroslopez/moduleraid": "^5.0.2",
"fluent-ffmpeg": "^2.1.2",
@@ -1426,9 +1445,9 @@
"integrity": "sha512-wtnBAETBVYZ9GvcbgdswRVSLkFkYAGv1KzwBBTeRXvGT9sb9cPllOgFFWXCn9PyARQ0H+Ijz6mmoRrGateUDxQ=="
},
"@types/node": {
"version": "18.11.9",
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
"integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==",
"version": "18.11.18",
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz",
"integrity": "sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==",
"optional": true
},
"@types/yauzl": {
@@ -1695,6 +1714,16 @@
"integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==",
"requires": {
"node-fetch": "2.6.7"
},
"dependencies": {
"node-fetch": {
"version": "2.6.7",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
"integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
"requires": {
"whatwg-url": "^5.0.0"
}
}
}
},
"debug": {
@@ -2075,9 +2104,9 @@
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
},
"node-fetch": {
"version": "2.6.7",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
"integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
"version": "2.6.8",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.8.tgz",
"integrity": "sha512-RZ6dBYuj8dRSfxpUSu+NsdF1dpPpluJxwOp+6IoDp/sH2QNDSvurYsAa+F1WxY2RjA1iP93xhcsUoYbF2XBqVg==",
"requires": {
"whatwg-url": "^5.0.0"
}
@@ -2234,9 +2263,9 @@
}
},
"minimatch": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz",
"integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==",
"version": "5.1.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.4.tgz",
"integrity": "sha512-U0iNYXt9wALljzfnGkhFSy5sAC6/SCR3JrHrlsdJz4kF8MvhTRQNiC59iUi1iqsitV7abrNAJWElVL9pdnoUgw==",
"optional": true,
"requires": {
"brace-expansion": "^2.0.1"
@@ -2419,9 +2448,9 @@
"integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="
},
"whatsapp-web.js": {
"version": "1.18.4",
"resolved": "https://registry.npmjs.org/whatsapp-web.js/-/whatsapp-web.js-1.18.4.tgz",
"integrity": "sha512-Dqu6Q37tDDAcVJ44aMdRE76sI/9rBCUG+NTz1Kxh2w4obX2WtpoRetilxqgx1r4+pFUl58Lf21wGOEwPZ1pT/A==",
"version": "1.19.2",
"resolved": "https://registry.npmjs.org/whatsapp-web.js/-/whatsapp-web.js-1.19.2.tgz",
"integrity": "sha512-ibEKy0KJsmH1rH9DKXfWk9vCnP/Dw/nZF9Ax3M7LCYtumSC+fiXMRF3BMVu7E75NRdv1pzjw4v05/Oq9aYY6aA==",
"requires": {
"@pedroslopez/moduleraid": "^5.0.2",
"archiver": "^5.3.1",
+3 -3
View File
@@ -1,7 +1,7 @@
{
"name": "node-red-contrib-whatsapp-link",
"version": "0.1.29",
"description": "Node to send and receive whatsapp chats and group messages. | No third party APIs",
"version": "0.1.30",
"description": "Node to send and receive whatsapp messages in groups and chats. | No third party APIs",
"repository": {
"type": "git",
"url": "git+https://github.com/raweee/node-red-contrib-whatsapp-link.git"
@@ -31,7 +31,7 @@
},
"dependencies": {
"qrcode": "^1.5.1",
"whatsapp-web.js": "^1.18.4"
"whatsapp-web.js": "latest"
},
"engines": {
"node": ">=8.0.0"