MCPcopy Create free account
hub / github.com/evolution-foundation/evolution-api / getAvailableNumbers

Function getAvailableNumbers

src/utils/onWhatsappCache.ts:8–60  ·  view source on GitHub ↗
(remoteJid: string)

Source from the content-addressed store, hash-verified

6const logger = new Logger('OnWhatsappCache');
7
8function getAvailableNumbers(remoteJid: string) {
9 const numbersAvailable: string[] = [];
10
11 if (remoteJid.startsWith('+')) {
12 remoteJid = remoteJid.slice(1);
13 }
14
15 const [number, domain] = remoteJid.split('@');
16
17 // TODO: Se já for @lid, retornar apenas ele mesmo SEM adicionar @domain novamente
18 if (domain === 'lid' || domain === 'g.us') {
19 return [remoteJid]; // Retorna direto para @lid e @g.us
20 }
21
22 // Brazilian numbers
23 if (remoteJid.startsWith('55')) {
24 const numberWithDigit =
25 number.slice(4, 5) === '9' && number.length === 13 ? number : `${number.slice(0, 4)}9${number.slice(4)}`;
26 const numberWithoutDigit = number.length === 12 ? number : number.slice(0, 4) + number.slice(5);
27
28 numbersAvailable.push(numberWithDigit);
29 numbersAvailable.push(numberWithoutDigit);
30 }
31
32 // Mexican/Argentina numbers
33 // Ref: https://faq.whatsapp.com/1294841057948784
34 else if (number.startsWith('52') || number.startsWith('54')) {
35 let prefix = '';
36 if (number.startsWith('52')) {
37 prefix = '1';
38 }
39 if (number.startsWith('54')) {
40 prefix = '9';
41 }
42
43 const numberWithDigit =
44 number.slice(2, 3) === prefix && number.length === 13
45 ? number
46 : `${number.slice(0, 2)}${prefix}${number.slice(2)}`;
47 const numberWithoutDigit = number.length === 12 ? number : number.slice(0, 2) + number.slice(3);
48
49 numbersAvailable.push(numberWithDigit);
50 numbersAvailable.push(numberWithoutDigit);
51 }
52
53 // Other countries
54 else {
55 numbersAvailable.push(remoteJid);
56 }
57
58 // TODO: Adiciona @domain apenas para números que não são @lid
59 return numbersAvailable.map((number) => `${number}@${domain}`);
60}
61
62interface ISaveOnWhatsappCacheParams {
63 remoteJid: string;

Callers 2

saveOnWhatsappCacheFunction · 0.85
getOnWhatsappCacheFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected