mirror of
https://github.com/EvolutionAPI/evolution-api.git
synced 2025-07-25 01:48:39 -06:00
fix: Adjusts in createJid
Adjusts in createJid
This commit is contained in:
commit
3ca8ab12a4
@ -124,7 +124,7 @@ const optionsSchema: JSONSchema7 = {
|
|||||||
|
|
||||||
const numberDefinition: JSONSchema7Definition = {
|
const numberDefinition: JSONSchema7Definition = {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
pattern: '^\\d+[\\.@\\w-]+',
|
// pattern: '^\\d+[\\.@\\w-]+',
|
||||||
description: 'Invalid format',
|
description: 'Invalid format',
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1469,7 +1469,7 @@ export class WAStartupService {
|
|||||||
|
|
||||||
private createJid(number: string): string {
|
private createJid(number: string): string {
|
||||||
this.logger.verbose('Creating jid with number: ' + number);
|
this.logger.verbose('Creating jid with number: ' + number);
|
||||||
|
|
||||||
if (number.includes('@g.us') || number.includes('@s.whatsapp.net')) {
|
if (number.includes('@g.us') || number.includes('@s.whatsapp.net')) {
|
||||||
this.logger.verbose('Number already contains @g.us or @s.whatsapp.net');
|
this.logger.verbose('Number already contains @g.us or @s.whatsapp.net');
|
||||||
return number;
|
return number;
|
||||||
@ -1479,37 +1479,23 @@ export class WAStartupService {
|
|||||||
this.logger.verbose('Number already contains @broadcast');
|
this.logger.verbose('Number already contains @broadcast');
|
||||||
return number;
|
return number;
|
||||||
}
|
}
|
||||||
|
|
||||||
const countryCode = number.substring(0, 2);
|
number = number
|
||||||
|
?.split(":")[0]
|
||||||
if (Number(countryCode) === 55) {
|
?.split("@")[0]
|
||||||
const formattedBRNumber = this.formatBRNumber(number);
|
?.replace(' ', '')
|
||||||
if (formattedBRNumber !== number) {
|
?.replace('+', '')
|
||||||
this.logger.verbose(
|
?.replace('(', '')
|
||||||
'Jid created is whatsapp in format BR: ' +
|
?.replace(')', '');
|
||||||
`${formattedBRNumber}@s.whatsapp.net`,
|
|
||||||
);
|
if (number.includes('-') && number.length >= 18) {
|
||||||
return `${formattedBRNumber}@s.whatsapp.net`;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (Number(countryCode) === 52 || Number(countryCode) === 54) {
|
|
||||||
const formattedMXARNumber = this.formatMXOrARNumber(number);
|
|
||||||
|
|
||||||
if (formattedMXARNumber !== number) {
|
|
||||||
this.logger.verbose(
|
|
||||||
'Jid created is whatsapp in format MXAR: ' +
|
|
||||||
`${formattedMXARNumber}@s.whatsapp.net`,
|
|
||||||
);
|
|
||||||
return `${formattedMXARNumber}@s.whatsapp.net`;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (number.includes('-')) {
|
|
||||||
this.logger.verbose('Jid created is group: ' + `${number}@g.us`);
|
this.logger.verbose('Jid created is group: ' + `${number}@g.us`);
|
||||||
|
number = number.replace(/[^\d-]/g, '');
|
||||||
return `${number}@g.us`;
|
return `${number}@g.us`;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
number = number.replace(/\D/g, '');
|
||||||
|
|
||||||
this.logger.verbose('Jid created is whatsapp: ' + `${number}@s.whatsapp.net`);
|
this.logger.verbose('Jid created is whatsapp: ' + `${number}@s.whatsapp.net`);
|
||||||
return `${number}@s.whatsapp.net`;
|
return `${number}@s.whatsapp.net`;
|
||||||
}
|
}
|
||||||
@ -1612,15 +1598,14 @@ export class WAStartupService {
|
|||||||
) {
|
) {
|
||||||
this.logger.verbose('Sending message with typing');
|
this.logger.verbose('Sending message with typing');
|
||||||
|
|
||||||
const jid = this.createJid(number);
|
const numberWA = await this.whatsappNumber({ numbers: [number] });
|
||||||
const numberWA = await this.whatsappNumber({ numbers: [jid] });
|
|
||||||
const isWA = numberWA[0];
|
const isWA = numberWA[0];
|
||||||
|
|
||||||
if (!isWA.exists && !isJidGroup(isWA.jid) && !isWA.jid.includes('@broadcast')) {
|
if (!isWA.exists && !isJidGroup(isWA.jid) && !isWA.jid.includes('@broadcast')) {
|
||||||
throw new BadRequestException(isWA);
|
throw new BadRequestException(isWA);
|
||||||
}
|
}
|
||||||
|
|
||||||
const sender = isJidGroup(jid) ? jid : isWA.jid;
|
const sender = isWA.jid;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
if (options?.delay) {
|
if (options?.delay) {
|
||||||
@ -1629,7 +1614,7 @@ export class WAStartupService {
|
|||||||
await this.client.presenceSubscribe(sender);
|
await this.client.presenceSubscribe(sender);
|
||||||
this.logger.verbose('Subscribing to presence');
|
this.logger.verbose('Subscribing to presence');
|
||||||
|
|
||||||
await this.client.sendPresenceUpdate(options?.presence ?? 'composing', jid);
|
await this.client.sendPresenceUpdate(options?.presence ?? 'composing', sender);
|
||||||
this.logger.verbose(
|
this.logger.verbose(
|
||||||
'Sending presence update: ' + options?.presence ?? 'composing',
|
'Sending presence update: ' + options?.presence ?? 'composing',
|
||||||
);
|
);
|
||||||
@ -1692,7 +1677,8 @@ export class WAStartupService {
|
|||||||
mentions = options.mentions.mentioned.map((mention) => {
|
mentions = options.mentions.mentioned.map((mention) => {
|
||||||
const jid = this.createJid(mention);
|
const jid = this.createJid(mention);
|
||||||
if (isJidGroup(jid)) {
|
if (isJidGroup(jid)) {
|
||||||
throw new BadRequestException('Mentions must be a number');
|
return null;
|
||||||
|
// throw new BadRequestException('Mentions must be a number');
|
||||||
}
|
}
|
||||||
return jid;
|
return jid;
|
||||||
});
|
});
|
||||||
@ -2337,7 +2323,7 @@ export class WAStartupService {
|
|||||||
const onWhatsapp: OnWhatsAppDto[] = [];
|
const onWhatsapp: OnWhatsAppDto[] = [];
|
||||||
for await (const number of data.numbers) {
|
for await (const number of data.numbers) {
|
||||||
const jid = this.createJid(number);
|
const jid = this.createJid(number);
|
||||||
// const jid = `${number}@s.whatsapp.net`;
|
|
||||||
if (isJidGroup(jid)) {
|
if (isJidGroup(jid)) {
|
||||||
const group = await this.findGroup({ groupJid: jid }, 'inner');
|
const group = await this.findGroup({ groupJid: jid }, 'inner');
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user