Socket
Socket
Sign inDemoInstall

node-red-contrib-whatsapp-link

Package Overview
Dependencies
322
Maintainers
1
Versions
40
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.1.34 to 0.1.35

19

chats-in.js

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

let msg = {};
msg.event = waEvent;
msg.payload = message.body|| null;

@@ -30,3 +31,6 @@ msg.from = message.author || message.from ;

node.waClient.on(waEvent, async message => {
node.send(message);
msg = {};
msg.event = waEvent;
msg.message = message
node.send(msg);
});

@@ -68,7 +72,8 @@ };

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)
msg.event = waEvent;
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)
})

@@ -79,5 +84,5 @@ });

client.ev.on(waEvent, msgs =>{
msgs.event = waEvent;
node.send(msgs)
});
};

@@ -84,0 +89,0 @@ })

@@ -15,12 +15,25 @@ module.exports = function(RED) {

function webNubmerSeteing(numb){
async function webNubmerSeteing(numb){
numb = typeof numb ==='number' ? numb : numb.replace(/\D/g, '');
numb = `${numb}@c.us`;
return numb
// numb = `${numb}@c.us`;
var numbID = await node.waClient.getNumberId(numb);
if(numbID) {
return `${numbID.user}@${numbID.server}`;
} else {
return `${numb}@g.us`
}
// return numb
}
function socNubmerSeteing(numb){
async function socNubmerSeteing(numb){
if (numb.remoteJid){
return numb.remoteJid;
}
numb = typeof numb ==='number' ? numb : numb.replace(/\D/g, '');
numb = `${numb}@s.whatsapp.net`
return numb
const [result] = await (await node.waClient).onWhatsApp(numb)
if (result?.exists){
console.log(result.exists)
return result.jid
}
return numb = `${numb}@g.us`;
}

@@ -31,9 +44,6 @@

try {
numb = webNubmerSeteing(numb);
numb = await webNubmerSeteing(numb);
if(typeof inputMessage === "object"){
// inputMessage = new Buttons(inputMessage.text, inputMessage.buttons, "text" ,inputMessage.footer)
let myBtn = new Buttons('Button body',[{body:'bt1'},{body:'bt2'},{body:'bt3'}],'title','footer');
console.log(myBtn)
inputMessage = new Buttons(inputMessage.text, inputMessage.buttons, "text" ,inputMessage.footer);
node.waClient.sendMessage(numb, inputMessage);
inputMessage = myBtn
}

@@ -49,3 +59,3 @@ node.waClient.sendMessage(numb, inputMessage);

let client = await node.waClient;
numb = socNubmerSeteing(numb)
numb = await socNubmerSeteing(numb)
if (typeof inputMessage ==="string"){

@@ -57,3 +67,3 @@ inputMessage = {text : inputMessage};

catch(e) {
node.error(`Error Sending Msg: ${e}`);
node.error(`Error Sending Msg:: ${e}`);
}

@@ -74,3 +84,3 @@ }

if (node.waClient.clientType === "waWebClient"){
numb = webNubmerSeteing(node.number)
numb = await webNubmerSeteing(node.number)
var myMessage = new MessageMedia('image/png', whatsappImageBase64, null, null);

@@ -80,3 +90,3 @@ node.waClient.sendMessage(numb, myMessage, {caption : whatsappCaption || "Image from Node-Red"});

else {
numb = socNubmerSeteing(node.number)
numb = await socNubmerSeteing(node.number)
const imageMessage = {

@@ -110,3 +120,3 @@ text: whatsappCaption,

} else if (message.toNumber){
var numbers = typeof message.toNumber === 'number' ? Array.of(message.toNumber) : message.toNumber;
var numbers = message.toNumber instanceof Array ? message.toNumber : Array.of(message.toNumber);
for (number of numbers) {

@@ -122,3 +132,6 @@ if(message.image){

}
} else {
} else if(message.key.remoteJid){
whatsappMessage(message.key, message.payload)
}
else {
SetStatus("No number","red");

@@ -125,0 +138,0 @@ setTimeout(()=>{

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

} else if (message.toNumber){
var numbers = typeof message.toNumber === 'number' ? Array.of(message.toNumber) : message.toNumber;
var numbers = message.toNumber instanceof Array ? message.toNumber : Array.of(message.toNumber);
for (number of numbers) {

@@ -108,0 +108,0 @@ if(message.image){

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

@@ -35,3 +35,4 @@ "repository": {

"whatsapp-web.js": "latest",
"qrcode": "^1.5.1"
"qrcode": "^1.5.1",
"pino": "latest"
},

@@ -38,0 +39,0 @@ "engines": {

@@ -64,53 +64,7 @@ # Whatsapp Link :iphone:

Other Events options --
Their are many other events options avilable along with `message` event in Chats-In Node. For details refer documentation for Chats-In Node.
| 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 / Group Out** : As simple as mention on name, node will send `msg.payload` recived at input to the number mentioned in node.
3. **Chats Out** : As simple as mention on name, node will send `msg.payload` recived at input to the number mentioned in node.
MultiMedia Message: Requirments-

@@ -315,7 +269,3 @@ | Input | Description |

```
### Screen Shots of Buttons and Image Messages.
![](.github/messageScreenShot.jpeg)
5. **Reply Node** : In Beta mode.

@@ -322,0 +272,0 @@

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

printQRInTerminal: false,
logger:pino({level: "fatal"}),
logger:pino({level: "silent"}),
auth : state,

@@ -156,4 +156,6 @@ browser: ["Node-RED", "Chrome", "4.0.0"],

socketClient.ev.on('creds.update', saveCreds)
socketClient.ev.on('creds.update', saveCreds);
console.log(socketClient)
// socketClient.setMaxListeners(0);
socketClient.ev.on('connection.update', (update) => {

@@ -180,6 +182,6 @@ const { connection, lastDisconnect } = update

) {
FS.rmSync(whatsappLinkDirSocket, {recursive : true, force: true})
connectSocketClient()
FS.rmSync(whatsappLinkDirSocket, {recursive : true, force: true})
} else {
WAnode.log('Node Refressed')
WAnode.error(lastDisconnect?.error)
}

@@ -204,3 +206,4 @@ }

} else {
WAnode.client.end()
// WAnode.client.removeAllListeners();
WAnode.client.end();
}

@@ -207,0 +210,0 @@

Sorry, the diff of this file is not supported yet

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