@@ -1226,33 +1226,41 @@ export class BaileysStartupService extends ChannelStartupService {
12261226 if ( this . configService . get < S3 > ( 'S3' ) . ENABLE ) {
12271227 try {
12281228 const message : any = received ;
1229- const media = await this . getBase64FromMediaMessage ( { message } , true ) ;
1230-
1231- const { buffer, mediaType, fileName, size } = media ;
1232- const mimetype = mimeTypes . lookup ( fileName ) . toString ( ) ;
1233- const fullName = join (
1234- `${ this . instance . id } ` ,
1235- received . key . remoteJid ,
1236- mediaType ,
1237- `${ Date . now ( ) } _${ fileName } ` ,
1238- ) ;
1239- await s3Service . uploadFile ( fullName , buffer , size . fileLength ?. low , { 'Content-Type' : mimetype } ) ;
1240-
1241- await this . prismaRepository . media . create ( {
1242- data : {
1243- messageId : msg . id ,
1244- instanceId : this . instanceId ,
1245- type : mediaType ,
1246- fileName : fullName ,
1247- mimetype,
1248- } ,
1249- } ) ;
1250-
1251- const mediaUrl = await s3Service . getObjectUrl ( fullName ) ;
1252-
1253- messageRaw . message . mediaUrl = mediaUrl ;
12541229
1255- await this . prismaRepository . message . update ( { where : { id : msg . id } , data : messageRaw } ) ;
1230+ // Verificação adicional para garantir que há conteúdo de mídia real
1231+ const hasRealMedia = this . hasValidMediaContent ( message ) ;
1232+
1233+ if ( ! hasRealMedia ) {
1234+ this . logger . warn ( 'Message detected as media but contains no valid media content' ) ;
1235+ } else {
1236+ const media = await this . getBase64FromMediaMessage ( { message } , true ) ;
1237+
1238+ const { buffer, mediaType, fileName, size } = media ;
1239+ const mimetype = mimeTypes . lookup ( fileName ) . toString ( ) ;
1240+ const fullName = join (
1241+ `${ this . instance . id } ` ,
1242+ received . key . remoteJid ,
1243+ mediaType ,
1244+ `${ Date . now ( ) } _${ fileName } ` ,
1245+ ) ;
1246+ await s3Service . uploadFile ( fullName , buffer , size . fileLength ?. low , { 'Content-Type' : mimetype } ) ;
1247+
1248+ await this . prismaRepository . media . create ( {
1249+ data : {
1250+ messageId : msg . id ,
1251+ instanceId : this . instanceId ,
1252+ type : mediaType ,
1253+ fileName : fullName ,
1254+ mimetype,
1255+ } ,
1256+ } ) ;
1257+
1258+ const mediaUrl = await s3Service . getObjectUrl ( fullName ) ;
1259+
1260+ messageRaw . message . mediaUrl = mediaUrl ;
1261+
1262+ await this . prismaRepository . message . update ( { where : { id : msg . id } , data : messageRaw } ) ;
1263+ }
12561264 } catch ( error ) {
12571265 this . logger . error ( [ 'Error on upload file to minio' , error ?. message , error ?. stack ] ) ;
12581266 }
@@ -2121,31 +2129,39 @@ export class BaileysStartupService extends ChannelStartupService {
21212129 if ( isMedia && this . configService . get < S3 > ( 'S3' ) . ENABLE ) {
21222130 try {
21232131 const message : any = messageRaw ;
2124- const media = await this . getBase64FromMediaMessage ( { message } , true ) ;
21252132
2126- const { buffer, mediaType, fileName, size } = media ;
2133+ // Verificação adicional para garantir que há conteúdo de mídia real
2134+ const hasRealMedia = this . hasValidMediaContent ( message ) ;
21272135
2128- const mimetype = mimeTypes . lookup ( fileName ) . toString ( ) ;
2136+ if ( ! hasRealMedia ) {
2137+ this . logger . warn ( 'Message detected as media but contains no valid media content' ) ;
2138+ } else {
2139+ const media = await this . getBase64FromMediaMessage ( { message } , true ) ;
21292140
2130- const fullName = join (
2131- `${ this . instance . id } ` ,
2132- messageRaw . key . remoteJid ,
2133- `${ messageRaw . key . id } ` ,
2134- mediaType ,
2135- fileName ,
2136- ) ;
2141+ const { buffer, mediaType, fileName, size } = media ;
21372142
2138- await s3Service . uploadFile ( fullName , buffer , size . fileLength ?. low , { 'Content-Type' : mimetype } ) ;
2143+ const mimetype = mimeTypes . lookup ( fileName ) . toString ( ) ;
21392144
2140- await this . prismaRepository . media . create ( {
2141- data : { messageId : msg . id , instanceId : this . instanceId , type : mediaType , fileName : fullName , mimetype } ,
2142- } ) ;
2145+ const fullName = join (
2146+ `${ this . instance . id } ` ,
2147+ messageRaw . key . remoteJid ,
2148+ `${ messageRaw . key . id } ` ,
2149+ mediaType ,
2150+ fileName ,
2151+ ) ;
21432152
2144- const mediaUrl = await s3Service . getObjectUrl ( fullName ) ;
2153+ await s3Service . uploadFile ( fullName , buffer , size . fileLength ?. low , { 'Content-Type' : mimetype } ) ;
21452154
2146- messageRaw . message . mediaUrl = mediaUrl ;
2155+ await this . prismaRepository . media . create ( {
2156+ data : { messageId : msg . id , instanceId : this . instanceId , type : mediaType , fileName : fullName , mimetype } ,
2157+ } ) ;
21472158
2148- await this . prismaRepository . message . update ( { where : { id : msg . id } , data : messageRaw } ) ;
2159+ const mediaUrl = await s3Service . getObjectUrl ( fullName ) ;
2160+
2161+ messageRaw . message . mediaUrl = mediaUrl ;
2162+
2163+ await this . prismaRepository . message . update ( { where : { id : msg . id } , data : messageRaw } ) ;
2164+ }
21492165 } catch ( error ) {
21502166 this . logger . error ( [ 'Error on upload file to minio' , error ?. message , error ?. stack ] ) ;
21512167 }
0 commit comments