@@ -98,6 +98,7 @@ import makeWASocket, {
9898 Contact ,
9999 delay ,
100100 DisconnectReason ,
101+ downloadContentFromMessage ,
101102 downloadMediaMessage ,
102103 fetchLatestBaileysVersion ,
103104 generateWAMessageFromContent ,
@@ -1248,6 +1249,7 @@ export class BaileysStartupService extends ChannelStartupService {
12481249 received ?. message ?. imageMessage ||
12491250 received ?. message ?. videoMessage ||
12501251 received ?. message ?. stickerMessage ||
1252+ received ?. message ?. lottieStickerMessage ||
12511253 received ?. message ?. documentMessage ||
12521254 received ?. message ?. documentWithCaptionMessage ||
12531255 received ?. message ?. ptvMessage ||
@@ -1362,27 +1364,49 @@ export class BaileysStartupService extends ChannelStartupService {
13621364 }
13631365 }
13641366 }
1365-
1366- if ( this . localWebhook . enabled ) {
1367- if ( isMedia && this . localWebhook . webhookBase64 ) {
1367+ if ( 1 /* this.localWebhook.enabled */ ) {
1368+ if ( 1 /* isMedia && this.localWebhook.webhookBase64 */ ) {
13681369 try {
1369- const buffer = await downloadMediaMessage (
1370- { key : received . key , message : received ?. message } ,
1371- 'buffer' ,
1372- { } ,
1373- {
1374- logger : P ( { level : 'error' } ) as any ,
1375- reuploadRequest : this . client . updateMediaMessage ,
1376- } ,
1377- ) ;
1370+ let buffer : Buffer = null ;
1371+ console . dir ( { received} , { depth : null } ) ;
1372+ if ( ( received . message . stickerMessage && received . message . stickerMessage . url === 'https://web.whatsapp.net' )
1373+ || ( received . message . lottieStickerMessage && received . message . lottieStickerMessage . message . stickerMessage . url ) ) { /*Fixing broken URLs from sticker messages*/
1374+ const newUrl = `https://mmg.whatsapp.net${ received . message . lottieStickerMessage ? received . message . lottieStickerMessage . message . stickerMessage . directPath : received . message . stickerMessage . directPath } ` ;
13781375
1376+ const stream = await downloadContentFromMessage (
1377+ {
1378+ mediaKey : received . message ?. stickerMessage ?. mediaKey || received . message . lottieStickerMessage ?. message ?. stickerMessage ?. mediaKey ,
1379+ directPath : received . message ?. stickerMessage ?. directPath || received . message . lottieStickerMessage ?. message ?. stickerMessage ?. directPath ,
1380+ url : newUrl
1381+ } ,
1382+ 'sticker' ,
1383+ { } ,
1384+ )
1385+ const chunks = [ ] ;
1386+ for await ( const chunk of stream ) {
1387+ chunks . push ( chunk ) ;
1388+ }
1389+ buffer = Buffer . concat ( chunks ) ;
1390+ messageRaw . message . url = newUrl ;
1391+ } else {
1392+ buffer = await downloadMediaMessage (
1393+ { key : received . key , message : received ?. message } ,
1394+ 'buffer' ,
1395+ { } ,
1396+ {
1397+ logger : P ( { level : 'error' } ) as any ,
1398+ reuploadRequest : this . client . updateMediaMessage ,
1399+ } ,
1400+ ) ;
1401+ }
13791402 messageRaw . message . base64 = buffer ? buffer . toString ( 'base64' ) : undefined ;
13801403 } catch ( error ) {
13811404 this . logger . error ( [ 'Error converting media to base64' , error ?. message ] ) ;
13821405 }
13831406 }
13841407 }
13851408
1409+ console . dir ( { webhookMessage : messageRaw } , { depth : null } )
13861410 this . logger . log ( messageRaw ) ;
13871411
13881412 this . sendDataWebhook ( Events . MESSAGES_UPSERT , messageRaw ) ;
@@ -1508,13 +1532,11 @@ export class BaileysStartupService extends ChannelStartupService {
15081532 } ,
15091533 } ) ;
15101534
1511-
15121535 if ( ! findMessage ) {
15131536 continue ;
15141537 }
15151538
15161539 if ( update . message === null && update . status === undefined ) {
1517-
15181540 const deletedMessage = {
15191541 id : findMessage . id ,
15201542 instanceId : this . instanceId ,
@@ -1526,7 +1548,7 @@ export class BaileysStartupService extends ChannelStartupService {
15261548 pushName : findMessage . pushName ,
15271549 participant : findMessage . participant ,
15281550 message : findMessage . message ,
1529- }
1551+ } ;
15301552
15311553 this . sendDataWebhook ( Events . MESSAGES_DELETE , deletedMessage ) ;
15321554
@@ -1756,7 +1778,7 @@ export class BaileysStartupService extends ChannelStartupService {
17561778 }
17571779
17581780 if ( events [ 'messages.upsert' ] ) {
1759- const payload = events [ 'messages.upsert' ] ;
1781+ const payload = events [ 'messages.upsert' ]
17601782 this . messageHandle [ 'messages.upsert' ] ( payload , settings ) ;
17611783 }
17621784
@@ -1880,12 +1902,10 @@ export class BaileysStartupService extends ChannelStartupService {
18801902 }
18811903
18821904 public async profilePicture ( number : string ) {
1883- console . dir ( `converting jid:${ number } ` ) ;
18841905 const jid = createJid ( number ) ;
18851906
18861907 try {
18871908 const profilePictureUrl = await this . client . profilePictureUrl ( jid , 'image' ) ;
1888- console . dir ( { profilePictureUrl } ) ;
18891909
18901910 return {
18911911 wuid : jid ,
@@ -2280,7 +2300,8 @@ export class BaileysStartupService extends ChannelStartupService {
22802300 messageSent ?. message ?. documentMessage ||
22812301 messageSent ?. message ?. documentWithCaptionMessage ||
22822302 messageSent ?. message ?. ptvMessage ||
2283- messageSent ?. message ?. audioMessage ;
2303+ messageSent ?. message ?. audioMessage ||
2304+ messageSent ?. message ?. lottieStickerMessage ;
22842305
22852306 if ( this . configService . get < Chatwoot > ( 'CHATWOOT' ) . ENABLED && this . localChatwoot ?. enabled && ! isIntegration ) {
22862307 this . chatwootService . eventWhatsapp (
0 commit comments