@nexustechpro/baileys 2.0.5 → 2.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  /* eslint-disable camelcase */
2
2
  import axios from 'axios';
3
- import { MOBILE_TOKEN, MOBILE_REGISTRATION_ENDPOINT, MOBILE_USERAGENT, REGISTRATION_PUBLIC_KEY } from '../Defaults/index.js';
4
- import { md5, Curve, aesEncryptGCM } from '../Utils/crypto.js';
3
+ import { MOBILE_TOKEN, MOBILE_REGISTRATION_ENDPOINT, MOBILE_USERAGENT, REGISTRATION_PUBLIC_KEY, GRAPHQL_ENDPOINT, GRAPHQL_ACCESS_TOKEN, GRAPHQL_BAN_STATUS_DOC_ID } from '../Defaults/index.js'
4
+ import { md5, Curve, aesEncryptGCM } from '../Utils/index.js';
5
5
  import { jidEncode } from '../WABinary/index.js';
6
6
  import { makeCommunitiesSocket } from './communities.js';
7
7
 
@@ -69,6 +69,22 @@ const makeRegistrationSocket = (config) => {
69
69
  };
70
70
  };
71
71
 
72
+ async function getBanDetails(appealToken) {
73
+ const res = await axios.post(GRAPHQL_ENDPOINT, {
74
+ variables: JSON.stringify({ app_id: 'dev.app.id', request_token: appealToken }),
75
+ access_token: GRAPHQL_ACCESS_TOKEN,
76
+ doc_id: GRAPHQL_BAN_STATUS_DOC_ID,
77
+ lang: 'en_GB',
78
+ 'Content-Type': 'application/json'
79
+ }, {
80
+ headers: {
81
+ 'User-Agent': MOBILE_USERAGENT,
82
+ 'Content-Type': 'application/json'
83
+ }
84
+ })
85
+ return res.data?.data?.whatsapp_support_ban_appeal_status || null
86
+ }
87
+
72
88
  function registrationParams(params) {
73
89
  const e_regid = Buffer.alloc(4);
74
90
  e_regid.writeInt32BE(params.registrationId);
@@ -76,33 +92,33 @@ function registrationParams(params) {
76
92
  const e_skey_id = Buffer.alloc(3);
77
93
  e_skey_id.writeInt16BE(params.signedPreKey.keyId);
78
94
 
95
+ // ✅ Clean BEFORE token generation
79
96
  params.phoneNumberCountryCode = params.phoneNumberCountryCode.replace('+', '').trim();
80
97
  params.phoneNumberNationalNumber = params.phoneNumberNationalNumber.replace(/[/\-\s)(]/g, '').trim();
81
98
 
82
99
  return {
83
- cc: params.phoneNumberCountryCode,
84
- in: params.phoneNumberNationalNumber,
85
- Rc: '0',
86
- lg: 'en',
87
- lc: 'GB',
88
- mistyped: '6',
89
- authkey: Buffer.from(params.noiseKey.public).toString('base64url'),
90
- e_regid: e_regid.toString('base64url'),
91
- e_keytype: 'BQ',
92
- e_ident: Buffer.from(params.signedIdentityKey.public).toString('base64url'),
93
- // e_skey_id: e_skey_id.toString('base64url'),
94
- e_skey_id: 'AAAA',
95
- e_skey_val: Buffer.from(params.signedPreKey.keyPair.public).toString('base64url'),
96
- e_skey_sig: Buffer.from(params.signedPreKey.signature).toString('base64url'),
97
- fdid: params.phoneId,
98
- network_ratio_type: '1',
99
- expid: params.deviceId,
100
- simnum: '1',
101
- hasinrc: '1',
102
- pid: Math.floor(Math.random() * 1000).toString(),
103
- id: convertBufferToUrlHex(params.identityId),
104
- backup_token: convertBufferToUrlHex(params.backupToken),
105
- token: md5(Buffer.concat([MOBILE_TOKEN, Buffer.from(params.phoneNumberNationalNumber)])).toString('hex'),
100
+ cc: params.phoneNumberCountryCode,
101
+ in: params.phoneNumberNationalNumber,
102
+ Rc: '0',
103
+ lg: 'en',
104
+ lc: 'GB',
105
+ mistyped: '6',
106
+ authkey: Buffer.from(params.noiseKey.public).toString('base64url'),
107
+ e_regid: e_regid.toString('base64url'),
108
+ e_keytype: 'BQ',
109
+ e_ident: Buffer.from(params.signedIdentityKey.public).toString('base64url'),
110
+ e_skey_id: e_skey_id.toString('base64url'),
111
+ e_skey_val: Buffer.from(params.signedPreKey.keyPair.public).toString('base64url'),
112
+ e_skey_sig: Buffer.from(params.signedPreKey.signature).toString('base64url'),
113
+ fdid: params.phoneId,
114
+ network_ratio_type: '1',
115
+ expid: params.deviceId,
116
+ simnum: '1',
117
+ hasinrc: '1',
118
+ pid: Math.floor(Math.random() * 1000).toString(),
119
+ id: convertBufferToUrlHex(params.identityId),
120
+ backup_token: convertBufferToUrlHex(params.backupToken),
121
+ token: Buffer.from(md5(Buffer.concat([MOBILE_TOKEN, Buffer.from(params.phoneNumberNationalNumber)]))).toString('hex'),
106
122
  fraud_checkpoint_code: params.captcha,
107
123
  };
108
124
  }
@@ -114,13 +130,13 @@ function mobileRegisterCode(params, fetchOptions) {
114
130
  return mobileRegisterFetch('/code', {
115
131
  params: {
116
132
  ...registrationParams(params),
117
- mcc: `${params.phoneNumberMobileCountryCode}`.padStart(3, '0'),
118
- mnc: `${params.phoneNumberMobileNetworkCode || '001'}`.padStart(3, '0'),
133
+ mcc: `${params.phoneNumberMobileCountryCode}`.padStart(3, '0'),
134
+ mnc: `${params.phoneNumberMobileNetworkCode || '001'}`.padStart(3, '0'),
119
135
  sim_mcc: '000',
120
136
  sim_mnc: '000',
121
- method: params?.method || 'sms',
122
- reason: '',
123
- hasav: '1',
137
+ method: params?.method || 'sms',
138
+ reason: '',
139
+ hasav: '1',
124
140
  },
125
141
  ...fetchOptions,
126
142
  });
@@ -148,8 +164,8 @@ async function mobileRegister(params, fetchOptions) {
148
164
  */
149
165
  function mobileRegisterEncrypt(data) {
150
166
  const keypair = Curve.generateKeyPair();
151
- const key = Curve.sharedKey(keypair.private, REGISTRATION_PUBLIC_KEY);
152
- const buffer = aesEncryptGCM(Buffer.from(data), new Uint8Array(key), Buffer.alloc(12), Buffer.alloc(0));
167
+ const key = Curve.sharedKey(keypair.private, REGISTRATION_PUBLIC_KEY);
168
+ const buffer = aesEncryptGCM(Buffer.from(data), new Uint8Array(key), Buffer.alloc(12), Buffer.alloc(0));
153
169
 
154
170
  return Buffer.concat([Buffer.from(keypair.public), buffer]).toString('base64url');
155
171
  }
@@ -194,4 +210,5 @@ export {
194
210
  mobileRegister,
195
211
  mobileRegisterEncrypt,
196
212
  mobileRegisterFetch,
197
- };
213
+ getBanDetails
214
+ }