@@ -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