diff --git a/src/api/integrations/channel/whatsapp/whatsapp.baileys.service.ts b/src/api/integrations/channel/whatsapp/whatsapp.baileys.service.ts index 02dfd5603..82252dcbe 100644 --- a/src/api/integrations/channel/whatsapp/whatsapp.baileys.service.ts +++ b/src/api/integrations/channel/whatsapp/whatsapp.baileys.service.ts @@ -1498,7 +1498,11 @@ export class BaileysStartupService extends ChannelStartupService { `) as any[]; findMessage = messages[0] || null; - if (findMessage) message.messageId = findMessage.id; + if (!findMessage?.id) { + this.logger.warn(`Original message not found for update. Skipping. Key: ${JSON.stringify(key)}`); + continue; + } + message.messageId = findMessage.id; } if (update.message === null && update.status === undefined) { diff --git a/src/utils/i18n.ts b/src/utils/i18n.ts index af737ed0e..e8aea42b0 100644 --- a/src/utils/i18n.ts +++ b/src/utils/i18n.ts @@ -3,23 +3,37 @@ import fs from 'fs'; import i18next from 'i18next'; import path from 'path'; -const __dirname = path.resolve(process.cwd(), 'src', 'utils'); +const distPath = path.resolve(process.cwd(), 'dist', 'translations'); +const srcPath = path.resolve(process.cwd(), 'src', 'utils', 'translations'); + +let translationsPath; + +if (fs.existsSync(distPath)) { + translationsPath = distPath; +} else if (fs.existsSync(srcPath)) { + translationsPath = srcPath; +} else { + console.error('Translations directory not found in dist or src.'); + // Fallback to a non-existent path or handle error appropriately + translationsPath = ''; +} const languages = ['en', 'pt-BR', 'es']; -const translationsPath = path.join(__dirname, 'translations'); const configService: ConfigService = new ConfigService(); const resources: any = {}; -languages.forEach((language) => { - const languagePath = path.join(translationsPath, `${language}.json`); - if (fs.existsSync(languagePath)) { - const translationContent = fs.readFileSync(languagePath, 'utf8'); - resources[language] = { - translation: JSON.parse(translationContent), - }; - } -}); +if (translationsPath) { + languages.forEach((language) => { + const languagePath = path.join(translationsPath, `${language}.json`); + if (fs.existsSync(languagePath)) { + const translationContent = fs.readFileSync(languagePath, 'utf8'); + resources[language] = { + translation: JSON.parse(translationContent), + }; + } + }); +} i18next.init({ resources,