mirror of
https://github.com/EvolutionAPI/evolution-api.git
synced 2025-12-09 01:49:37 -06:00
Merge branch 'fix/business_api' into fix/evolution_baileys_7
This commit is contained in:
commit
20c8a2ff0e
@ -5,7 +5,7 @@ services:
|
|||||||
build: .
|
build: .
|
||||||
restart: always
|
restart: always
|
||||||
ports:
|
ports:
|
||||||
- 8080:8080
|
- 9000:9000
|
||||||
volumes:
|
volumes:
|
||||||
- evolution_instances:/evolution/instances
|
- evolution_instances:/evolution/instances
|
||||||
networks:
|
networks:
|
||||||
@ -13,7 +13,7 @@ services:
|
|||||||
env_file:
|
env_file:
|
||||||
- .env
|
- .env
|
||||||
expose:
|
expose:
|
||||||
- 8080
|
- 9000
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
evolution_instances:
|
evolution_instances:
|
||||||
|
|||||||
@ -506,7 +506,9 @@ export class BusinessStartupService extends ChannelStartupService {
|
|||||||
const mediaUrl = await s3Service.getObjectUrl(fullName);
|
const mediaUrl = await s3Service.getObjectUrl(fullName);
|
||||||
|
|
||||||
messageRaw.message.mediaUrl = mediaUrl;
|
messageRaw.message.mediaUrl = mediaUrl;
|
||||||
messageRaw.message.base64 = buffer.data.toString('base64');
|
if (this.localWebhook.enabled && this.localWebhook.webhookBase64) {
|
||||||
|
messageRaw.message.base64 = buffer.data.toString('base64');
|
||||||
|
}
|
||||||
|
|
||||||
// Processar OpenAI speech-to-text para áudio após o mediaUrl estar disponível
|
// Processar OpenAI speech-to-text para áudio após o mediaUrl estar disponível
|
||||||
if (this.configService.get<Openai>('OPENAI').ENABLED && mediaType === 'audio') {
|
if (this.configService.get<Openai>('OPENAI').ENABLED && mediaType === 'audio') {
|
||||||
@ -544,11 +546,19 @@ export class BusinessStartupService extends ChannelStartupService {
|
|||||||
this.logger.error(['Error on upload file to minio', error?.message, error?.stack]);
|
this.logger.error(['Error on upload file to minio', error?.message, error?.stack]);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
const buffer = await this.downloadMediaMessage(received?.messages[0]);
|
if (this.localWebhook.enabled && this.localWebhook.webhookBase64) {
|
||||||
messageRaw.message.base64 = buffer.toString('base64');
|
const buffer = await this.downloadMediaMessage(received?.messages[0]);
|
||||||
|
messageRaw.message.base64 = buffer.toString('base64');
|
||||||
|
}
|
||||||
|
|
||||||
// Processar OpenAI speech-to-text para áudio mesmo sem S3
|
// Processar OpenAI speech-to-text para áudio mesmo sem S3
|
||||||
if (this.configService.get<Openai>('OPENAI').ENABLED && message.type === 'audio') {
|
if (this.configService.get<Openai>('OPENAI').ENABLED && message.type === 'audio') {
|
||||||
|
let openAiBase64 = messageRaw.message.base64;
|
||||||
|
if (!openAiBase64) {
|
||||||
|
const buffer = await this.downloadMediaMessage(received?.messages[0]);
|
||||||
|
openAiBase64 = buffer.toString('base64');
|
||||||
|
}
|
||||||
|
|
||||||
const openAiDefaultSettings = await this.prismaRepository.openaiSetting.findFirst({
|
const openAiDefaultSettings = await this.prismaRepository.openaiSetting.findFirst({
|
||||||
where: {
|
where: {
|
||||||
instanceId: this.instanceId,
|
instanceId: this.instanceId,
|
||||||
@ -564,7 +574,7 @@ export class BusinessStartupService extends ChannelStartupService {
|
|||||||
openAiDefaultSettings.OpenaiCreds,
|
openAiDefaultSettings.OpenaiCreds,
|
||||||
{
|
{
|
||||||
message: {
|
message: {
|
||||||
base64: messageRaw.message.base64,
|
base64: openAiBase64,
|
||||||
...messageRaw,
|
...messageRaw,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -1004,6 +1014,7 @@ export class BusinessStartupService extends ChannelStartupService {
|
|||||||
[message['mediaType']]: {
|
[message['mediaType']]: {
|
||||||
[message['type']]: message['id'],
|
[message['type']]: message['id'],
|
||||||
...(message['mediaType'] !== 'audio' &&
|
...(message['mediaType'] !== 'audio' &&
|
||||||
|
message['mediaType'] !== 'video' &&
|
||||||
message['fileName'] &&
|
message['fileName'] &&
|
||||||
!isImage && { filename: message['fileName'] }),
|
!isImage && { filename: message['fileName'] }),
|
||||||
...(message['mediaType'] !== 'audio' && message['caption'] && { caption: message['caption'] }),
|
...(message['mediaType'] !== 'audio' && message['caption'] && { caption: message['caption'] }),
|
||||||
@ -1593,9 +1604,14 @@ export class BusinessStartupService extends ChannelStartupService {
|
|||||||
const messageType = msg.messageType.includes('Message') ? msg.messageType : msg.messageType + 'Message';
|
const messageType = msg.messageType.includes('Message') ? msg.messageType : msg.messageType + 'Message';
|
||||||
const mediaMessage = msg.message[messageType];
|
const mediaMessage = msg.message[messageType];
|
||||||
|
|
||||||
|
if (!msg.message?.base64) {
|
||||||
|
const buffer = await this.downloadMediaMessage({ type: messageType, ...msg.message });
|
||||||
|
msg.message.base64 = buffer.toString('base64');
|
||||||
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
mediaType: msg.messageType,
|
mediaType: msg.messageType,
|
||||||
fileName: mediaMessage?.fileName,
|
fileName: mediaMessage?.fileName || mediaMessage?.filename,
|
||||||
caption: mediaMessage?.caption,
|
caption: mediaMessage?.caption,
|
||||||
size: {
|
size: {
|
||||||
fileLength: mediaMessage?.fileLength,
|
fileLength: mediaMessage?.fileLength,
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user