@@ -1380,7 +1380,7 @@ export class WAStartupService {
13801380
13811381 private createJid ( number : string ) : string {
13821382 this . logger . verbose ( 'Creating jid with number: ' + number ) ;
1383-
1383+
13841384 if ( number . includes ( '@g.us' ) || number . includes ( '@s.whatsapp.net' ) ) {
13851385 this . logger . verbose ( 'Number already contains @g.us or @s.whatsapp.net' ) ;
13861386 return number ;
@@ -1390,37 +1390,23 @@ export class WAStartupService {
13901390 this . logger . verbose ( 'Number already contains @broadcast' ) ;
13911391 return number ;
13921392 }
1393-
1394- const countryCode = number . substring ( 0 , 2 ) ;
1395-
1396- if ( Number ( countryCode ) === 55 ) {
1397- const formattedBRNumber = this . formatBRNumber ( number ) ;
1398- if ( formattedBRNumber !== number ) {
1399- this . logger . verbose (
1400- 'Jid created is whatsapp in format BR: ' +
1401- `${ formattedBRNumber } @s.whatsapp.net` ,
1402- ) ;
1403- return `${ formattedBRNumber } @s.whatsapp.net` ;
1404- }
1405- }
1406-
1407- if ( Number ( countryCode ) === 52 || Number ( countryCode ) === 54 ) {
1408- const formattedMXARNumber = this . formatMXOrARNumber ( number ) ;
1409-
1410- if ( formattedMXARNumber !== number ) {
1411- this . logger . verbose (
1412- 'Jid created is whatsapp in format MXAR: ' +
1413- `${ formattedMXARNumber } @s.whatsapp.net` ,
1414- ) ;
1415- return `${ formattedMXARNumber } @s.whatsapp.net` ;
1416- }
1417- }
1418-
1419- if ( number . includes ( '-' ) ) {
1393+
1394+ number = number
1395+ ?. split ( ":" ) [ 0 ]
1396+ ?. split ( "@" ) [ 0 ]
1397+ ?. replace ( ' ' , '' )
1398+ ?. replace ( '+' , '' )
1399+ ?. replace ( '(' , '' )
1400+ ?. replace ( ')' , '' ) ;
1401+
1402+ if ( number . includes ( '-' ) && number . length >= 18 ) {
14201403 this . logger . verbose ( 'Jid created is group: ' + `${ number } @g.us` ) ;
1404+ number = number . replace ( / [ ^ \d - ] / g, '' ) ;
14211405 return `${ number } @g.us` ;
14221406 }
1423-
1407+
1408+ number = number . replace ( / \D / g, '' ) ;
1409+
14241410 this . logger . verbose ( 'Jid created is whatsapp: ' + `${ number } @s.whatsapp.net` ) ;
14251411 return `${ number } @s.whatsapp.net` ;
14261412 }
@@ -1451,15 +1437,14 @@ export class WAStartupService {
14511437 ) {
14521438 this . logger . verbose ( 'Sending message with typing' ) ;
14531439
1454- const jid = this . createJid ( number ) ;
1455- const numberWA = await this . whatsappNumber ( { numbers : [ jid ] } ) ;
1440+ const numberWA = await this . whatsappNumber ( { numbers : [ number ] } ) ;
14561441 const isWA = numberWA [ 0 ] ;
14571442
14581443 if ( ! isWA . exists && ! isJidGroup ( isWA . jid ) && ! isWA . jid . includes ( '@broadcast' ) ) {
14591444 throw new BadRequestException ( isWA ) ;
14601445 }
14611446
1462- const sender = isJidGroup ( jid ) ? jid : isWA . jid ;
1447+ const sender = isWA . jid ;
14631448
14641449 try {
14651450 if ( options ?. delay ) {
@@ -1468,7 +1453,7 @@ export class WAStartupService {
14681453 await this . client . presenceSubscribe ( sender ) ;
14691454 this . logger . verbose ( 'Subscribing to presence' ) ;
14701455
1471- await this . client . sendPresenceUpdate ( options ?. presence ?? 'composing' , jid ) ;
1456+ await this . client . sendPresenceUpdate ( options ?. presence ?? 'composing' , sender ) ;
14721457 this . logger . verbose (
14731458 'Sending presence update: ' + options ?. presence ?? 'composing' ,
14741459 ) ;
@@ -1527,7 +1512,8 @@ export class WAStartupService {
15271512 mentions = options . mentions . mentioned . map ( ( mention ) => {
15281513 const jid = this . createJid ( mention ) ;
15291514 if ( isJidGroup ( jid ) ) {
1530- throw new BadRequestException ( 'Mentions must be a number' ) ;
1515+ return null ;
1516+ // throw new BadRequestException('Mentions must be a number');
15311517 }
15321518 return jid ;
15331519 } ) ;
@@ -2171,7 +2157,7 @@ export class WAStartupService {
21712157 const onWhatsapp : OnWhatsAppDto [ ] = [ ] ;
21722158 for await ( const number of data . numbers ) {
21732159 const jid = this . createJid ( number ) ;
2174- // const jid = `${number} @s .whatsapp.net`;
2160+
21752161 if ( isJidGroup ( jid ) ) {
21762162 const group = await this . findGroup ( { groupJid : jid } , 'inner' ) ;
21772163
0 commit comments