fca-arif-babu 1.0.21 → 8.0.0
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.
- package/Extra/Balancer.js +49 -0
- package/Extra/Bypass/956/index.js +234 -0
- package/Extra/Bypass/test/aaaa.json +169 -0
- package/Extra/Bypass/test/index.js +188 -0
- package/Extra/Database/index.js +469 -0
- package/Extra/ExtraAddons.js +82 -0
- package/Extra/ExtraFindUID.js +62 -0
- package/Extra/ExtraGetThread.js +365 -0
- package/Extra/ExtraScreenShot.js +430 -0
- package/Extra/ExtraUptimeRobot.js +38 -0
- package/Extra/Html/Classic/script.js +119 -0
- package/Extra/Html/Classic/style.css +8 -0
- package/Extra/Security/AES_256_GCM/index.js +1 -0
- package/Extra/Security/Base/Step_1.js +6 -0
- package/Extra/Security/Base/Step_2.js +22 -0
- package/Extra/Security/Base/Step_3.js +22 -0
- package/Extra/Security/Base/index.js +191 -0
- package/Extra/Security/Step_1.js +6 -0
- package/Extra/Security/Step_2.js +22 -0
- package/Extra/Security/Step_3.js +22 -0
- package/Extra/Security/index.js +5 -0
- package/Extra/Src/Change_Environment.js +24 -0
- package/Extra/Src/Check_Update.js +67 -0
- package/Extra/Src/History.js +115 -0
- package/Extra/Src/Instant_Update.js +65 -0
- package/Extra/Src/Last-Run.js +65 -0
- package/Extra/Src/Premium.js +81 -0
- package/Extra/Src/Release_Memory.js +160 -0
- package/Extra/Src/Websocket.js +213 -0
- package/Extra/Src/image/62518eafb0670b697788ce4f9a4f71d1.jpg +0 -0
- package/Extra/Src/test.js +28 -0
- package/Extra/Src/uuid.js +137 -0
- package/Func/AcceptAgreement.js +31 -0
- package/Func/ClearCache.js +64 -0
- package/Func/ReportV1.js +54 -0
- package/{LICENSE-MIT → LICENSE.txt} +6 -6
- package/Language/index.json +228 -0
- package/Main.js +1290 -0
- package/README.md +8 -6
- package/SECURITY.md +17 -0
- package/broadcast.js +44 -0
- package/index.js +424 -465
- package/logger.js +66 -0
- package/package.json +91 -42
- package/src/Dev_Horizon_Data.js +125 -0
- package/src/Dev_getThreadInfoOLD.js +422 -0
- package/src/Dev_shareTest2.js +68 -0
- package/src/Dev_shareTest3.js +71 -0
- package/src/Premium.js +25 -0
- package/src/Screenshot.js +83 -0
- package/src/addExternalModule.js +5 -14
- package/src/addUserToGroup.js +21 -57
- package/src/changeAdminStatus.js +22 -46
- package/src/changeArchivedStatus.js +12 -26
- package/src/{changeAvatarV2.js → changeAvt.js} +2 -3
- package/src/changeBio.js +15 -26
- package/src/changeBlockedStatus.js +9 -22
- package/src/changeGroupImage.js +26 -55
- package/src/changeNickname.js +14 -28
- package/src/changeThreadColor.js +19 -22
- package/src/changeThreadEmoji.js +12 -25
- package/src/createNewGroup.js +18 -36
- package/src/createPoll.js +17 -28
- package/src/deleteMessage.js +14 -25
- package/src/deleteThread.js +13 -26
- package/src/editMessage.js +50 -56
- package/src/forwardAttachment.js +16 -28
- package/src/getAccessToken.js +28 -0
- package/src/getCurrentUserID.js +3 -3
- package/src/getEmojiUrl.js +8 -10
- package/src/getFriendsList.js +15 -25
- package/src/getMessage.js +81 -813
- package/src/getThreadHistory.js +98 -241
- package/src/getThreadInfo.js +286 -89
- package/src/getThreadInfoOLD.js +422 -0
- package/src/getThreadList.js +158 -215
- package/src/getThreadMain.js +220 -0
- package/src/getThreadPictures.js +20 -40
- package/src/getUID.js +49 -112
- package/src/getUserID.js +14 -18
- package/src/getUserInfo.js +75 -34
- package/src/getUserInfoMain.js +65 -0
- package/src/getUserInfoV2.js +32 -0
- package/src/getUserInfoV3.js +63 -0
- package/src/getUserInfoV4.js +55 -0
- package/src/getUserInfoV5.js +61 -0
- package/src/handleFriendRequest.js +14 -25
- package/src/handleMessageRequest.js +21 -37
- package/src/httpGet.js +22 -37
- package/src/httpPost.js +20 -36
- package/src/httpPostFormData.js +23 -52
- package/src/listenMqtt.js +667 -414
- package/src/listenMqttV1.js +846 -0
- package/src/logout.js +17 -24
- package/src/markAsDelivered.js +16 -23
- package/src/markAsRead.js +28 -43
- package/src/markAsReadAll.js +14 -21
- package/src/markAsSeen.js +19 -29
- package/src/muteThread.js +13 -18
- package/src/removeUserFromGroup.js +18 -48
- package/src/resolvePhotoUrl.js +14 -22
- package/src/searchForThread.js +13 -23
- package/src/sendMessage.js +125 -181
- package/src/sendMqttMessage.js +71 -0
- package/src/sendTypingIndicator.js +80 -28
- package/src/setMessageReaction.js +20 -33
- package/src/setPostReaction.js +95 -105
- package/src/setTitle.js +19 -35
- package/src/shareContact.js +37 -92
- package/src/shareLink.js +5 -6
- package/src/threadColors.js +17 -109
- package/src/unfriend.js +11 -20
- package/src/unsendMessage.js +33 -30
- package/src/unsendMqttMessage.js +66 -0
- package/test/data/shareAttach.js +146 -0
- package/test/data/something.mov +1 -0
- package/test/data/test.png +1 -0
- package/test/data/test.txt +1 -0
- package/test/env/.env +1 -0
- package/test/example-config.json +18 -0
- package/test/test-page.js +140 -0
- package/test/test.js +385 -0
- package/test/testv2.js +3 -0
- package/utils.js +2908 -1247
- package/replit.nix +0 -3
- package/src/changeAvatar.js +0 -136
- package/src/changeBlockedStatusMqtt.js +0 -80
- package/src/changeCover.js +0 -72
- package/src/changeName.js +0 -78
- package/src/changeUsername.js +0 -58
- package/src/createCommentPost.js +0 -229
- package/src/createPost.js +0 -275
- package/src/data/getThreadInfo.json +0 -1
- package/src/editMessageOld.js +0 -67
- package/src/follow.js +0 -74
- package/src/getAccess.js +0 -112
- package/src/getAvatarUser.js +0 -78
- package/src/getBotInitialData.js +0 -42
- package/src/getRegion.js +0 -7
- package/src/getThreadHistoryDeprecated.js +0 -93
- package/src/getThreadInfoDeprecated.js +0 -80
- package/src/getThreadListDeprecated.js +0 -75
- package/src/listenNotification.js +0 -85
- package/src/pinMessage.js +0 -59
- package/src/refreshFb_dtsg.js +0 -89
- package/src/searchStickers.js +0 -53
- package/src/sendMessageMqtt.js +0 -316
- package/src/setMessageReactionMqtt.js +0 -62
- package/src/setProfileGuard.js +0 -44
- package/src/setStoryReaction.js +0 -64
- package/src/stopListenMqtt.js +0 -23
- package/src/uploadAttachment.js +0 -94
package/src/addUserToGroup.js
CHANGED
@@ -1,57 +1,36 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
-
|
4
|
-
|
3
|
+
var utils = require("../utils");
|
4
|
+
var log = require("npmlog");
|
5
5
|
|
6
6
|
module.exports = function (defaultFuncs, api, ctx) {
|
7
7
|
return function addUserToGroup(userID, threadID, callback) {
|
8
|
-
|
9
|
-
|
10
|
-
|
8
|
+
var resolveFunc = function () { };
|
9
|
+
var rejectFunc = function () { };
|
10
|
+
var returnPromise = new Promise(function (resolve, reject) {
|
11
11
|
resolveFunc = resolve;
|
12
12
|
rejectFunc = reject;
|
13
13
|
});
|
14
14
|
|
15
|
-
if (
|
16
|
-
!callback &&
|
17
|
-
(utils.getType(threadID) === "Function" ||
|
18
|
-
utils.getType(threadID) === "AsyncFunction")
|
19
|
-
) {
|
20
|
-
throw new utils.CustomError({
|
21
|
-
error: "please pass a threadID as a second argument.",
|
22
|
-
});
|
23
|
-
}
|
15
|
+
if (!callback && (utils.getType(threadID) === "Function" || utils.getType(threadID) === "AsyncFunction")) throw { error: "please pass a threadID as a second argument." };
|
24
16
|
|
25
17
|
if (!callback) {
|
26
18
|
callback = function (err) {
|
27
|
-
if (err)
|
28
|
-
return rejectFunc(err);
|
29
|
-
}
|
19
|
+
if (err) return rejectFunc(err);
|
30
20
|
resolveFunc();
|
31
21
|
};
|
32
22
|
}
|
23
|
+
|
24
|
+
if (utils.getType(threadID) !== "Number" && utils.getType(threadID) !== "String") throw { error: "ThreadID should be of type Number or String and not " + utils.getType(threadID) + "." };
|
33
25
|
|
34
|
-
if (
|
35
|
-
utils.getType(threadID) !== "Number" &&
|
36
|
-
utils.getType(threadID) !== "String"
|
37
|
-
) {
|
38
|
-
throw new utils.CustomError({
|
39
|
-
error:
|
40
|
-
"ThreadID should be of type Number or String and not " +
|
41
|
-
utils.getType(threadID) +
|
42
|
-
".",
|
43
|
-
});
|
44
|
-
}
|
45
26
|
|
46
|
-
if (utils.getType(userID) !== "Array")
|
47
|
-
userID = [userID];
|
48
|
-
}
|
27
|
+
if (utils.getType(userID) !== "Array") userID = [userID];
|
49
28
|
|
50
|
-
|
51
|
-
|
29
|
+
var messageAndOTID = utils.generateOfflineThreadingID();
|
30
|
+
var form = {
|
52
31
|
client: "mercury",
|
53
32
|
action_type: "ma-type:log-message",
|
54
|
-
author: "fbid:" +
|
33
|
+
author: "fbid:" + ctx.userID,
|
55
34
|
thread_id: "",
|
56
35
|
timestamp: Date.now(),
|
57
36
|
timestamp_absolute: "Today",
|
@@ -72,41 +51,26 @@ module.exports = function (defaultFuncs, api, ctx) {
|
|
72
51
|
message_id: messageAndOTID,
|
73
52
|
threading_id: utils.generateThreadingID(ctx.clientID),
|
74
53
|
manual_retry_cnt: "0",
|
75
|
-
thread_fbid: threadID
|
54
|
+
thread_fbid: threadID
|
76
55
|
};
|
77
56
|
|
78
|
-
for (
|
79
|
-
if (
|
80
|
-
|
81
|
-
utils.getType(userID[i]) !== "String"
|
82
|
-
) {
|
83
|
-
throw new utils.CustomError({
|
84
|
-
error:
|
85
|
-
"Elements of userID should be of type Number or String and not " +
|
86
|
-
utils.getType(userID[i]) +
|
87
|
-
".",
|
88
|
-
});
|
89
|
-
}
|
90
|
-
|
91
|
-
form["log_message_data[added_participants][" + i + "]"] =
|
92
|
-
"fbid:" + userID[i];
|
57
|
+
for (var i = 0; i < userID.length; i++) {
|
58
|
+
if (utils.getType(userID[i]) !== "Number" && utils.getType(userID[i]) !== "String") throw { error: "Elements of userID should be of type Number or String and not " + utils.getType(userID[i]) + "." };
|
59
|
+
form["log_message_data[added_participants][" + i + "]"] = "fbid:" + userID[i];
|
93
60
|
}
|
94
61
|
|
95
62
|
defaultFuncs
|
96
63
|
.post("https://www.facebook.com/messaging/send/", ctx.jar, form)
|
97
64
|
.then(utils.parseAndCheckLogin(ctx, defaultFuncs))
|
98
65
|
.then(function (resData) {
|
99
|
-
if (!resData) {
|
100
|
-
|
101
|
-
|
102
|
-
if (resData.error) {
|
103
|
-
throw new utils.CustomError(resData);
|
104
|
-
}
|
66
|
+
if (!resData) throw { error: "Add to group failed." };
|
67
|
+
if (resData.error) throw resData;
|
68
|
+
|
105
69
|
|
106
70
|
return callback();
|
107
71
|
})
|
108
72
|
.catch(function (err) {
|
109
|
-
|
73
|
+
log.error("addUserToGroup", err);
|
110
74
|
return callback(err);
|
111
75
|
});
|
112
76
|
|
package/src/changeAdminStatus.js
CHANGED
@@ -1,14 +1,12 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
3
|
const utils = require("../utils");
|
4
|
-
|
4
|
+
const log = require("npmlog");
|
5
5
|
|
6
|
-
module.exports = function
|
6
|
+
module.exports = function(defaultFuncs, api, ctx) {
|
7
7
|
return function changeAdminStatus(threadID, adminIDs, adminStatus, callback) {
|
8
8
|
if (utils.getType(threadID) !== "String") {
|
9
|
-
throw
|
10
|
-
error: "changeAdminStatus: threadID must be a string",
|
11
|
-
});
|
9
|
+
throw {error: "changeAdminStatus: threadID must be a string"};
|
12
10
|
}
|
13
11
|
|
14
12
|
if (utils.getType(adminIDs) === "String") {
|
@@ -16,20 +14,16 @@ module.exports = function (defaultFuncs, api, ctx) {
|
|
16
14
|
}
|
17
15
|
|
18
16
|
if (utils.getType(adminIDs) !== "Array") {
|
19
|
-
throw
|
20
|
-
error: "changeAdminStatus: adminIDs must be an array or string",
|
21
|
-
});
|
17
|
+
throw {error: "changeAdminStatus: adminIDs must be an array or string"};
|
22
18
|
}
|
23
19
|
|
24
20
|
if (utils.getType(adminStatus) !== "Boolean") {
|
25
|
-
throw
|
26
|
-
error: "changeAdminStatus: adminStatus must be a string",
|
27
|
-
});
|
21
|
+
throw {error: "changeAdminStatus: adminStatus must be a string"};
|
28
22
|
}
|
29
23
|
|
30
|
-
|
31
|
-
|
32
|
-
|
24
|
+
var resolveFunc = function(){};
|
25
|
+
var rejectFunc = function(){};
|
26
|
+
var returnPromise = new Promise(function (resolve, reject) {
|
33
27
|
resolveFunc = resolve;
|
34
28
|
rejectFunc = reject;
|
35
29
|
});
|
@@ -43,61 +37,43 @@ module.exports = function (defaultFuncs, api, ctx) {
|
|
43
37
|
};
|
44
38
|
}
|
45
39
|
|
46
|
-
if (
|
47
|
-
|
48
|
-
utils.getType(callback) !== "AsyncFunction"
|
49
|
-
) {
|
50
|
-
throw new utils.CustomError({
|
51
|
-
error: "changeAdminStatus: callback is not a function",
|
52
|
-
});
|
40
|
+
if (utils.getType(callback) !== "Function" && utils.getType(callback) !== "AsyncFunction") {
|
41
|
+
throw {error: "changeAdminStatus: callback is not a function"};
|
53
42
|
}
|
54
43
|
|
55
|
-
|
56
|
-
thread_fbid: threadID,
|
44
|
+
let form = {
|
45
|
+
"thread_fbid": threadID,
|
57
46
|
};
|
58
47
|
|
59
48
|
let i = 0;
|
60
|
-
for (
|
49
|
+
for (let u of adminIDs) {
|
61
50
|
form[`admin_ids[${i++}]`] = u;
|
62
51
|
}
|
63
52
|
form["add"] = adminStatus;
|
64
53
|
|
65
54
|
defaultFuncs
|
66
|
-
.post(
|
67
|
-
"https://www.facebook.com/messaging/save_admins/?dpr=1",
|
68
|
-
ctx.jar,
|
69
|
-
form,
|
70
|
-
)
|
55
|
+
.post("https://www.facebook.com/messaging/save_admins/?dpr=1", ctx.jar, form)
|
71
56
|
.then(utils.parseAndCheckLogin(ctx, defaultFuncs))
|
72
|
-
.then(function
|
57
|
+
.then(function(resData) {
|
73
58
|
if (resData.error) {
|
74
59
|
switch (resData.error) {
|
75
60
|
case 1976004:
|
76
|
-
throw
|
77
|
-
error: "Cannot alter admin status: you are not an admin.",
|
78
|
-
rawResponse: resData,
|
79
|
-
});
|
61
|
+
throw { error: "Cannot alter admin status: you are not an admin.", rawResponse: resData };
|
80
62
|
case 1357031:
|
81
|
-
throw
|
82
|
-
error:
|
83
|
-
"Cannot alter admin status: this thread is not a group chat.",
|
84
|
-
rawResponse: resData,
|
85
|
-
});
|
63
|
+
throw { error: "Cannot alter admin status: this thread is not a group chat.", rawResponse: resData };
|
86
64
|
default:
|
87
|
-
throw
|
88
|
-
error: "Cannot alter admin status: unknown error.",
|
89
|
-
rawResponse: resData,
|
90
|
-
});
|
65
|
+
throw { error: "Cannot alter admin status: unknown error.", rawResponse: resData };
|
91
66
|
}
|
92
67
|
}
|
93
68
|
|
94
69
|
callback();
|
95
70
|
})
|
96
|
-
.catch(function
|
97
|
-
|
71
|
+
.catch(function(err) {
|
72
|
+
log.error("changeAdminStatus", err);
|
98
73
|
return callback(err);
|
99
74
|
});
|
100
|
-
|
75
|
+
|
101
76
|
return returnPromise;
|
102
77
|
};
|
103
78
|
};
|
79
|
+
|
@@ -1,52 +1,38 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
-
|
4
|
-
|
3
|
+
var utils = require("../utils");
|
4
|
+
var log = require("npmlog");
|
5
5
|
|
6
6
|
module.exports = function (defaultFuncs, api, ctx) {
|
7
7
|
return function changeArchivedStatus(threadOrThreads, archive, callback) {
|
8
|
-
|
9
|
-
|
10
|
-
|
8
|
+
var resolveFunc = function () { };
|
9
|
+
var rejectFunc = function () { };
|
10
|
+
var returnPromise = new Promise(function (resolve, reject) {
|
11
11
|
resolveFunc = resolve;
|
12
12
|
rejectFunc = reject;
|
13
13
|
});
|
14
14
|
|
15
15
|
if (!callback) {
|
16
16
|
callback = function (err) {
|
17
|
-
if (err)
|
18
|
-
return rejectFunc(err);
|
19
|
-
}
|
17
|
+
if (err) return rejectFunc(err);
|
20
18
|
resolveFunc();
|
21
19
|
};
|
22
20
|
}
|
23
21
|
|
24
|
-
|
22
|
+
var form = {};
|
25
23
|
|
26
|
-
if (utils.getType(threadOrThreads) === "Array")
|
27
|
-
|
28
|
-
form["ids[" + threadOrThreads[i] + "]"] = archive;
|
29
|
-
}
|
30
|
-
} else {
|
31
|
-
form["ids[" + threadOrThreads + "]"] = archive;
|
32
|
-
}
|
24
|
+
if (utils.getType(threadOrThreads) === "Array") for (var i = 0; i < threadOrThreads.length; i++) form["ids[" + threadOrThreads[i] + "]"] = archive;
|
25
|
+
else form["ids[" + threadOrThreads + "]"] = archive;
|
33
26
|
|
34
27
|
defaultFuncs
|
35
|
-
.post(
|
36
|
-
"https://www.facebook.com/ajax/mercury/change_archived_status.php",
|
37
|
-
ctx.jar,
|
38
|
-
form,
|
39
|
-
)
|
28
|
+
.post("https://www.facebook.com/ajax/mercury/change_archived_status.php", ctx.jar, form)
|
40
29
|
.then(utils.parseAndCheckLogin(ctx, defaultFuncs))
|
41
30
|
.then(function (resData) {
|
42
|
-
if (resData.error)
|
43
|
-
throw resData;
|
44
|
-
}
|
45
|
-
|
31
|
+
if (resData.error) throw resData;
|
46
32
|
return callback();
|
47
33
|
})
|
48
34
|
.catch(function (err) {
|
49
|
-
|
35
|
+
log.error("changeArchivedStatus", err);
|
50
36
|
return callback(err);
|
51
37
|
});
|
52
38
|
|
@@ -1,8 +1,7 @@
|
|
1
|
-
|
2
1
|
"use strict";
|
3
2
|
|
4
3
|
var utils = require("../utils");
|
5
|
-
|
4
|
+
var log = require("npmlog");
|
6
5
|
/**
|
7
6
|
* It posts an image to a Facebook profile
|
8
7
|
* @param Api - The API object
|
@@ -11,7 +10,7 @@ var utils = require("../utils");
|
|
11
10
|
* @returns The JSON.parse(Data.split("for (;;);")[1]); is returning the following:
|
12
11
|
* {"__ar":1,"payload":null,"jsmods":{"require":[["ImageUploader","uploadPhoto",[{"__m":"__elem_0"},{"__m":"__elem_1"},{"__m":"__elem_2"},{"__m":"__
|
13
12
|
*/
|
14
|
-
async function postImage(Api,
|
13
|
+
async function postImage(Api,BotID,form) {
|
15
14
|
var Data = await Api.httpPostFormData(`https://www.facebook.com/profile/picture/upload/?profile_id=${BotID}&photo_source=57&av=${BotID}`, form);
|
16
15
|
return JSON.parse(Data.split("for (;;);")[1]);
|
17
16
|
}
|
package/src/changeBio.js
CHANGED
@@ -1,43 +1,34 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
-
|
4
|
-
|
3
|
+
var utils = require("../utils");
|
4
|
+
var log = require("npmlog");
|
5
5
|
|
6
6
|
module.exports = function (defaultFuncs, api, ctx) {
|
7
7
|
return function changeBio(bio, publish, callback) {
|
8
|
-
|
9
|
-
|
10
|
-
|
8
|
+
var resolveFunc = function () { };
|
9
|
+
var rejectFunc = function () { };
|
10
|
+
var returnPromise = new Promise(function (resolve, reject) {
|
11
11
|
resolveFunc = resolve;
|
12
12
|
rejectFunc = reject;
|
13
13
|
});
|
14
14
|
|
15
15
|
if (!callback) {
|
16
|
-
if (
|
17
|
-
|
18
|
-
utils.getType(publish) == "AsyncFunction"
|
19
|
-
) {
|
20
|
-
callback = publish;
|
21
|
-
} else {
|
16
|
+
if (utils.getType(publish) == "Function" || utils.getType(publish) == "AsyncFunction") callback = publish;
|
17
|
+
else {
|
22
18
|
callback = function (err) {
|
23
|
-
if (err)
|
24
|
-
return rejectFunc(err);
|
25
|
-
}
|
19
|
+
if (err) return rejectFunc(err);
|
26
20
|
resolveFunc();
|
27
21
|
};
|
28
22
|
}
|
29
23
|
}
|
30
24
|
|
31
|
-
if (utils.getType(publish) != "Boolean")
|
32
|
-
publish = false;
|
33
|
-
}
|
34
|
-
|
25
|
+
if (utils.getType(publish) != "Boolean") publish = false;
|
35
26
|
if (utils.getType(bio) != "String") {
|
36
27
|
bio = "";
|
37
28
|
publish = false;
|
38
29
|
}
|
39
30
|
|
40
|
-
|
31
|
+
var form = {
|
41
32
|
fb_api_caller_class: "RelayModern",
|
42
33
|
fb_api_req_friendly_name: "ProfileCometSetBioMutation",
|
43
34
|
// This doc_is is valid as of May 23, 2020
|
@@ -47,27 +38,25 @@ module.exports = function (defaultFuncs, api, ctx) {
|
|
47
38
|
bio: bio,
|
48
39
|
publish_bio_feed_story: publish,
|
49
40
|
actor_id: ctx.userID,
|
50
|
-
client_mutation_id: Math.round(Math.random() * 1024).toString()
|
41
|
+
client_mutation_id: Math.round(Math.random() * 1024).toString()
|
51
42
|
},
|
52
43
|
hasProfileTileViewID: false,
|
53
44
|
profileTileViewID: null,
|
54
|
-
scale: 1
|
45
|
+
scale: 1
|
55
46
|
}),
|
56
|
-
av: ctx.userID
|
47
|
+
av: ctx.userID
|
57
48
|
};
|
58
49
|
|
59
50
|
defaultFuncs
|
60
51
|
.post("https://www.facebook.com/api/graphql/", ctx.jar, form)
|
61
52
|
.then(utils.parseAndCheckLogin(ctx, defaultFuncs))
|
62
53
|
.then(function (resData) {
|
63
|
-
if (resData.errors)
|
64
|
-
throw resData;
|
65
|
-
}
|
54
|
+
if (resData.errors) throw resData;
|
66
55
|
|
67
56
|
return callback();
|
68
57
|
})
|
69
58
|
.catch(function (err) {
|
70
|
-
|
59
|
+
log.error("changeBio", err);
|
71
60
|
return callback(err);
|
72
61
|
});
|
73
62
|
|
@@ -1,47 +1,34 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
-
|
4
|
-
|
3
|
+
var utils = require("../utils");
|
4
|
+
var log = require("npmlog");
|
5
5
|
|
6
6
|
module.exports = function (defaultFuncs, api, ctx) {
|
7
7
|
return function changeBlockedStatus(userID, block, callback) {
|
8
|
-
|
9
|
-
|
10
|
-
|
8
|
+
var resolveFunc = function () { };
|
9
|
+
var rejectFunc = function () { };
|
10
|
+
var returnPromise = new Promise(function (resolve, reject) {
|
11
11
|
resolveFunc = resolve;
|
12
12
|
rejectFunc = reject;
|
13
13
|
});
|
14
14
|
|
15
15
|
if (!callback) {
|
16
16
|
callback = function (err) {
|
17
|
-
if (err)
|
18
|
-
return rejectFunc(err);
|
19
|
-
}
|
17
|
+
if (err) return rejectFunc(err);
|
20
18
|
resolveFunc();
|
21
19
|
};
|
22
20
|
}
|
23
21
|
|
24
22
|
defaultFuncs
|
25
|
-
.post(
|
26
|
-
`https://www.facebook.com/messaging/${
|
27
|
-
block ? "" : "un"
|
28
|
-
}block_messages/`,
|
29
|
-
ctx.jar,
|
30
|
-
{
|
31
|
-
fbid: userID,
|
32
|
-
},
|
33
|
-
)
|
23
|
+
.post(`https://www.facebook.com/messaging/${block ? "" : "un"}block_messages/`, ctx.jar, { fbid: userID })
|
34
24
|
.then(utils.saveCookies(ctx.jar))
|
35
25
|
.then(utils.parseAndCheckLogin(ctx, defaultFuncs))
|
36
26
|
.then(function (resData) {
|
37
|
-
if (resData.error)
|
38
|
-
throw resData;
|
39
|
-
}
|
40
|
-
|
27
|
+
if (resData.error) throw resData;
|
41
28
|
return callback();
|
42
29
|
})
|
43
30
|
.catch(function (err) {
|
44
|
-
|
31
|
+
log.error("changeBlockedStatus", err);
|
45
32
|
return callback(err);
|
46
33
|
});
|
47
34
|
return returnPromise;
|
package/src/changeGroupImage.js
CHANGED
@@ -1,80 +1,61 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
-
|
4
|
-
|
3
|
+
var utils = require("../utils");
|
4
|
+
var log = require("npmlog");
|
5
|
+
var bluebird = require("bluebird");
|
5
6
|
|
6
7
|
module.exports = function (defaultFuncs, api, ctx) {
|
7
8
|
function handleUpload(image, callback) {
|
8
|
-
|
9
|
+
var uploads = [];
|
9
10
|
|
10
|
-
|
11
|
+
var form = {
|
11
12
|
images_only: "true",
|
12
|
-
"attachment[]": image
|
13
|
+
"attachment[]": image
|
13
14
|
};
|
14
15
|
|
15
16
|
uploads.push(
|
16
17
|
defaultFuncs
|
17
|
-
.postFormData(
|
18
|
-
"https://upload.facebook.com/ajax/mercury/upload.php",
|
19
|
-
ctx.jar,
|
20
|
-
form,
|
21
|
-
{},
|
22
|
-
)
|
18
|
+
.postFormData("https://upload.facebook.com/ajax/mercury/upload.php", ctx.jar, form, {})
|
23
19
|
.then(utils.parseAndCheckLogin(ctx, defaultFuncs))
|
24
20
|
.then(function (resData) {
|
25
|
-
if (resData.error)
|
26
|
-
throw resData;
|
27
|
-
}
|
21
|
+
if (resData.error) throw resData;
|
28
22
|
|
29
23
|
return resData.payload.metadata[0];
|
30
|
-
})
|
24
|
+
})
|
31
25
|
);
|
32
26
|
|
33
27
|
// resolve all promises
|
34
|
-
|
35
|
-
.
|
36
|
-
|
37
|
-
})
|
28
|
+
bluebird
|
29
|
+
.all(uploads)
|
30
|
+
.then(resData => callback(null, resData))
|
38
31
|
.catch(function (err) {
|
39
|
-
|
32
|
+
log.error("handleUpload", err);
|
40
33
|
return callback(err);
|
41
34
|
});
|
42
35
|
}
|
43
36
|
|
44
37
|
return function changeGroupImage(image, threadID, callback) {
|
45
|
-
if (
|
46
|
-
!callback &&
|
47
|
-
(utils.getType(threadID) === "Function" ||
|
48
|
-
utils.getType(threadID) === "AsyncFunction")
|
49
|
-
) {
|
50
|
-
throw { error: "please pass a threadID as a second argument." };
|
51
|
-
}
|
52
|
-
|
53
|
-
if (!utils.isReadableStream(image)) {
|
54
|
-
throw { error: "please pass a readable stream as a first argument." };
|
55
|
-
}
|
38
|
+
if (!callback && (utils.getType(threadID) === "Function" || utils.getType(threadID) === "AsyncFunction")) throw { error: "please pass a threadID as a second argument." };
|
56
39
|
|
57
|
-
|
58
|
-
|
59
|
-
|
40
|
+
var resolveFunc = function () { };
|
41
|
+
var rejectFunc = function () { };
|
42
|
+
var returnPromise = new Promise(function (resolve, reject) {
|
60
43
|
resolveFunc = resolve;
|
61
44
|
rejectFunc = reject;
|
62
45
|
});
|
63
46
|
|
64
47
|
if (!callback) {
|
65
48
|
callback = function (err) {
|
66
|
-
if (err)
|
67
|
-
return rejectFunc(err);
|
68
|
-
}
|
49
|
+
if (err) return rejectFunc(err);
|
69
50
|
resolveFunc();
|
70
51
|
};
|
71
52
|
}
|
72
53
|
|
73
|
-
|
74
|
-
|
54
|
+
var messageAndOTID = utils.generateOfflineThreadingID();
|
55
|
+
var form = {
|
75
56
|
client: "mercury",
|
76
57
|
action_type: "ma-type:log-message",
|
77
|
-
author: "fbid:" +
|
58
|
+
author: "fbid:" + ctx.userID,
|
78
59
|
author_email: "",
|
79
60
|
ephemeral_ttl_mode: "0",
|
80
61
|
is_filtered_content: false,
|
@@ -97,35 +78,25 @@ module.exports = function (defaultFuncs, api, ctx) {
|
|
97
78
|
timestamp: Date.now(),
|
98
79
|
timestamp_absolute: "Today",
|
99
80
|
timestamp_relative: utils.generateTimestampRelative(),
|
100
|
-
timestamp_time_passed: "0"
|
81
|
+
timestamp_time_passed: "0"
|
101
82
|
};
|
102
83
|
|
103
84
|
handleUpload(image, function (err, payload) {
|
104
|
-
if (err)
|
105
|
-
return callback(err);
|
106
|
-
}
|
85
|
+
if (err) return callback(err);
|
107
86
|
|
108
87
|
form["thread_image_id"] = payload[0]["image_id"];
|
109
88
|
form["thread_id"] = threadID;
|
110
89
|
|
111
90
|
defaultFuncs
|
112
|
-
.post(
|
113
|
-
"https://www.facebook.com/messaging/set_thread_image/",
|
114
|
-
ctx.jar,
|
115
|
-
form,
|
116
|
-
)
|
91
|
+
.post("https://www.facebook.com/messaging/set_thread_image/", ctx.jar, form)
|
117
92
|
.then(utils.parseAndCheckLogin(ctx, defaultFuncs))
|
118
93
|
.then(function (resData) {
|
119
94
|
// check for errors here
|
120
|
-
|
121
|
-
if (resData.error) {
|
122
|
-
throw resData;
|
123
|
-
}
|
124
|
-
|
95
|
+
if (resData.error) throw resData;
|
125
96
|
return callback();
|
126
97
|
})
|
127
98
|
.catch(function (err) {
|
128
|
-
|
99
|
+
log.error("changeGroupImage", err);
|
129
100
|
return callback(err);
|
130
101
|
});
|
131
102
|
});
|