Skip to content

Commit

Permalink
fix: Added support for send newsletter messages
Browse files Browse the repository at this point in the history
  • Loading branch information
icleitoncosta committed Dec 24, 2023
1 parent c279a04 commit 9176f6b
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 5 deletions.
4 changes: 4 additions & 0 deletions src/controller/messageController.ts
Expand Up @@ -50,6 +50,7 @@ export async function sendMessage(req: Request, res: Response) {
properties: {
phone: { type: "string" },
isGroup: { type: "boolean" },
isNewsletter: { type: "boolean" },
message: { type: "string" },
options: { type: "object" },
}
Expand All @@ -59,6 +60,7 @@ export async function sendMessage(req: Request, res: Response) {
value: {
phone: '5521999999999',
isGroup: false,
isNewsletter: false,
message: 'Hi from WPPConnect',
}
},
Expand Down Expand Up @@ -159,6 +161,7 @@ export async function sendFile(req: Request, res: Response) {
properties: {
"phone": { type: "string" },
"isGroup": { type: "boolean" },
"isNewsletter": { type: "boolean" },
"filename": { type: "string" },
"caption": { type: "string" },
"base64": { type: "string" }
Expand All @@ -169,6 +172,7 @@ export async function sendFile(req: Request, res: Response) {
value: {
"phone": "5521999999999",
"isGroup": false,
"isNewsletter": false,
"filename": "file name lol",
"caption": "caption for my file",
"base64": "<base64> string"
Expand Down
8 changes: 6 additions & 2 deletions src/middleware/statusConnection.ts
Expand Up @@ -28,10 +28,14 @@ export default async function statusConnection(
if (req.client && req.client.isConnected) {
await req.client.isConnected();

const localArr = contactToArray(req.body.phone || [], req.body.isGroup);
const localArr = contactToArray(
req.body.phone || [],
req.body.isGroup,
req.body.isNewsletter
);
let index = 0;
for (const contact of localArr) {
if (req.body.isGroup) {
if (req.body.isGroup || req.body.isNewsletter) {
localArr[index] = contact;
} else if (numbers.indexOf(contact) < 0) {
const profile: any = await req.client
Expand Down
12 changes: 9 additions & 3 deletions src/util/functions.ts
Expand Up @@ -43,25 +43,31 @@ if (config?.websocket?.uploadS3) {
crypto = config.websocket.uploadS3 ? Crypto : null;
}

export function contactToArray(number: any, isGroup?: boolean) {
export function contactToArray(
number: any,
isGroup?: boolean,
isNewsletter?: boolean
) {
const localArr: any = [];
if (Array.isArray(number)) {
for (let contact of number) {
isGroup
isGroup || isNewsletter
? (contact = contact.split('@')[0])
: (contact = contact.split('@')[0]?.replace(/[^\w ]/g, ''));
if (contact !== '')
if (isGroup) (localArr as any).push(`${contact}@g.us`);
else if (isNewsletter) (localArr as any).push(`${contact}@newsletter`);
else (localArr as any).push(`${contact}@c.us`);
}
} else {
const arrContacts = number.split(/\s*[,;]\s*/g);
for (let contact of arrContacts) {
isGroup
isGroup || isNewsletter
? (contact = contact.split('@')[0])
: (contact = contact.split('@')[0]?.replace(/[^\w ]/g, ''));
if (contact !== '')
if (isGroup) (localArr as any).push(`${contact}@g.us`);
else if (isNewsletter) (localArr as any).push(`${contact}@newsletter`);
else (localArr as any).push(`${contact}@c.us`);
}
}
Expand Down

0 comments on commit 9176f6b

Please sign in to comment.