Fixed validation
This commit is contained in:
parent
642c2b5841
commit
f8f2fce606
29
chats-out.js
29
chats-out.js
@ -20,13 +20,30 @@ module.exports = function(RED) {
|
|||||||
const delay = ms => new Promise(resolve => setTimeout(resolve, ms));
|
const delay = ms => new Promise(resolve => setTimeout(resolve, ms));
|
||||||
|
|
||||||
async function whatsappMessage(numb , inputMessage){
|
async function whatsappMessage(numb , inputMessage){
|
||||||
|
// Validate message
|
||||||
|
if (!inputMessage) {
|
||||||
|
node.error('Error Sending Msg: Message payload is empty or undefined');
|
||||||
|
SetStatus("Message empty", "red");
|
||||||
|
setTimeout(() => SetStatus('Connected','green'), 3000);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (node.waClient.clientType === "waWebClient"){
|
if (node.waClient.clientType === "waWebClient"){
|
||||||
try {
|
try {
|
||||||
numb = await formatChatNumber(numb, node.waClient, node);
|
numb = await formatChatNumber(numb, node.waClient, node);
|
||||||
if(typeof inputMessage === "object"){
|
|
||||||
|
// Ensure message is a string for simple messages
|
||||||
|
if(typeof inputMessage === "object" && inputMessage.buttons){
|
||||||
inputMessage = new Buttons(inputMessage.text, inputMessage.buttons, "text" ,inputMessage.footer);
|
inputMessage = new Buttons(inputMessage.text, inputMessage.buttons, "text" ,inputMessage.footer);
|
||||||
|
await node.waClient.sendMessage(numb, inputMessage);
|
||||||
|
} else if (typeof inputMessage === "object") {
|
||||||
|
// If it's an object without buttons, convert to string or handle appropriately
|
||||||
|
const messageText = inputMessage.text || JSON.stringify(inputMessage);
|
||||||
|
await node.waClient.sendMessage(numb, messageText);
|
||||||
|
} else {
|
||||||
|
// Convert to string to ensure valid message
|
||||||
|
await node.waClient.sendMessage(numb, String(inputMessage));
|
||||||
}
|
}
|
||||||
await node.waClient.sendMessage(numb, inputMessage);
|
|
||||||
}
|
}
|
||||||
catch(e){
|
catch(e){
|
||||||
node.error(`Error Sending Msg: ${e}`);
|
node.error(`Error Sending Msg: ${e}`);
|
||||||
@ -36,9 +53,15 @@ module.exports = function(RED) {
|
|||||||
try {
|
try {
|
||||||
let client = await node.waClient;
|
let client = await node.waClient;
|
||||||
numb = await formatChatNumberSocket(numb, node.waClient, node);
|
numb = await formatChatNumberSocket(numb, node.waClient, node);
|
||||||
if (typeof inputMessage ==="string"){
|
|
||||||
|
// Format message for socket client
|
||||||
|
if (typeof inputMessage === "string"){
|
||||||
inputMessage = {text : inputMessage};
|
inputMessage = {text : inputMessage};
|
||||||
|
} else if (typeof inputMessage === "object" && !inputMessage.text) {
|
||||||
|
// If object doesn't have text property, convert to string
|
||||||
|
inputMessage = {text : JSON.stringify(inputMessage)};
|
||||||
}
|
}
|
||||||
|
|
||||||
await client.sendMessage(numb, inputMessage);
|
await client.sendMessage(numb, inputMessage);
|
||||||
}
|
}
|
||||||
catch(e) {
|
catch(e) {
|
||||||
|
|||||||
27
group-out.js
27
group-out.js
@ -20,14 +20,29 @@ module.exports = function(RED) {
|
|||||||
const delay = ms => new Promise(resolve => setTimeout(resolve, ms));
|
const delay = ms => new Promise(resolve => setTimeout(resolve, ms));
|
||||||
|
|
||||||
async function whatsappMessage(gID , inputMessage){
|
async function whatsappMessage(gID , inputMessage){
|
||||||
|
// Validate message
|
||||||
|
if (!inputMessage) {
|
||||||
|
node.error('Error Sending Msg: Message payload is empty or undefined');
|
||||||
|
SetStatus("Message empty", "red");
|
||||||
|
setTimeout(() => SetStatus('Connected','green'), 3000);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (node.waClient.clientType === "waWebClient"){
|
if (node.waClient.clientType === "waWebClient"){
|
||||||
try {
|
try {
|
||||||
gID = await formatGroupId(gID, node.waClient, node);
|
gID = await formatGroupId(gID, node.waClient, node);
|
||||||
if(typeof inputMessage === "object"){
|
|
||||||
|
// Ensure message is a string for simple messages
|
||||||
|
if(typeof inputMessage === "object" && inputMessage.buttons){
|
||||||
inputMessage = new Buttons(inputMessage.text, inputMessage.buttons, "text" ,inputMessage.footer);
|
inputMessage = new Buttons(inputMessage.text, inputMessage.buttons, "text" ,inputMessage.footer);
|
||||||
await node.waClient.sendMessage(gID, inputMessage);
|
await node.waClient.sendMessage(gID, inputMessage);
|
||||||
|
} else if (typeof inputMessage === "object") {
|
||||||
|
// If it's an object without buttons, convert to string or handle appropriately
|
||||||
|
const messageText = inputMessage.text || JSON.stringify(inputMessage);
|
||||||
|
await node.waClient.sendMessage(gID, messageText);
|
||||||
} else {
|
} else {
|
||||||
await node.waClient.sendMessage(gID, inputMessage);
|
// Convert to string to ensure valid message
|
||||||
|
await node.waClient.sendMessage(gID, String(inputMessage));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch(e){
|
catch(e){
|
||||||
@ -38,9 +53,15 @@ module.exports = function(RED) {
|
|||||||
try {
|
try {
|
||||||
let client = await node.waClient;
|
let client = await node.waClient;
|
||||||
gID = await formatGroupIdSocket(gID, node.waClient, node);
|
gID = await formatGroupIdSocket(gID, node.waClient, node);
|
||||||
if (typeof inputMessage ==="string"){
|
|
||||||
|
// Format message for socket client
|
||||||
|
if (typeof inputMessage === "string"){
|
||||||
inputMessage = {text : inputMessage};
|
inputMessage = {text : inputMessage};
|
||||||
|
} else if (typeof inputMessage === "object" && !inputMessage.text) {
|
||||||
|
// If object doesn't have text property, convert to string
|
||||||
|
inputMessage = {text : JSON.stringify(inputMessage)};
|
||||||
}
|
}
|
||||||
|
|
||||||
await client.sendMessage(gID, inputMessage);
|
await client.sendMessage(gID, inputMessage);
|
||||||
}
|
}
|
||||||
catch(e) {
|
catch(e) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user