@@ -516,7 +516,9 @@ export class BusinessStartupService extends ChannelStartupService {
516516 const mediaUrl = await s3Service . getObjectUrl ( fullName ) ;
517517
518518 messageRaw . message . mediaUrl = mediaUrl ;
519- messageRaw . message . base64 = buffer . data . toString ( 'base64' ) ;
519+ if ( this . localWebhook . enabled && this . localWebhook . webhookBase64 ) {
520+ messageRaw . message . base64 = buffer . data . toString ( 'base64' ) ;
521+ }
520522
521523 // Processar OpenAI speech-to-text para áudio após o mediaUrl estar disponível
522524 if ( this . configService . get < Openai > ( 'OPENAI' ) . ENABLED && mediaType === 'audio' ) {
@@ -554,11 +556,19 @@ export class BusinessStartupService extends ChannelStartupService {
554556 this . logger . error ( [ 'Error on upload file to minio' , error ?. message , error ?. stack ] ) ;
555557 }
556558 } else {
557- const buffer = await this . downloadMediaMessage ( received ?. messages [ 0 ] ) ;
558- messageRaw . message . base64 = buffer . toString ( 'base64' ) ;
559+ if ( this . localWebhook . enabled && this . localWebhook . webhookBase64 ) {
560+ const buffer = await this . downloadMediaMessage ( received ?. messages [ 0 ] ) ;
561+ messageRaw . message . base64 = buffer . toString ( 'base64' ) ;
562+ }
559563
560564 // Processar OpenAI speech-to-text para áudio mesmo sem S3
561565 if ( this . configService . get < Openai > ( 'OPENAI' ) . ENABLED && message . type === 'audio' ) {
566+ let openAiBase64 = messageRaw . message . base64 ;
567+ if ( ! openAiBase64 ) {
568+ const buffer = await this . downloadMediaMessage ( received ?. messages [ 0 ] ) ;
569+ openAiBase64 = buffer . toString ( 'base64' ) ;
570+ }
571+
562572 const openAiDefaultSettings = await this . prismaRepository . openaiSetting . findFirst ( {
563573 where : {
564574 instanceId : this . instanceId ,
@@ -574,7 +584,7 @@ export class BusinessStartupService extends ChannelStartupService {
574584 openAiDefaultSettings . OpenaiCreds ,
575585 {
576586 message : {
577- base64 : messageRaw . message . base64 ,
587+ base64 : openAiBase64 ,
578588 ...messageRaw ,
579589 } ,
580590 } ,
@@ -1016,6 +1026,7 @@ export class BusinessStartupService extends ChannelStartupService {
10161026 [ message [ 'mediaType' ] ] : {
10171027 [ message [ 'type' ] ] : message [ 'id' ] ,
10181028 ...( message [ 'mediaType' ] !== 'audio' &&
1029+ message [ 'mediaType' ] !== 'video' &&
10191030 message [ 'fileName' ] &&
10201031 ! isImage && { filename : message [ 'fileName' ] } ) ,
10211032 ...( message [ 'mediaType' ] !== 'audio' && message [ 'caption' ] && { caption : message [ 'caption' ] } ) ,
@@ -1606,9 +1617,14 @@ export class BusinessStartupService extends ChannelStartupService {
16061617 const messageType = msg . messageType . includes ( 'Message' ) ? msg . messageType : msg . messageType + 'Message' ;
16071618 const mediaMessage = msg . message [ messageType ] ;
16081619
1620+ if ( ! msg . message ?. base64 ) {
1621+ const buffer = await this . downloadMediaMessage ( { type : messageType , ...msg . message } ) ;
1622+ msg . message . base64 = buffer . toString ( 'base64' ) ;
1623+ }
1624+
16091625 return {
16101626 mediaType : msg . messageType ,
1611- fileName : mediaMessage ?. fileName ,
1627+ fileName : mediaMessage ?. fileName || mediaMessage ?. filename ,
16121628 caption : mediaMessage ?. caption ,
16131629 size : {
16141630 fileLength : mediaMessage ?. fileLength ,
0 commit comments