Skip to content

Commit f085343

Browse files
Update whatsapp.service.ts
Foi criado novo código para recuperar Base64 da media enviada por webhook.
1 parent f76a924 commit f085343

File tree

1 file changed

+40
-9
lines changed

1 file changed

+40
-9
lines changed

src/whatsapp/services/whatsapp.service.ts

Lines changed: 40 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -276,6 +276,10 @@ export class WAStartupService {
276276
this.localWebhook.webhook_by_events = data?.webhook_by_events;
277277
this.logger.verbose(`Webhook by events: ${this.localWebhook.webhook_by_events}`);
278278

279+
this.localWebhook.webhook_base64 = data?.webhook_base64;
280+
this.logger.verbose(`Webhook by webhook_base64: ${this.localWebhook.webhook_base64}`);
281+
282+
279283
this.logger.verbose('Webhook loaded');
280284
}
281285

@@ -1528,15 +1532,42 @@ export class WAStartupService {
15281532
return;
15291533
}
15301534

1531-
const messageRaw: MessageRaw = {
1532-
key: received.key,
1533-
pushName: received.pushName,
1534-
message: { ...received.message },
1535-
messageType: getContentType(received.message),
1536-
messageTimestamp: received.messageTimestamp as number,
1537-
owner: this.instance.name,
1538-
source: getDevice(received.key.id),
1539-
};
1535+
let messageRaw: MessageRaw;
1536+
const globalWebhook = this.configService.get<Webhook>('WEBHOOK').GLOBAL;
1537+
if (this.localWebhook.webhook_base64 === true && received?.message.documentMessage || received?.message.imageMessage ) {
1538+
const buffer = await downloadMediaMessage(
1539+
{ key: received.key, message: received?.message },
1540+
'buffer',
1541+
{},
1542+
{
1543+
logger: P({ level: 'error' }),
1544+
reuploadRequest: this.client.updateMediaMessage,
1545+
},
1546+
);
1547+
console.log(buffer);
1548+
messageRaw = {
1549+
key: received.key,
1550+
pushName: received.pushName,
1551+
message: {
1552+
...received.message,
1553+
base64: buffer ? buffer.toString('base64') : undefined,
1554+
},
1555+
messageType: getContentType(received.message),
1556+
messageTimestamp: received.messageTimestamp as number,
1557+
owner: this.instance.name,
1558+
source: getDevice(received.key.id),
1559+
};
1560+
} else {
1561+
messageRaw = {
1562+
key: received.key,
1563+
pushName: received.pushName,
1564+
message: { ...received.message },
1565+
messageType: getContentType(received.message),
1566+
messageTimestamp: received.messageTimestamp as number,
1567+
owner: this.instance.name,
1568+
source: getDevice(received.key.id),
1569+
};
1570+
}
15401571

15411572
if (this.localSettings.read_messages && received.key.id !== 'status@broadcast') {
15421573
await this.client.readMessages([received.key]);

0 commit comments

Comments
 (0)