Skip to content

Commit

Permalink
Update ...
Browse files Browse the repository at this point in the history
  • Loading branch information
anbuinfosec committed Jan 10, 2024
1 parent e120b6d commit 82ac939
Show file tree
Hide file tree
Showing 4 changed files with 109 additions and 2 deletions.
2 changes: 1 addition & 1 deletion package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@anbuinfosec/fca-unofficial",
"version": "1.3.32",
"version": "1.3.33",
"description": "A Facebook chat API that doesn't rely on XMPP. Will NOT be deprecated after April 30th 2015.",
"scripts": {
"test": "mocha",
Expand Down
79 changes: 79 additions & 0 deletions src/changeName.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
"use strict";

var utils = require('../utils.js');
var log = require('npmlog');

module.exports = function (http, api, ctx) {
return function changeName(input, format, callback) {
var cb;
var returnPromise = new Promise(function (resolve, reject) {
cb = error => error ? reject(error) : resolve();
});

if (typeof input == 'function') {
callback = input;
input = null;
}
if (typeof format == 'function') {
callback = format;
format = 'complete';
}
if (typeof callback == 'function') cb = callback;
if (utils.getType(input) != 'Object') {
var error = 'Name must be an object, not ' + utils.getType(input);
log('changeName', error);
return cb(error);
}

var { first_name, middle_name, last_name } = input;
if (!first_name || !last_name) {
log.error('changeName', 'name is not be accepted');
return cb('Name is not be accepted');
}

middle_name = middle_name || '';

var full_name =
format == 'complete' ? last_name + ' ' + (middle_name != '' ? middle_name + ' ' : '') + first_name :
format == 'standard' ? last_name + ' ' + first_name :
format == 'reversed' ? first_name + ' ' + (middle_name != '' ? middle_name + ' ' : '') + last_name :
last_name + ' ' + (middle_name != '' ? middle_name + ' ' : '') + first_name;

var form = {
fb_api_caller_class: 'RelayModern',
fb_api_req_friendly_name: 'useFXIMUpdateNameMutation',
variables: JSON.stringify({
client_mutation_id: utils.getGUID(),
family_device_id: "device_id_fetch_datr",
identity_ids: [ctx.userID],
full_name,
first_name,
middle_name,
last_name,
interface: 'FB_WEB'
}),
server_timestamps: true,
doc_id: '5763510853763960'
}

http
.post('https://accountscenter.facebook.com/api/graphql/', ctx.jar, form, null, null, {
Origin: 'https://accountscenter.facebook.com',
Referer: `https://accountscenter.facebook.com/profiles/${ctx.userID}/name`
})
.then(utils.parseAndCheckLogin(ctx, http))
.then(function (res) {
if (res.errors)
throw res;
else if (res.data.fxim_update_identity_name.error)
throw res.data.fxim_update_identity_name.error;
return cb();
})
.catch(function (err) {
log.error('changeName', err);
return cb(err);
});

return returnPromise;
}
}
28 changes: 28 additions & 0 deletions src/getAccessToken.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
"use strict";

module.exports = function (defaultFuncs, api, ctx) {
return function getAccessToken(callback) {
var resolveFunc = function () { };
var rejectFunc = function () { };
var returnPromise = new Promise(function (resolve, reject) {
resolveFunc = resolve;
rejectFunc = reject;
});

if (!callback) {
callback = function (err, userInfo) {
if (err) return rejectFunc(err);
resolveFunc(userInfo);
};
}
try {
var { getAccessToken } = require('../Extra/ExtraAddons');
getAccessToken(ctx.jar,ctx,defaultFuncs).then(data => callback(null,data));
}
catch (e) {
callback(null, e);
}
return returnPromise;
};
};

0 comments on commit 82ac939

Please sign in to comment.