fix: Adjust in validation for mexican and argentine numbers

This commit is contained in:
Davidson Gomes 2023-07-19 08:02:24 -03:00
parent 3cf0ced62e
commit aa75380662
2 changed files with 29 additions and 23 deletions

View File

@ -28,6 +28,7 @@
* Bug fix when sending mobile message change contact name to number in chatwoot
* Bug fix when connecting whatsapp does not send confirmation message
* Fixed quoted message with id or message directly
* Adjust in validation for mexican and argentine numbers
### Integrations

View File

@ -1345,17 +1345,12 @@ export class WAStartupService {
// Check if the number is MX or AR
private formatMXOrARNumber(jid: string): string {
const regexp = new RegExp(/^(\d{2})(\d{2})\d{1}(\d{8})$/);
if (regexp.test(jid)) {
const match = regexp.exec(jid);
const countryCode = jid.substring(0, 2);
if (match && (match[1] === '52' || match[1] === '54')) {
const joker = Number.parseInt(match[3][0]);
const ddd = Number.parseInt(match[2]);
if (joker < 7 || ddd < 11) {
return match[0];
}
return match[1] === '52' ? '52' + match[3] : '54' + match[3];
if (Number(countryCode) === 52 || Number(countryCode) === 54) {
if (jid.length === 13) {
const number = countryCode + jid.substring(3);
return number;
}
return jid;
@ -1395,13 +1390,21 @@ export class WAStartupService {
return number;
}
const countryCode = number.substring(0, 2);
if (Number(countryCode) === 55) {
const formattedBRNumber = this.formatBRNumber(number);
if (formattedBRNumber !== number) {
this.logger.verbose(
'Jid created is whatsapp in format BR: ' + `${formattedBRNumber}@s.whatsapp.net`,
'Jid created is whatsapp in format BR: ' +
`${formattedBRNumber}@s.whatsapp.net`,
);
return `${formattedBRNumber}@s.whatsapp.net`;
}
}
if (Number(countryCode) === 52 || Number(countryCode) === 54) {
console.log('numero mexicano');
const formattedMXARNumber = this.formatMXOrARNumber(number);
@ -1412,6 +1415,7 @@ export class WAStartupService {
);
return `${formattedMXARNumber}@s.whatsapp.net`;
}
}
if (number.includes('-')) {
this.logger.verbose('Jid created is group: ' + `${number}@g.us`);
@ -2168,6 +2172,7 @@ export class WAStartupService {
const onWhatsapp: OnWhatsAppDto[] = [];
for await (const number of data.numbers) {
const jid = this.createJid(number);
// const jid = `${number}@s.whatsapp.net`;
if (isJidGroup(jid)) {
const group = await this.findGroup({ groupJid: jid }, 'inner');