Merge pull request #2021 from Vitordotpy/fix/message-update-and-i18n-errors
Some checks failed
Security Scan / CodeQL Analysis (javascript) (push) Has been cancelled
Security Scan / Dependency Review (push) Has been cancelled
Check Code Quality / check-lint-and-build (push) Has been cancelled
Build Docker image / Build and Deploy (push) Has been cancelled

fix(baileys): message update and i18n errors
This commit is contained in:
Davidson Gomes 2025-09-26 16:37:24 -03:00 committed by GitHub
commit b62917e80f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 30 additions and 12 deletions

View File

@ -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) {

View File

@ -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,