@@ -1469,7 +1469,7 @@ export class WAStartupService {
14691469
14701470 private createJid ( number : string ) : string {
14711471 this . logger . verbose ( 'Creating jid with number: ' + number ) ;
1472-
1472+
14731473 if ( number . includes ( '@g.us' ) || number . includes ( '@s.whatsapp.net' ) ) {
14741474 this . logger . verbose ( 'Number already contains @g.us or @s.whatsapp.net' ) ;
14751475 return number ;
@@ -1479,37 +1479,23 @@ export class WAStartupService {
14791479 this . logger . verbose ( 'Number already contains @broadcast' ) ;
14801480 return number ;
14811481 }
1482-
1483- const countryCode = number . substring ( 0 , 2 ) ;
1484-
1485- if ( Number ( countryCode ) === 55 ) {
1486- const formattedBRNumber = this . formatBRNumber ( number ) ;
1487- if ( formattedBRNumber !== number ) {
1488- this . logger . verbose (
1489- 'Jid created is whatsapp in format BR: ' +
1490- `${ formattedBRNumber } @s.whatsapp.net` ,
1491- ) ;
1492- return `${ formattedBRNumber } @s.whatsapp.net` ;
1493- }
1494- }
1495-
1496- if ( Number ( countryCode ) === 52 || Number ( countryCode ) === 54 ) {
1497- const formattedMXARNumber = this . formatMXOrARNumber ( number ) ;
1498-
1499- if ( formattedMXARNumber !== number ) {
1500- this . logger . verbose (
1501- 'Jid created is whatsapp in format MXAR: ' +
1502- `${ formattedMXARNumber } @s.whatsapp.net` ,
1503- ) ;
1504- return `${ formattedMXARNumber } @s.whatsapp.net` ;
1505- }
1506- }
1507-
1508- if ( number . includes ( '-' ) ) {
1482+
1483+ number = number
1484+ ?. split ( ":" ) [ 0 ]
1485+ ?. split ( "@" ) [ 0 ]
1486+ ?. replace ( ' ' , '' )
1487+ ?. replace ( '+' , '' )
1488+ ?. replace ( '(' , '' )
1489+ ?. replace ( ')' , '' ) ;
1490+
1491+ if ( number . includes ( '-' ) && number . length >= 18 ) {
15091492 this . logger . verbose ( 'Jid created is group: ' + `${ number } @g.us` ) ;
1493+ number = number . replace ( / [ ^ \d - ] / g, '' ) ;
15101494 return `${ number } @g.us` ;
15111495 }
1512-
1496+
1497+ number = number . replace ( / \D / g, '' ) ;
1498+
15131499 this . logger . verbose ( 'Jid created is whatsapp: ' + `${ number } @s.whatsapp.net` ) ;
15141500 return `${ number } @s.whatsapp.net` ;
15151501 }
@@ -1612,15 +1598,14 @@ export class WAStartupService {
16121598 ) {
16131599 this . logger . verbose ( 'Sending message with typing' ) ;
16141600
1615- const jid = this . createJid ( number ) ;
1616- const numberWA = await this . whatsappNumber ( { numbers : [ jid ] } ) ;
1601+ const numberWA = await this . whatsappNumber ( { numbers : [ number ] } ) ;
16171602 const isWA = numberWA [ 0 ] ;
16181603
16191604 if ( ! isWA . exists && ! isJidGroup ( isWA . jid ) && ! isWA . jid . includes ( '@broadcast' ) ) {
16201605 throw new BadRequestException ( isWA ) ;
16211606 }
16221607
1623- const sender = isJidGroup ( jid ) ? jid : isWA . jid ;
1608+ const sender = isWA . jid ;
16241609
16251610 try {
16261611 if ( options ?. delay ) {
@@ -1629,7 +1614,7 @@ export class WAStartupService {
16291614 await this . client . presenceSubscribe ( sender ) ;
16301615 this . logger . verbose ( 'Subscribing to presence' ) ;
16311616
1632- await this . client . sendPresenceUpdate ( options ?. presence ?? 'composing' , jid ) ;
1617+ await this . client . sendPresenceUpdate ( options ?. presence ?? 'composing' , sender ) ;
16331618 this . logger . verbose (
16341619 'Sending presence update: ' + options ?. presence ?? 'composing' ,
16351620 ) ;
@@ -1692,7 +1677,8 @@ export class WAStartupService {
16921677 mentions = options . mentions . mentioned . map ( ( mention ) => {
16931678 const jid = this . createJid ( mention ) ;
16941679 if ( isJidGroup ( jid ) ) {
1695- throw new BadRequestException ( 'Mentions must be a number' ) ;
1680+ return null ;
1681+ // throw new BadRequestException('Mentions must be a number');
16961682 }
16971683 return jid ;
16981684 } ) ;
@@ -2337,7 +2323,7 @@ export class WAStartupService {
23372323 const onWhatsapp : OnWhatsAppDto [ ] = [ ] ;
23382324 for await ( const number of data . numbers ) {
23392325 const jid = this . createJid ( number ) ;
2340- // const jid = `${number} @s .whatsapp.net`;
2326+
23412327 if ( isJidGroup ( jid ) ) {
23422328 const group = await this . findGroup ( { groupJid : jid } , 'inner' ) ;
23432329
0 commit comments