Socket
Socket
Sign inDemoInstall

node-red-contrib-whatsapp-link

Package Overview
Dependencies
323
Maintainers
1
Versions
40
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.1.39-B to 0.1.39-C

27

admin.js

@@ -129,12 +129,17 @@ module.exports = function(RED) {

var client = null
async function clientFromWhatsappLite(){
client = await node.client;
client.ev.on('connection.update', (updates)=>{
function printQrCode(urlQr) {
var qrImageWithID = {};
qrImageWithID.id = node.id;
qrImageWithID.image = urlQr;
RED.comms.publish("whatsappLinkQrCode", qrImageWithID);
}
if(updates.qr){
QRCode.toDataURL(updates.qr, function(err, url){
var qrImageWithID = {};
qrImageWithID.id = node.id;
qrImageWithID.image = url;
RED.comms.publish("whatsappLinkQrCode", qrImageWithID);
printQrCode(url);
});

@@ -148,16 +153,12 @@

}
if (connection === 'open') {
var qrImageWithID = {};
qrImageWithID.id = node.id;
qrImageWithID.image = null;
RED.comms.publish("whatsappLinkQrCode", qrImageWithID);
}
//console.log(updates);
//Setting conncetion status indication
var {connection} = updates
//Setting conncetion status indication
if(connection === 'open'){
printQrCode(null);
SetStatus("Connected", "green");
}
else if(updates.isOnline){
printQrCode(null);
SetStatus("Connected", "green");

@@ -164,0 +165,0 @@ }

@@ -79,3 +79,2 @@ module.exports = function(RED) {

var whatsappImageBase64 = whatsappImage.split(',')[1] || whatsappImage;
console.log(whatsappImageBase64)
try {

@@ -82,0 +81,0 @@ if (node.waClient.clientType === "waWebClient"){

{
"name": "node-red-contrib-whatsapp-link",
"version": "0.1.39B",
"version": "0.1.39C",
"description": "Node to send and receive whatsapp messages in groups and chats. | No third party APIs",

@@ -5,0 +5,0 @@ "repository": {

@@ -74,3 +74,3 @@ # Whatsapp Link :iphone:

|--------|-------------|
| `msg.image` | Base64 (encoded image), [`image-tool`](https://flows.nodered.org/node/node-red-contrib-image-tools) node work fine|
| `msg.image` | Base64 (encoded image), [`image-tool`](https://flows.nodered.org/node/node-red-contrib-image-tools) node work fine for incoding base64|
| `msg.payload` | Image Caption |

@@ -90,61 +90,2 @@ | `msg.toNumber` | Reciver number (if number not provided in node) |

## Button, List and TemplateButton
Supported in Whatsapp-Lite only, `TODO for Whatsapp-Web`.
A Complete Button-Bot example is avilable in Node examples.
* <b>Simple Button </b>For simple 3 Bottons your `msg.paylod` should be...
```js
msg.payload = {
text: "Hi it's button message", //String
footer: 'Hello World', //String
headerType: 1, //keep it "1" only.
buttons: [ // Array of buttons.
{buttonId: 'id1', buttonText: {displayText: 'Button 1'}, type: 1},
{buttonId: 'id2', buttonText: {displayText: 'Button 2'}, type: 1},
{buttonId: 'id3', buttonText: {displayText: 'Button 3'}, type: 1}
]
}
```
* <b>TemplateButton</b> combination of <b>link button</b>, <b>Call button</b> and Normal buttons. Your `msg.paylod` should look similar to--
```js
msg.payload = {
text: "Hi it's a template message by Node-RED 👍 to Test",
footer: 'Hello I am footer of message.',
templateButtons: [
{index: 1, urlButton: {displayText: '⭐ Vist Node-RED', url: 'https://nodered.org/'}},
{index: 2, callButton: {displayText: 'Call me!', phoneNumber: '+1 (234) 5678-901'}},
{index: 3, quickReplyButton: {displayText: 'Click me I am Button', id: 'I-am-button-id-without-space'}},
{index: 4, quickReplyButton: {displayText: '🖱️ Sample Button 2', id: 'button-2-was-clicked'}}
]
}
```
* <b>List Message</b> combination of <b>link button</b>, <b>List button</b> and Selectors. Your `msg.paylod` should look similar to--
```js
msg.payload = {
text: "This is a list",
footer: "nice footer, link: https://google.com",
title: "Amazing boldfaced list title",
buttonText: "Required, Tap to see List",
sections : [{
title: "Section 1",
rows: [
{title: "Option 1", rowId: "option1"},
{title: "Option 2", rowId: "option2", description: "This is a description"}
]},
{
title: "Section 2",
rows: [
{title: "Option 3", rowId: "option3"},
{title: "Option 4", rowId: "option4", description: "This is a description V2"}
]
}]
}
```
Yes its lot require for buttons, A node will come soon to minimize these effors.
You may direct import these test buttons from the Node Examples.
`A-reply-to-All.json` example is avilable in examples to import.

@@ -151,0 +92,0 @@

@@ -108,5 +108,2 @@ module.exports = function(RED) {

client.WAConnect = WAConnect;

@@ -160,3 +157,10 @@ client.WARestart = WARestart;

// reconnect if not logged out
// console.log(lastDisconnect, lastDisconnect?.error?.data?.content)
// if (lastDisconnect.error.output.statusCode === 401 ||
// lastDisconnect.error.output.statusCode === 440){
// console.log(`logged Out by User. StatusCode : ${lastDisconnect?.error?.output.statusCode}`)
// FS.rmSync(whatsappLinkDirSocket, {recursive : true, force: true})
// }
// connectSocketClient();
if (

@@ -176,3 +180,4 @@ lastDisconnect &&

lastDisconnect.error.output &&
lastDisconnect.error.output.statusCode === 401
lastDisconnect.error.output.statusCode === 401 &&
lastDisconnect.error.output.statusCode === 440
) {

@@ -182,3 +187,3 @@ FS.rmSync(whatsappLinkDirSocket, {recursive : true, force: true})

} else {
WAnode.log("Error : " + lastDisconnect?.error)
WAnode.log(`ErrorCode: ${lastDisconnect?.error?.output.statusCode} | ${lastDisconnect?.error}`)
}

@@ -185,0 +190,0 @@ }

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc