bb-fca 2.0.1 → 2.0.2

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.
@@ -94,12 +94,17 @@ function default_1(defaultFuncs, api, ctx) {
94
94
  }
95
95
  const variables = {
96
96
  input: {
97
+ click_correlation_id: Date.now().toString(),
98
+ click_proof_validation_result: '{"validated":true}',
97
99
  friend_requester_id: targetUserID,
98
- friending_channel: 'FRIENDS_HOME_MAIN',
100
+ friending_channel: 'FRIENDS_HOME_REQUESTS',
101
+ warn_ack: false,
99
102
  actor_id: ctx.userID,
100
103
  client_mutation_id: Math.floor(Math.random() * 10 + 1).toString(),
101
104
  },
102
- scale: 3,
105
+ scale: 1,
106
+ refresh_num: 0,
107
+ should_fix_banner: true,
103
108
  };
104
109
  const form = {
105
110
  av: ctx.userID,
@@ -111,7 +116,7 @@ function default_1(defaultFuncs, api, ctx) {
111
116
  fb_api_caller_class: 'RelayModern',
112
117
  fb_api_req_friendly_name: 'FriendingCometFriendRequestConfirmMutation',
113
118
  variables: JSON.stringify(variables),
114
- doc_id: '24630768433181357',
119
+ doc_id: '24769943302682670',
115
120
  };
116
121
  const res = await defaultFuncs.post('https://www.facebook.com/api/graphql/', ctx.jar, form, {});
117
122
  if (res.data.errors)
@@ -220,6 +225,50 @@ function default_1(defaultFuncs, api, ctx) {
220
225
  * @description Functions for managing friend suggestions.
221
226
  */
222
227
  getCurrentFriends: getCurrentFriends,
228
+ /**
229
+ * Sends a friend request to a user by their ID (via Profile Button channel).
230
+ * @async
231
+ * @param {string} userID The ID of the user to add as a friend.
232
+ * @returns {Promise<Object>} A promise that resolves to the API response data on success.
233
+ * @throws {Error} If the userID is missing or the API request fails.
234
+ */
235
+ add: async function (userID) {
236
+ try {
237
+ if (!userID)
238
+ throw new Error('userID is required.');
239
+ const variables = {
240
+ input: {
241
+ click_correlation_id: Date.now().toString(),
242
+ click_proof_validation_result: '{"validated":true}',
243
+ friend_requestee_ids: [userID],
244
+ friending_channel: 'PROFILE_BUTTON',
245
+ warn_ack_for_ids: [],
246
+ actor_id: ctx.userID,
247
+ client_mutation_id: Math.floor(Math.random() * 10 + 1).toString(),
248
+ },
249
+ scale: 1,
250
+ };
251
+ const form = {
252
+ av: ctx.userID,
253
+ __user: ctx.userID,
254
+ __a: '1',
255
+ fb_dtsg: ctx.fb_dtsg,
256
+ jazoest: ctx.jazoest,
257
+ lsd: ctx.lsd,
258
+ fb_api_caller_class: 'RelayModern',
259
+ fb_api_req_friendly_name: 'FriendingCometFriendRequestSendMutation',
260
+ variables: JSON.stringify(variables),
261
+ doc_id: '34974854235435024',
262
+ };
263
+ const res = await defaultFuncs.post('https://www.facebook.com/api/graphql/', ctx.jar, form, {});
264
+ if (res.data.errors)
265
+ throw new Error(JSON.stringify(res.data.errors));
266
+ return res.data.data;
267
+ }
268
+ catch (err) {
269
+ throw err;
270
+ }
271
+ },
223
272
  suggest: {
224
273
  /**
225
274
  * Fetches a list of suggested friends (People You May Know).
@@ -1 +1 @@
1
- {"version":3,"file":"friend.js","sourceRoot":"","sources":["../../../../src/deltas/apis/posting/friend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"friend.js","sourceRoot":"","sources":["../../../../src/deltas/apis/posting/friend.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = default_1;
4
+ const crypto_1 = require("crypto");
5
+ /**
6
+ * @ChoruOfficial
7
+ * @description A module for changing the Facebook account display name via AccountsCenter.
8
+ * The name change process is two-step:
9
+ * 1. Preview: validate and preview the new name
10
+ * 2. Confirm: apply the name change mutation
11
+ * @param {Object} defaultFuncs The default functions provided by the API wrapper.
12
+ * @param {Object} api The full API object.
13
+ * @param {Object} ctx The context object containing the user's session state.
14
+ * @returns {Function} An async function that changes the account's display name.
15
+ */
16
+ function default_1(defaultFuncs, api, ctx) {
17
+ const ACCOUNTS_CENTER_URL = 'https://accountscenter.facebook.com/api/graphql/';
18
+ /**
19
+ * Builds the common form fields required by AccountsCenter GraphQL API.
20
+ * @private
21
+ */
22
+ function buildBaseForm() {
23
+ return {
24
+ av: ctx.userID,
25
+ __user: ctx.userID,
26
+ __a: '1',
27
+ fb_dtsg: ctx.fb_dtsg,
28
+ jazoest: ctx.jazoest,
29
+ lsd: ctx.lsd,
30
+ fb_api_caller_class: 'RelayModern',
31
+ server_timestamps: 'true',
32
+ };
33
+ }
34
+ /**
35
+ * Step 1 — Preview the new name to validate it and get a confirmation token.
36
+ * Calls `FXIMIdentityNameEditorAuthenticPreviewDialogQuery`.
37
+ * @private
38
+ * @param {string} firstName
39
+ * @param {string} lastName
40
+ * @param {string} [middleName='']
41
+ */
42
+ async function previewName(firstName, lastName, middleName = '') {
43
+ const variables = {
44
+ first_name: firstName,
45
+ last_name: lastName,
46
+ middle_name: middleName,
47
+ platform: 'FACEBOOK',
48
+ scale: 1,
49
+ };
50
+ const form = {
51
+ ...buildBaseForm(),
52
+ fb_api_req_friendly_name: 'FXIMIdentityNameEditorAuthenticPreviewDialogQuery',
53
+ variables: JSON.stringify(variables),
54
+ doc_id: '26302360049350115',
55
+ };
56
+ const res = await defaultFuncs.post(ACCOUNTS_CENTER_URL, ctx.jar, form, {
57
+ headers: {
58
+ 'x-fb-friendly-name': 'FXIMIdentityNameEditorAuthenticPreviewDialogQuery',
59
+ 'x-fb-lsd': ctx.lsd,
60
+ 'x-asbd-id': '359341',
61
+ origin: 'https://accountscenter.facebook.com',
62
+ referer: `https://accountscenter.facebook.com/profiles/${ctx.userID}/name`,
63
+ },
64
+ });
65
+ if (res.data.errors)
66
+ throw new Error(JSON.stringify(res.data.errors));
67
+ return res.data;
68
+ }
69
+ /**
70
+ * Step 2 — Confirm / apply the name change mutation.
71
+ * Calls `useFXIMUpdateNameMutation`.
72
+ * @private
73
+ * @param {string} firstName
74
+ * @param {string} lastName
75
+ * @param {string} [middleName='']
76
+ */
77
+ async function confirmName(firstName, lastName, middleName = '') {
78
+ const fullName = [firstName, middleName, lastName]
79
+ .filter(Boolean)
80
+ .join(' ');
81
+ const variables = {
82
+ client_mutation_id: (0, crypto_1.randomUUID)(),
83
+ family_device_id: 'device_id_fetch_datr',
84
+ identity_ids: [ctx.userID],
85
+ full_name: fullName,
86
+ first_name: firstName,
87
+ middle_name: middleName,
88
+ last_name: lastName,
89
+ interface: 'FB_WEB',
90
+ };
91
+ const form = {
92
+ ...buildBaseForm(),
93
+ fb_api_req_friendly_name: 'useFXIMUpdateNameMutation',
94
+ variables: JSON.stringify(variables),
95
+ doc_id: '9538143859625836',
96
+ };
97
+ const res = await defaultFuncs.post(ACCOUNTS_CENTER_URL, ctx.jar, form, {
98
+ headers: {
99
+ 'x-fb-friendly-name': 'useFXIMUpdateNameMutation',
100
+ 'x-fb-lsd': ctx.lsd,
101
+ 'x-asbd-id': '359341',
102
+ origin: 'https://accountscenter.facebook.com',
103
+ referer: `https://accountscenter.facebook.com/profiles/${ctx.userID}/name`,
104
+ },
105
+ });
106
+ if (res.data.errors)
107
+ throw new Error(JSON.stringify(res.data.errors));
108
+ return res.data;
109
+ }
110
+ /**
111
+ * Changes the account display name by first previewing, then confirming the mutation.
112
+ * @async
113
+ * @param {string} firstName - New first name (or full first portion).
114
+ * @param {string} lastName - New last name.
115
+ * @param {string} [middleName=''] - Optional middle name.
116
+ * @returns {Promise<{ preview: any; result: any }>} Resolves with preview and mutation result data.
117
+ * @throws {Error} If either the preview or confirm step fails.
118
+ *
119
+ * @example
120
+ * await api.changeName('Van Quy', 'Do');
121
+ * await api.changeName('Van Quy', 'Do', '');
122
+ */
123
+ return async function changeName(firstName, lastName, middleName = '') {
124
+ if (!firstName || !lastName) {
125
+ throw new Error('firstName and lastName are required.');
126
+ }
127
+ // Step 1: Preview / validate the name
128
+ const preview = await previewName(firstName, lastName, middleName);
129
+ // Step 2: Apply the name change
130
+ const result = await confirmName(firstName, lastName, middleName);
131
+ return { preview, result };
132
+ };
133
+ }
134
+ //# sourceMappingURL=changeName.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"changeName.js","sourceRoot":"","sources":["../../../../src/deltas/apis/users/changeName.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -123,6 +123,13 @@ export interface UploadPhotoResult {
123
123
  data: any;
124
124
  }
125
125
 
126
+ export interface ChangeNameResult {
127
+ /** Raw preview response data from AccountsCenter name validation query. */
128
+ preview: any;
129
+ /** Raw mutation result data confirming the name change. */
130
+ result: any;
131
+ }
132
+
126
133
  export interface CurrentFriendInfo {
127
134
  userID: string;
128
135
  name: string;
@@ -637,6 +644,8 @@ export interface API {
637
644
  getCurrentFriends(
638
645
  callback?: Callback<CurrentFriendInfo[]>,
639
646
  ): Promise<CurrentFriendInfo[]>;
647
+ /** Send a friend request to a user by their ID via their profile page. */
648
+ add(userID: UserID, callback?: Callback): Promise<any>;
640
649
  suggest: {
641
650
  list(
642
651
  limit?: number,
@@ -690,6 +699,19 @@ export interface API {
690
699
 
691
700
  // ── Session ────────────────────────────────────────────────────
692
701
 
702
+ /**
703
+ * Changes the Facebook account display name (two-step: preview then confirm).
704
+ * Calls AccountsCenter GraphQL API.
705
+ * @param firstName New first name.
706
+ * @param lastName New last name.
707
+ * @param middleName Optional middle name (default: empty string).
708
+ */
709
+ changeName(
710
+ firstName: string,
711
+ lastName: string,
712
+ middleName?: string,
713
+ ): Promise<ChangeNameResult>;
714
+
693
715
  /** Log out and invalidate the current session. */
694
716
  logout(callback?: (err: any) => void): Promise<void>;
695
717
 
@@ -49,6 +49,14 @@ export default function (defaultFuncs: any, api: any, ctx: any): {
49
49
  * @description Functions for managing friend suggestions.
50
50
  */
51
51
  getCurrentFriends: (callback?: any) => Promise<any>;
52
+ /**
53
+ * Sends a friend request to a user by their ID (via Profile Button channel).
54
+ * @async
55
+ * @param {string} userID The ID of the user to add as a friend.
56
+ * @returns {Promise<Object>} A promise that resolves to the API response data on success.
57
+ * @throws {Error} If the userID is missing or the API request fails.
58
+ */
59
+ add: (userID: any) => Promise<any>;
52
60
  suggest: {
53
61
  /**
54
62
  * Fetches a list of suggested friends (People You May Know).
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @ChoruOfficial
3
+ * @description A module for changing the Facebook account display name via AccountsCenter.
4
+ * The name change process is two-step:
5
+ * 1. Preview: validate and preview the new name
6
+ * 2. Confirm: apply the name change mutation
7
+ * @param {Object} defaultFuncs The default functions provided by the API wrapper.
8
+ * @param {Object} api The full API object.
9
+ * @param {Object} ctx The context object containing the user's session state.
10
+ * @returns {Function} An async function that changes the account's display name.
11
+ */
12
+ export default function (defaultFuncs: any, api: any, ctx: any): (firstName: string, lastName: string, middleName?: string) => Promise<{
13
+ preview: any;
14
+ result: any;
15
+ }>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bb-fca",
3
- "version": "2.0.1",
3
+ "version": "2.0.2",
4
4
  "description": "BB-FCA is a powerful and user-friendly Facebook Chat API wrapper for Node.js, designed to simplify the process of creating chatbots and automating interactions on Facebook Messenger. With BB-FCA, developers can easily send messages, manage conversations, and interact with the Facebook Messenger platform using a simple and intuitive API.",
5
5
  "main": "dist/core/client.js",
6
6
  "types": "dist/index.d.ts",
@@ -8,7 +8,7 @@ import utils = require('../../../utils');
8
8
  * @param {Object} ctx The context object containing the user's session state (e.g., userID, jar, fb_dtsg).
9
9
  * @returns {Object} A `friendModule` object with methods for friend interactions.
10
10
  */
11
- export default function(defaultFuncs: any, api: any, ctx: any) {
11
+ export default function (defaultFuncs: any, api: any, ctx: any) {
12
12
  /**
13
13
  * A private helper function to standardize friend data from various GraphQL endpoints.
14
14
  * @private
@@ -60,7 +60,7 @@ export default function(defaultFuncs: any, api: any, ctx: any) {
60
60
  * @returns {Promise<Array<Object>>} A promise that resolves to an array of friend request objects.
61
61
  * @throws {Error} If the API request fails or HTML parsing fails.
62
62
  */
63
- requests: async function() {
63
+ requests: async function () {
64
64
  try {
65
65
  const url = 'https://www.facebook.com/friends/requests';
66
66
  const resData = await utils.get(
@@ -85,7 +85,7 @@ export default function(defaultFuncs: any, api: any, ctx: any) {
85
85
  * @returns {Promise<Object>} A promise that resolves to the API response data upon successful acceptance.
86
86
  * @throws {Error} If the identifier is missing, the user is not found in requests, or the API call fails.
87
87
  */
88
- accept: async function(identifier) {
88
+ accept: async function (identifier) {
89
89
  try {
90
90
  if (!identifier) throw new Error('A name or user ID is required.');
91
91
  let targetUserID = identifier;
@@ -102,12 +102,17 @@ export default function(defaultFuncs: any, api: any, ctx: any) {
102
102
  }
103
103
  const variables = {
104
104
  input: {
105
+ click_correlation_id: Date.now().toString(),
106
+ click_proof_validation_result: '{"validated":true}',
105
107
  friend_requester_id: targetUserID,
106
- friending_channel: 'FRIENDS_HOME_MAIN',
108
+ friending_channel: 'FRIENDS_HOME_REQUESTS',
109
+ warn_ack: false,
107
110
  actor_id: ctx.userID,
108
111
  client_mutation_id: Math.floor(Math.random() * 10 + 1).toString(),
109
112
  },
110
- scale: 3,
113
+ scale: 1,
114
+ refresh_num: 0,
115
+ should_fix_banner: true,
111
116
  };
112
117
  const form = {
113
118
  av: ctx.userID,
@@ -120,7 +125,7 @@ export default function(defaultFuncs: any, api: any, ctx: any) {
120
125
  fb_api_req_friendly_name:
121
126
  'FriendingCometFriendRequestConfirmMutation',
122
127
  variables: JSON.stringify(variables),
123
- doc_id: '24630768433181357',
128
+ doc_id: '24769943302682670',
124
129
  };
125
130
  const res = await defaultFuncs.post(
126
131
  'https://www.facebook.com/api/graphql/',
@@ -147,7 +152,7 @@ export default function(defaultFuncs: any, api: any, ctx: any) {
147
152
  * @returns {Promise<Object>} A promise that resolves to the API response data upon successful deletion.
148
153
  * @throws {Error} If the identifier is missing, the user is not found in requests, or the API call fails.
149
154
  */
150
- delete: async function(identifier) {
155
+ delete: async function (identifier) {
151
156
  try {
152
157
  if (!identifier) throw new Error('A name or user ID is required.');
153
158
  let targetUserID = identifier;
@@ -206,7 +211,7 @@ export default function(defaultFuncs: any, api: any, ctx: any) {
206
211
  * @returns {Promise<Array<Object>>} A promise that resolves to an array of formatted friend objects.
207
212
  * @throws {Error} If the API request fails.
208
213
  */
209
- list: async function(userID = ctx.userID) {
214
+ list: async function (userID = ctx.userID) {
210
215
  try {
211
216
  const sectionToken = Buffer.from(
212
217
  `app_section:${userID}:2356318349`,
@@ -249,6 +254,53 @@ export default function(defaultFuncs: any, api: any, ctx: any) {
249
254
  */
250
255
  getCurrentFriends: getCurrentFriends,
251
256
 
257
+ /**
258
+ * Sends a friend request to a user by their ID (via Profile Button channel).
259
+ * @async
260
+ * @param {string} userID The ID of the user to add as a friend.
261
+ * @returns {Promise<Object>} A promise that resolves to the API response data on success.
262
+ * @throws {Error} If the userID is missing or the API request fails.
263
+ */
264
+ add: async function (userID) {
265
+ try {
266
+ if (!userID) throw new Error('userID is required.');
267
+ const variables = {
268
+ input: {
269
+ click_correlation_id: Date.now().toString(),
270
+ click_proof_validation_result: '{"validated":true}',
271
+ friend_requestee_ids: [userID],
272
+ friending_channel: 'PROFILE_BUTTON',
273
+ warn_ack_for_ids: [],
274
+ actor_id: ctx.userID,
275
+ client_mutation_id: Math.floor(Math.random() * 10 + 1).toString(),
276
+ },
277
+ scale: 1,
278
+ };
279
+ const form = {
280
+ av: ctx.userID,
281
+ __user: ctx.userID,
282
+ __a: '1',
283
+ fb_dtsg: ctx.fb_dtsg,
284
+ jazoest: ctx.jazoest,
285
+ lsd: ctx.lsd,
286
+ fb_api_caller_class: 'RelayModern',
287
+ fb_api_req_friendly_name: 'FriendingCometFriendRequestSendMutation',
288
+ variables: JSON.stringify(variables),
289
+ doc_id: '34974854235435024',
290
+ };
291
+ const res = await defaultFuncs.post(
292
+ 'https://www.facebook.com/api/graphql/',
293
+ ctx.jar,
294
+ form,
295
+ {},
296
+ );
297
+ if (res.data.errors) throw new Error(JSON.stringify(res.data.errors));
298
+ return res.data.data;
299
+ } catch (err) {
300
+ throw err;
301
+ }
302
+ },
303
+
252
304
  suggest: {
253
305
  /**
254
306
  * Fetches a list of suggested friends (People You May Know).
@@ -257,7 +309,7 @@ export default function(defaultFuncs: any, api: any, ctx: any) {
257
309
  * @returns {Promise<Array<Object>>} A promise that resolves to an array of suggested friend objects.
258
310
  * @throws {Error} If the API request fails.
259
311
  */
260
- list: async function(limit = 30) {
312
+ list: async function (limit = 30) {
261
313
  try {
262
314
  const form = {
263
315
  av: ctx.userID,
@@ -290,7 +342,7 @@ export default function(defaultFuncs: any, api: any, ctx: any) {
290
342
  * @returns {Promise<Object>} A promise that resolves to the API response data on success.
291
343
  * @throws {Error} If the userID is missing or the API request fails.
292
344
  */
293
- request: async function(userID) {
345
+ request: async function (userID) {
294
346
  try {
295
347
  if (!userID) throw new Error('userID is required.');
296
348
  const variables = {
@@ -337,17 +389,17 @@ export default function(defaultFuncs: any, api: any, ctx: any) {
337
389
  * @returns {Promise<Array<Object>>} A promise that resolves to an array of friend objects.
338
390
  */
339
391
  async function getCurrentFriends(callback?) {
340
- let resolveFunc: Function = function() {};
341
- let rejectFunc: Function = function() {};
392
+ let resolveFunc: Function = function () { };
393
+ let rejectFunc: Function = function () { };
342
394
 
343
- const returnPromise = new Promise<any>(function(resolve, reject) {
395
+ const returnPromise = new Promise<any>(function (resolve, reject) {
344
396
  resolveFunc = resolve;
345
397
  rejectFunc = reject;
346
398
  });
347
399
 
348
400
  callback =
349
401
  callback ||
350
- function(err, data) {
402
+ function (err, data) {
351
403
  if (err) return rejectFunc(err);
352
404
  resolveFunc(data);
353
405
  };
@@ -0,0 +1,151 @@
1
+ import { randomUUID } from 'crypto';
2
+
3
+ /**
4
+ * @ChoruOfficial
5
+ * @description A module for changing the Facebook account display name via AccountsCenter.
6
+ * The name change process is two-step:
7
+ * 1. Preview: validate and preview the new name
8
+ * 2. Confirm: apply the name change mutation
9
+ * @param {Object} defaultFuncs The default functions provided by the API wrapper.
10
+ * @param {Object} api The full API object.
11
+ * @param {Object} ctx The context object containing the user's session state.
12
+ * @returns {Function} An async function that changes the account's display name.
13
+ */
14
+ export default function(defaultFuncs: any, api: any, ctx: any) {
15
+ const ACCOUNTS_CENTER_URL = 'https://accountscenter.facebook.com/api/graphql/';
16
+
17
+ /**
18
+ * Builds the common form fields required by AccountsCenter GraphQL API.
19
+ * @private
20
+ */
21
+ function buildBaseForm() {
22
+ return {
23
+ av: ctx.userID,
24
+ __user: ctx.userID,
25
+ __a: '1',
26
+ fb_dtsg: ctx.fb_dtsg,
27
+ jazoest: ctx.jazoest,
28
+ lsd: ctx.lsd,
29
+ fb_api_caller_class: 'RelayModern',
30
+ server_timestamps: 'true',
31
+ };
32
+ }
33
+
34
+ /**
35
+ * Step 1 — Preview the new name to validate it and get a confirmation token.
36
+ * Calls `FXIMIdentityNameEditorAuthenticPreviewDialogQuery`.
37
+ * @private
38
+ * @param {string} firstName
39
+ * @param {string} lastName
40
+ * @param {string} [middleName='']
41
+ */
42
+ async function previewName(firstName: string, lastName: string, middleName = '') {
43
+ const variables = {
44
+ first_name: firstName,
45
+ last_name: lastName,
46
+ middle_name: middleName,
47
+ platform: 'FACEBOOK',
48
+ scale: 1,
49
+ };
50
+ const form = {
51
+ ...buildBaseForm(),
52
+ fb_api_req_friendly_name: 'FXIMIdentityNameEditorAuthenticPreviewDialogQuery',
53
+ variables: JSON.stringify(variables),
54
+ doc_id: '26302360049350115',
55
+ };
56
+ const res = await defaultFuncs.post(
57
+ ACCOUNTS_CENTER_URL,
58
+ ctx.jar,
59
+ form,
60
+ {
61
+ headers: {
62
+ 'x-fb-friendly-name': 'FXIMIdentityNameEditorAuthenticPreviewDialogQuery',
63
+ 'x-fb-lsd': ctx.lsd,
64
+ 'x-asbd-id': '359341',
65
+ origin: 'https://accountscenter.facebook.com',
66
+ referer: `https://accountscenter.facebook.com/profiles/${ctx.userID}/name`,
67
+ },
68
+ },
69
+ );
70
+ if (res.data.errors) throw new Error(JSON.stringify(res.data.errors));
71
+ return res.data;
72
+ }
73
+
74
+ /**
75
+ * Step 2 — Confirm / apply the name change mutation.
76
+ * Calls `useFXIMUpdateNameMutation`.
77
+ * @private
78
+ * @param {string} firstName
79
+ * @param {string} lastName
80
+ * @param {string} [middleName='']
81
+ */
82
+ async function confirmName(firstName: string, lastName: string, middleName = '') {
83
+ const fullName = [firstName, middleName, lastName]
84
+ .filter(Boolean)
85
+ .join(' ');
86
+
87
+ const variables = {
88
+ client_mutation_id: randomUUID(),
89
+ family_device_id: 'device_id_fetch_datr',
90
+ identity_ids: [ctx.userID],
91
+ full_name: fullName,
92
+ first_name: firstName,
93
+ middle_name: middleName,
94
+ last_name: lastName,
95
+ interface: 'FB_WEB',
96
+ };
97
+ const form = {
98
+ ...buildBaseForm(),
99
+ fb_api_req_friendly_name: 'useFXIMUpdateNameMutation',
100
+ variables: JSON.stringify(variables),
101
+ doc_id: '9538143859625836',
102
+ };
103
+ const res = await defaultFuncs.post(
104
+ ACCOUNTS_CENTER_URL,
105
+ ctx.jar,
106
+ form,
107
+ {
108
+ headers: {
109
+ 'x-fb-friendly-name': 'useFXIMUpdateNameMutation',
110
+ 'x-fb-lsd': ctx.lsd,
111
+ 'x-asbd-id': '359341',
112
+ origin: 'https://accountscenter.facebook.com',
113
+ referer: `https://accountscenter.facebook.com/profiles/${ctx.userID}/name`,
114
+ },
115
+ },
116
+ );
117
+ if (res.data.errors) throw new Error(JSON.stringify(res.data.errors));
118
+ return res.data;
119
+ }
120
+
121
+ /**
122
+ * Changes the account display name by first previewing, then confirming the mutation.
123
+ * @async
124
+ * @param {string} firstName - New first name (or full first portion).
125
+ * @param {string} lastName - New last name.
126
+ * @param {string} [middleName=''] - Optional middle name.
127
+ * @returns {Promise<{ preview: any; result: any }>} Resolves with preview and mutation result data.
128
+ * @throws {Error} If either the preview or confirm step fails.
129
+ *
130
+ * @example
131
+ * await api.changeName('Van Quy', 'Do');
132
+ * await api.changeName('Van Quy', 'Do', '');
133
+ */
134
+ return async function changeName(
135
+ firstName: string,
136
+ lastName: string,
137
+ middleName = '',
138
+ ): Promise<{ preview: any; result: any }> {
139
+ if (!firstName || !lastName) {
140
+ throw new Error('firstName and lastName are required.');
141
+ }
142
+
143
+ // Step 1: Preview / validate the name
144
+ const preview = await previewName(firstName, lastName, middleName);
145
+
146
+ // Step 2: Apply the name change
147
+ const result = await confirmName(firstName, lastName, middleName);
148
+
149
+ return { preview, result };
150
+ };
151
+ }
@@ -123,6 +123,13 @@ export interface UploadPhotoResult {
123
123
  data: any;
124
124
  }
125
125
 
126
+ export interface ChangeNameResult {
127
+ /** Raw preview response data from AccountsCenter name validation query. */
128
+ preview: any;
129
+ /** Raw mutation result data confirming the name change. */
130
+ result: any;
131
+ }
132
+
126
133
  export interface CurrentFriendInfo {
127
134
  userID: string;
128
135
  name: string;
@@ -637,6 +644,8 @@ export interface API {
637
644
  getCurrentFriends(
638
645
  callback?: Callback<CurrentFriendInfo[]>,
639
646
  ): Promise<CurrentFriendInfo[]>;
647
+ /** Send a friend request to a user by their ID via their profile page. */
648
+ add(userID: UserID, callback?: Callback): Promise<any>;
640
649
  suggest: {
641
650
  list(
642
651
  limit?: number,
@@ -690,6 +699,19 @@ export interface API {
690
699
 
691
700
  // ── Session ────────────────────────────────────────────────────
692
701
 
702
+ /**
703
+ * Changes the Facebook account display name (two-step: preview then confirm).
704
+ * Calls AccountsCenter GraphQL API.
705
+ * @param firstName New first name.
706
+ * @param lastName New last name.
707
+ * @param middleName Optional middle name (default: empty string).
708
+ */
709
+ changeName(
710
+ firstName: string,
711
+ lastName: string,
712
+ middleName?: string,
713
+ ): Promise<ChangeNameResult>;
714
+
693
715
  /** Log out and invalidate the current session. */
694
716
  logout(callback?: (err: any) => void): Promise<void>;
695
717