From d76ffd696a65bad301fc9b5de82ec3c4863217ac Mon Sep 17 00:00:00 2001 From: rawee Date: Sun, 12 Feb 2023 17:48:02 +0530 Subject: [PATCH] Chats-In Events Added --- .github/messageScreenShot.jpeg | Bin 0 -> 83881 bytes README.md | 54 ++++++++++- admin.js | 1 - chats-in.html | 158 ++++++++++++++++++++++++++++++--- chats-in.js | 77 +++++++++------- chats-out.html | 59 ++++++++++++ package.json | 6 +- 7 files changed, 306 insertions(+), 49 deletions(-) create mode 100644 .github/messageScreenShot.jpeg diff --git a/.github/messageScreenShot.jpeg b/.github/messageScreenShot.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..832a6cca87bb86db5bc740ae3b845cb883a04171 GIT binary patch literal 83881 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

1mUZPdg8W05`QpKOrS=hpCnNnE#4k*) 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 Qe&^)5FO-@o>c83l2Po@)dH?_b literal 0 HcmV?d00001 diff --git a/README.md b/README.md index 61361cb..62c956e 100644 --- a/README.md +++ b/README.md @@ -61,6 +61,54 @@ Admin Node generate QR Code just below the node for easy connection with whatsap | `msg.chatID` | Chat ID of Group chat / Personal chat | | `msg.message` | Complete message object.
*Some extra details for advance users* | + Other Events options -- + + | waWebClient | Description | + |-------------|-------------| + | `message` + | `message_create` + | `auth_failure` + | `authenticated` + | `change_battery` + | `change_state` + | `disconnected` + | `group_join` + | `group_leave` + | `group_update` + | `incoming_call` + | `media_uploaded` + | `message_ack` + | `message_reaction` + | `message_revoke_everyone` + | `message_revoke_me` + | `qr` + | `ready` + + | waSocketClient | Description | + |-------------|----------------| + | `messages.upsert` + | `connection.update` + | `creds.update` + | `messaging-history.set` + | `chats.upsert` + | `chats.update` + | `chats.delete` + | `presence.update` + | `contacts.upsert` + | `contacts.update` + | `messages.delete` + | `messages.update` + | `messages.media-update` + | `messages.reaction` + | `message-receipt.update` + | `groups.upsert` + | `groups.update` + | `group-participants.update` + | `blocklist.set` + | `blocklist.update` + | `call` + + 3. **Chats Out** : As simple as mention on name, node will send `msg.payload` recived at input to the number mentioned in node. @@ -138,7 +186,7 @@ msg.payload = { ``` Yes its lot require for buttons, A node will come soon to minimize these effors. -You may direct import these test button with bellow code. +You may direct import these test button with bellow code. ```json [ @@ -263,6 +311,9 @@ You may direct import these test button with bellow code. } ] ``` +### Screen Shots of Buttons and Image Messages. + +![](.github/messageScreenShot.jpeg) 5. **Reply Node** : In Beta mode. @@ -280,6 +331,7 @@ Issues and Suggestions are welcome [here.](https://github.com/raweee/node-red-co * `Ver-0.1.30` : Message can be send to an Array of contacts provided at `msg.toNumber`. * `Ver-0.1.32` : Socket based `Whatsapp Lite` config node added in beta mode. Image message sending support added in chats-out node. * `Ver-0.1.33` : Button and list support added, Minnor bugs fixed. +* `Ver-0.1.34` : Multiple Events reading options are added in Chats-In Node. ## Future Nodes Currently working on more Whatsapp Node and will be avilable soon - diff --git a/admin.js b/admin.js index 5fb8d20..4155e29 100644 --- a/admin.js +++ b/admin.js @@ -6,7 +6,6 @@ module.exports = function(RED) { var node = this; var whatsappLinkNode = RED.nodes.getNode(config.whatsappLink); node.client = whatsappLinkNode.client; - // RED.comms.publish("whatsappLinkNodeID", node.id) function SetStatus(WAStatus, color){ node.status({fill:color,shape:"dot",text:WAStatus}); diff --git a/chats-in.html b/chats-in.html index aaf8936..dab6f29 100644 --- a/chats-in.html +++ b/chats-in.html @@ -1,17 +1,89 @@ @@ -41,4 +126,51 @@ Node to recive all messages send to connected number. | `msg.chatID` | Chat ID of Group chat / Personal chat | | `msg.message` | Complete message object.
*Some extra details for advance users* | + Other Events options -- + + | waWebClient | Description | + |-------------|-------------| + | `message` + | `message_create` + | `auth_failure` + | `authenticated` + | `change_battery` + | `change_state` + | `disconnected` + | `group_join` + | `group_leave` + | `group_update` + | `incoming_call` + | `media_uploaded` + | `message_ack` + | `message_reaction` + | `message_revoke_everyone` + | `message_revoke_me` + | `qr` + | `ready` + + | waSocketClient | Description | + |-------------|----------------| + | `messages.upsert` + | `connection.update` + | `creds.update` + | `messaging-history.set` + | `chats.upsert` + | `chats.update` + | `chats.delete` + | `presence.update` + | `contacts.upsert` + | `contacts.update` + | `messages.delete` + | `messages.update` + | `messages.media-update` + | `messages.reaction` + | `message-receipt.update` + | `groups.upsert` + | `groups.update` + | `group-participants.update` + | `blocklist.set` + | `blocklist.update` + | `call` + diff --git a/chats-in.js b/chats-in.js index 75067d8..24b0dd4 100644 --- a/chats-in.js +++ b/chats-in.js @@ -4,21 +4,33 @@ module.exports = function(RED) { var node = this; var whatsappLinkNode = RED.nodes.getNode(config.whatsappLink); node.waClient = whatsappLinkNode.client; - + var whatsappLiteEvents = config.whatsappLiteevent; + var whatsappWebEvents = config.whatsappWebevent; + function SetStatus(WAStatus, color){ node.status({fill:color,shape:"dot",text:WAStatus}); }; - if(node.waClient.clientType === "waWebClient"){ - node.waClient.on('message', async message => { - let msg = {}; - msg.payload = message.body; - msg.from = message.author || message.from ; - msg.chatID = message.from.replace(/\D/g, ''); - msg.from = msg.from.replace(/\D/g, ''); - msg.message = message ; - node.send(msg); - }); + if(node.waClient.clientType === "waWebClient"){ + whatsappWebEvents = whatsappWebEvents?.split(",") || whatsappWebEvents ; + whatsappWebEvents?.forEach((waEvent)=>{ + if (waEvent ==='message'){ + node.waClient.on(waEvent, async message => { + let msg = {}; + msg.payload = message.body|| null; + msg.from = message.author || message.from ; + msg.chatID = message.from.replace(/\D/g, ''); + msg.from = msg.from.replace(/\D/g, ''); + msg.message = message ; + node.send(msg); + }); + } else { + node.waClient.on(waEvent, async message => { + node.send(message); + }); + }; + }) + //whatsapp Status Parameters---- node.waClient.on('qr', (qr) => { @@ -46,18 +58,28 @@ module.exports = function(RED) { var client = null async function clientFromWhatsappLite(){ client = await node.waClient; - - client.ev.on('messages.upsert', msgs =>{ - msgs.messages.forEach(async msg =>{ - msg.payload = msg.message?.conversation; - msg.from = msg.key.participant || msg.key.remoteJid; - msg.from = msg.from.replace(/\D/g, '') || msg.from; - msg.chatID = msg.key.remoteJid.replace(/\D/g, '') || msg.key.remoteJid ; - node.send(msg) - }) - }); - - + whatsappLiteEvents = whatsappLiteEvents?.split(",") || whatsappLiteEvents; + whatsappLiteEvents?.forEach((waEvent)=>{ + if (waEvent ==='messages.upsert'){ + client.ev.on('messages.upsert', msgs =>{ + msgs.messages.forEach(async msg =>{ + msg.payload = msg.message?.conversation; + msg.from = msg.key.participant || msg.key.remoteJid; + msg.from = msg.from.replace(/\D/g, '') || msg.from; + msg.chatID = msg.key.remoteJid.replace(/\D/g, '') || msg.key.remoteJid ; + node.send(msg) + }) + }); + } + else { + client.ev.on(waEvent, msgs =>{ + node.send(msgs) + }); + + }; + }) + + //Setting conncetion status indication client.ev.on('connection.update', (updates)=>{ var {connection} = updates @@ -80,14 +102,7 @@ module.exports = function(RED) { } clientFromWhatsappLite(); - - - - - - - } - + }; } RED.nodes.registerType("chats-in", WhatsappIn); } diff --git a/chats-out.html b/chats-out.html index 6928a9f..fa1cb9d 100644 --- a/chats-out.html +++ b/chats-out.html @@ -54,5 +54,64 @@ MultiMedia Message Out: Requirments- | `msg.payload` | Image Caption | | `msg.toNumber` | Reciver number (if number not provided in node) | + +## Button, List and TemplateButton +Supported in Whatsapp-Lite only, `TODO for Whatsapp-Web`. + +* Simple Button 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} + ] +} +``` +* TemplateButton combination of link button, Call button 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'}} + ] +} +``` +* List Message combination of link button, List button 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 button with bellow code. + -*Don't forget to mention international dialing code befor your number. Number must be in format like `+11 99999 99999` without any space.* diff --git a/package.json b/package.json index d619921..67ea637 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "node-red-contrib-whatsapp-link", - "version": "0.1.32-B", + "version": "0.1.34", "description": "Node to send and receive whatsapp messages in groups and chats. | No third party APIs", "repository": { "type": "git", @@ -31,8 +31,8 @@ }, "dependencies": { "@adiwajshing/baileys": "latest", - "qrcode": "^1.5.1", - "whatsapp-web.js": "latest" + "whatsapp-web.js": "latest", + "qrcode": "^1.5.1" }, "engines": { "node": ">=8.0.0"