mirror of
https://github.com/EvolutionAPI/evolution-api.git
synced 2025-07-23 17:08:44 -06:00
If contact stored with name, name added in return
This commit is contained in:
parent
058acc5042
commit
66b82ac10a
@ -3130,7 +3130,7 @@ export class WAStartupService {
|
|||||||
const jids: {
|
const jids: {
|
||||||
groups: { number: string; jid: string }[];
|
groups: { number: string; jid: string }[];
|
||||||
broadcast: { number: string; jid: string }[];
|
broadcast: { number: string; jid: string }[];
|
||||||
users: { number: string; jid: string }[];
|
users: { number: string; jid: string; contact?: string; name?: string }[];
|
||||||
} = {
|
} = {
|
||||||
groups: [],
|
groups: [],
|
||||||
broadcast: [],
|
broadcast: [],
|
||||||
@ -3145,7 +3145,7 @@ export class WAStartupService {
|
|||||||
} else if (jid === 'status@broadcast') {
|
} else if (jid === 'status@broadcast') {
|
||||||
jids.broadcast.push({ number, jid });
|
jids.broadcast.push({ number, jid });
|
||||||
} else {
|
} else {
|
||||||
jids.users.push({ number, jid });
|
jids.users.push({ number, jid, contact: jid });
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -3172,22 +3172,39 @@ export class WAStartupService {
|
|||||||
const verify = await this.client.onWhatsApp(
|
const verify = await this.client.onWhatsApp(
|
||||||
...jids.users.map(({ jid }) => (!jid.startsWith('+') ? `+${jid}` : jid)),
|
...jids.users.map(({ jid }) => (!jid.startsWith('+') ? `+${jid}` : jid)),
|
||||||
);
|
);
|
||||||
const users: OnWhatsAppDto[] = jids.users.map((user) => {
|
const users: OnWhatsAppDto[] = await Promise.all(
|
||||||
const MAX_SIMILARITY_THRESHOLD = 0.01;
|
jids.users.map(async (user) => {
|
||||||
const isBrWithDigit = user.jid.startsWith('55') && user.jid.slice(4, 5) === '9' && user.jid.length === 28;
|
const MAX_SIMILARITY_THRESHOLD = 0.01;
|
||||||
const jid = isBrWithDigit ? user.jid.slice(0, 4) + user.jid.slice(5) : user.jid;
|
const isBrWithDigit = user.jid.startsWith('55') && user.jid.slice(4, 5) === '9' && user.jid.length === 28;
|
||||||
|
const jid = isBrWithDigit ? user.jid.slice(0, 4) + user.jid.slice(5) : user.jid;
|
||||||
|
|
||||||
|
const query: ContactQuery = {
|
||||||
|
where: {
|
||||||
|
owner: this.instance.name,
|
||||||
|
id: user.contact,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
const contacts: ContactRaw[] = await this.repository.contact.find(query);
|
||||||
|
let firstContactFound;
|
||||||
|
if (contacts.length > 0) {
|
||||||
|
firstContactFound = contacts[0].pushName;
|
||||||
|
console.log(contacts[0]);
|
||||||
|
}
|
||||||
|
|
||||||
|
const numberVerified = verify.find((v) => {
|
||||||
|
const mainJidSimilarity = levenshtein.get(user.jid, v.jid) / Math.max(user.jid.length, v.jid.length);
|
||||||
|
const jidSimilarity = levenshtein.get(jid, v.jid) / Math.max(jid.length, v.jid.length);
|
||||||
|
return mainJidSimilarity <= MAX_SIMILARITY_THRESHOLD || jidSimilarity <= MAX_SIMILARITY_THRESHOLD;
|
||||||
|
});
|
||||||
|
return {
|
||||||
|
exists: !!numberVerified?.exists,
|
||||||
|
jid: numberVerified?.jid || user.jid,
|
||||||
|
name: firstContactFound,
|
||||||
|
number: user.number,
|
||||||
|
};
|
||||||
|
}),
|
||||||
|
);
|
||||||
|
|
||||||
const numberVerified = verify.find((v) => {
|
|
||||||
const mainJidSimilarity = levenshtein.get(user.jid, v.jid) / Math.max(user.jid.length, v.jid.length);
|
|
||||||
const jidSimilarity = levenshtein.get(jid, v.jid) / Math.max(jid.length, v.jid.length);
|
|
||||||
return mainJidSimilarity <= MAX_SIMILARITY_THRESHOLD || jidSimilarity <= MAX_SIMILARITY_THRESHOLD;
|
|
||||||
});
|
|
||||||
return {
|
|
||||||
exists: !!numberVerified?.exists,
|
|
||||||
jid: numberVerified?.jid || user.jid,
|
|
||||||
number: user.number,
|
|
||||||
};
|
|
||||||
});
|
|
||||||
onWhatsapp.push(...users);
|
onWhatsapp.push(...users);
|
||||||
|
|
||||||
return onWhatsapp;
|
return onWhatsapp;
|
||||||
|
Loading…
Reference in New Issue
Block a user