@@ -506,7 +506,9 @@ export class BusinessStartupService extends ChannelStartupService {
506506 const mediaUrl = await s3Service . getObjectUrl ( fullName ) ;
507507
508508 messageRaw . message . mediaUrl = mediaUrl ;
509- messageRaw . message . base64 = buffer . data . toString ( 'base64' ) ;
509+ if ( this . localWebhook . enabled && this . localWebhook . webhookBase64 ) {
510+ messageRaw . message . base64 = buffer . data . toString ( 'base64' ) ;
511+ }
510512
511513 // Processar OpenAI speech-to-text para áudio após o mediaUrl estar disponível
512514 if ( this . configService . get < Openai > ( 'OPENAI' ) . ENABLED && mediaType === 'audio' ) {
@@ -544,11 +546,19 @@ export class BusinessStartupService extends ChannelStartupService {
544546 this . logger . error ( [ 'Error on upload file to minio' , error ?. message , error ?. stack ] ) ;
545547 }
546548 } else {
547- const buffer = await this . downloadMediaMessage ( received ?. messages [ 0 ] ) ;
548- messageRaw . message . base64 = buffer . toString ( 'base64' ) ;
549+ if ( this . localWebhook . enabled && this . localWebhook . webhookBase64 ) {
550+ const buffer = await this . downloadMediaMessage ( received ?. messages [ 0 ] ) ;
551+ messageRaw . message . base64 = buffer . toString ( 'base64' ) ;
552+ }
549553
550554 // Processar OpenAI speech-to-text para áudio mesmo sem S3
551555 if ( this . configService . get < Openai > ( 'OPENAI' ) . ENABLED && message . type === 'audio' ) {
556+ let openAiBase64 = messageRaw . message . base64 ;
557+ if ( ! openAiBase64 ) {
558+ const buffer = await this . downloadMediaMessage ( received ?. messages [ 0 ] ) ;
559+ openAiBase64 = buffer . toString ( 'base64' ) ;
560+ }
561+
552562 const openAiDefaultSettings = await this . prismaRepository . openaiSetting . findFirst ( {
553563 where : {
554564 instanceId : this . instanceId ,
@@ -564,7 +574,7 @@ export class BusinessStartupService extends ChannelStartupService {
564574 openAiDefaultSettings . OpenaiCreds ,
565575 {
566576 message : {
567- base64 : messageRaw . message . base64 ,
577+ base64 : openAiBase64 ,
568578 ...messageRaw ,
569579 } ,
570580 } ,
@@ -1004,6 +1014,7 @@ export class BusinessStartupService extends ChannelStartupService {
10041014 [ message [ 'mediaType' ] ] : {
10051015 [ message [ 'type' ] ] : message [ 'id' ] ,
10061016 ...( message [ 'mediaType' ] !== 'audio' &&
1017+ message [ 'mediaType' ] !== 'video' &&
10071018 message [ 'fileName' ] &&
10081019 ! isImage && { filename : message [ 'fileName' ] } ) ,
10091020 ...( message [ 'mediaType' ] !== 'audio' && message [ 'caption' ] && { caption : message [ 'caption' ] } ) ,
@@ -1593,9 +1604,14 @@ export class BusinessStartupService extends ChannelStartupService {
15931604 const messageType = msg . messageType . includes ( 'Message' ) ? msg . messageType : msg . messageType + 'Message' ;
15941605 const mediaMessage = msg . message [ messageType ] ;
15951606
1607+ if ( ! msg . message ?. base64 ) {
1608+ const buffer = await this . downloadMediaMessage ( { type : messageType , ...msg . message } ) ;
1609+ msg . message . base64 = buffer . toString ( 'base64' ) ;
1610+ }
1611+
15961612 return {
15971613 mediaType : msg . messageType ,
1598- fileName : mediaMessage ?. fileName ,
1614+ fileName : mediaMessage ?. fileName || mediaMessage ?. filename ,
15991615 caption : mediaMessage ?. caption ,
16001616 size : {
16011617 fileLength : mediaMessage ?. fileLength ,
0 commit comments