fca-smart-shankar 13.0.0 → 16.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/.cache/replit/env/latest +56 -0
- package/.cache/replit/env/latest.json +1 -0
- package/.cache/replit/modules/nodejs-14.res +1 -0
- package/.cache/replit/modules/replit.res +1 -0
- package/.cache/replit/modules/web.res +1 -0
- package/.cache/replit/modules.stamp +0 -0
- package/.cache/typescript/5.5/package.json +1 -0
- package/.config/configstore/update-notifier-npm.json +4 -0
- package/.gitattributes +2 -0
- package/.replit +3 -12
- package/.upm/store.json +1 -1
- package/Extra/Balancer.js +49 -0
- package/Extra/Bypass/956/index.js +234 -0
- package/Extra/Bypass/test/aaaa.json +170 -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 +0 -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/Index.js +5 -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/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/checkmate.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 +678 -0
- package/Language/index.json +228 -0
- package/Main.js +1444 -0
- package/README.md +30 -175
- package/SECURITY.md +18 -0
- package/broadcast.js +44 -0
- package/index.js +414 -511
- package/logger.js +66 -0
- package/package.json +85 -370
- 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 +20 -56
- package/src/changeAdminStatus.js +20 -44
- package/src/changeArchivedStatus.js +11 -25
- package/src/{changeAvatarV2.js → changeAvt.js} +2 -3
- package/src/changeBio.js +15 -26
- package/src/changeBlockedStatus.js +8 -21
- package/src/changeGroupImage.js +24 -53
- package/src/changeNickname.js +13 -27
- package/src/changeThreadColor.js +19 -22
- package/src/changeThreadEmoji.js +11 -24
- package/src/createNewGroup.js +20 -38
- package/src/createPoll.js +16 -27
- package/src/deleteMessage.js +13 -24
- package/src/deleteThread.js +12 -25
- package/src/editMessage.js +53 -71
- package/src/forwardAttachment.js +15 -27
- package/src/getAccessToken.js +28 -0
- package/src/getCurrentUserID.js +1 -1
- 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 +287 -90
- package/src/getThreadInfoOLD.js +422 -0
- package/src/getThreadList.js +157 -214
- package/src/getThreadMain.js +220 -0
- package/src/getThreadPictures.js +19 -39
- package/src/getUID.js +50 -113
- package/src/getUserID.js +14 -18
- package/src/getUserInfo.js +71 -65
- 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 +13 -24
- package/src/handleMessageRequest.js +20 -36
- package/src/httpGet.js +18 -34
- package/src/httpPost.js +18 -35
- package/src/httpPostFormData.js +24 -53
- package/src/listenMqtt.js +944 -680
- package/src/listenMqttV1.js +846 -0
- package/src/logout.js +15 -22
- package/src/markAsDelivered.js +15 -25
- package/src/markAsRead.js +27 -45
- package/src/markAsReadAll.js +14 -21
- package/src/markAsSeen.js +18 -28
- package/src/muteThread.js +12 -17
- package/src/removeUserFromGroup.js +17 -47
- package/src/resolvePhotoUrl.js +13 -21
- package/src/searchForThread.js +13 -23
- package/src/sendMessage.js +117 -178
- package/src/sendMqttMessage.js +71 -0
- package/src/sendTypingIndicator.js +16 -46
- package/src/setMessageReaction.js +20 -33
- package/src/setPostReaction.js +95 -105
- package/src/setTitle.js +18 -34
- package/src/shareContact.js +37 -92
- package/src/shareLink.js +4 -5
- package/src/threadColors.js +18 -110
- package/src/unfriend.js +9 -18
- package/src/unsendMessage.js +34 -31
- package/src/unsendMqttMessage.js +66 -0
- package/test/Database_Test.js +4 -0
- package/test/Db2.js +530 -0
- package/test/Shankar_Database/A_README.md +1 -0
- package/test/Shankar_Database/Database.db +0 -0
- package/test/data/shareAttach.js +1 -1
- package/test/env/.env +0 -0
- package/test/example-db.db +0 -0
- package/test/memoryleak.js +18 -0
- package/test/test.js +1 -1
- package/test/testname.js +1342 -0
- package/test/testv2.js +3 -0
- package/utils.js +2918 -1393
- package/CHANGELOG.md +0 -2
- package/LICENSE-MIT +0 -21
- package/generated-icon.png +0 -0
- package/replit.nix +0 -5
- package/shankar-fca.json +0 -4
- package/src/changeAvatar.js +0 -136
- package/src/changeBlockedStatusMqtt.js +0 -80
- package/src/changeCover.js +0 -73
- package/src/changeName.js +0 -79
- package/src/changeUsername.js +0 -59
- package/src/createCommentPost.js +0 -230
- package/src/createPost.js +0 -277
- 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/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 -322
- package/src/sendTypingIndicatorV2.js +0 -28
- package/src/setMessageReactionMqtt.js +0 -62
- package/src/setProfileGuard.js +0 -45
- package/src/setStoryReaction.js +0 -64
- package/src/stopListenMqtt.js +0 -26
- package/src/uploadAttachment.js +0 -94
package/src/changeThreadColor.js
CHANGED
@@ -1,32 +1,31 @@
|
|
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 changeThreadColor(color, 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
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(err);
|
21
19
|
};
|
22
20
|
}
|
23
21
|
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
22
|
+
var validatedColor = color !== null ? color.toLowerCase() : color; // API only accepts lowercase letters in hex string
|
23
|
+
var colorList = Object.keys(api.threadColors).map(function (name) {
|
24
|
+
return api.threadColors[name];
|
25
|
+
});
|
26
|
+
if (!colorList.includes(validatedColor)) throw { error: "The color you are trying to use is not a valid thread color. Use api.threadColors to find acceptable values." };
|
28
27
|
|
29
|
-
|
28
|
+
var form = {
|
30
29
|
dpr: 1,
|
31
30
|
queries: JSON.stringify({
|
32
31
|
o0: {
|
@@ -34,24 +33,22 @@ module.exports = function (defaultFuncs, api, ctx) {
|
|
34
33
|
doc_id: "1727493033983591",
|
35
34
|
query_params: {
|
36
35
|
data: {
|
37
|
-
actor_id: ctx.
|
36
|
+
actor_id: ctx.userID,
|
38
37
|
client_mutation_id: "0",
|
39
38
|
source: "SETTINGS",
|
40
39
|
theme_id: validatedColor,
|
41
|
-
thread_id: threadID
|
42
|
-
}
|
43
|
-
}
|
44
|
-
}
|
45
|
-
})
|
40
|
+
thread_id: threadID
|
41
|
+
}
|
42
|
+
}
|
43
|
+
}
|
44
|
+
})
|
46
45
|
};
|
47
46
|
|
48
47
|
defaultFuncs
|
49
48
|
.post("https://www.facebook.com/api/graphqlbatch/", ctx.jar, form)
|
50
49
|
.then(utils.parseAndCheckLogin(ctx, defaultFuncs))
|
51
50
|
.then(function (resData) {
|
52
|
-
if (resData[resData.length - 1].error_results > 0)
|
53
|
-
throw new utils.CustomError(resData[0].o0.errors);
|
54
|
-
}
|
51
|
+
if (resData[resData.length - 1].error_results > 0) throw resData[0].o0.errors;
|
55
52
|
|
56
53
|
return callback();
|
57
54
|
})
|
package/src/changeThreadEmoji.js
CHANGED
@@ -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 changeThreadEmoji(emoji, 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
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
|
+
var form = {
|
24
22
|
emoji_choice: emoji,
|
25
|
-
thread_or_other_fbid: threadID
|
23
|
+
thread_or_other_fbid: threadID
|
26
24
|
};
|
27
25
|
|
28
26
|
defaultFuncs
|
29
|
-
.post(
|
30
|
-
"https://www.facebook.com/messaging/save_thread_emoji/?source=thread_settings&__pc=EXP1%3Amessengerdotcom_pkg",
|
31
|
-
ctx.jar,
|
32
|
-
form,
|
33
|
-
)
|
27
|
+
.post("https://www.facebook.com/messaging/save_thread_emoji/?source=thread_settings&__pc=EXP1%3Amessengerdotcom_pkg", ctx.jar, form)
|
34
28
|
.then(utils.parseAndCheckLogin(ctx, defaultFuncs))
|
35
29
|
.then(function (resData) {
|
36
|
-
if (resData.error === 1357031) {
|
37
|
-
|
38
|
-
error:
|
39
|
-
"Trying to change emoji of a chat that doesn't exist. Have at least one message in the thread before trying to change the emoji.",
|
40
|
-
};
|
41
|
-
}
|
42
|
-
if (resData.error) {
|
43
|
-
throw resData;
|
44
|
-
}
|
30
|
+
if (resData.error === 1357031) throw { error: "Trying to change emoji of a chat that doesn't exist. Have at least one message in the thread before trying to change the emoji." };
|
31
|
+
if (resData.error) throw resData;
|
45
32
|
|
46
33
|
return callback();
|
47
34
|
})
|
package/src/createNewGroup.js
CHANGED
@@ -1,7 +1,7 @@
|
|
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 createNewGroup(participantIDs, groupTitle, callback) {
|
@@ -10,73 +10,55 @@ module.exports = function (defaultFuncs, api, ctx) {
|
|
10
10
|
groupTitle = null;
|
11
11
|
}
|
12
12
|
|
13
|
-
if (utils.getType(participantIDs) !== "Array") {
|
14
|
-
throw { error: "createNewGroup: participantIDs should be an array." };//
|
15
|
-
}
|
13
|
+
if (utils.getType(participantIDs) !== "Array") throw { error: "createNewGroup: participantIDs should be an array." };
|
16
14
|
|
17
|
-
if (participantIDs.length < 2) {
|
18
|
-
throw {
|
19
|
-
error: "createNewGroup: participantIDs should have at least 2 IDs.",
|
20
|
-
};
|
21
|
-
}
|
15
|
+
if (participantIDs.length < 2) throw { error: "createNewGroup: participantIDs should have at least 2 IDs." };
|
22
16
|
|
23
|
-
|
24
|
-
|
25
|
-
|
17
|
+
var resolveFunc = function () { };
|
18
|
+
var rejectFunc = function () { };
|
19
|
+
var returnPromise = new Promise(function (resolve, reject) {
|
26
20
|
resolveFunc = resolve;
|
27
21
|
rejectFunc = reject;
|
28
22
|
});
|
29
23
|
|
30
24
|
if (!callback) {
|
31
25
|
callback = function (err, threadID) {
|
32
|
-
if (err)
|
33
|
-
return rejectFunc(err);
|
34
|
-
}
|
26
|
+
if (err) return rejectFunc(err);
|
35
27
|
resolveFunc(threadID);
|
36
28
|
};
|
37
29
|
}
|
38
30
|
|
39
|
-
|
40
|
-
for (
|
41
|
-
|
42
|
-
fbid: participantIDs[n],
|
43
|
-
});
|
44
|
-
}
|
45
|
-
pids.push({ fbid: ctx.i_userID || ctx.userID });
|
31
|
+
var pids = [];
|
32
|
+
for (var n in participantIDs) pids.push({ fbid: participantIDs[n] });
|
33
|
+
pids.push({ fbid: ctx.userID });
|
46
34
|
|
47
|
-
|
35
|
+
var form = {
|
48
36
|
fb_api_caller_class: "RelayModern",
|
49
37
|
fb_api_req_friendly_name: "MessengerGroupCreateMutation",
|
50
|
-
av: ctx.
|
38
|
+
av: ctx.userID,
|
51
39
|
//This doc_id is valid as of January 11th, 2020
|
52
40
|
doc_id: "577041672419534",
|
53
41
|
variables: JSON.stringify({
|
54
42
|
input: {
|
55
43
|
entry_point: "jewel_new_group",
|
56
|
-
actor_id: ctx.
|
44
|
+
actor_id: ctx.userID,
|
57
45
|
participants: pids,
|
58
46
|
client_mutation_id: Math.round(Math.random() * 1024).toString(),
|
59
47
|
thread_settings: {
|
60
48
|
name: groupTitle,
|
61
49
|
joinable_mode: "PRIVATE",
|
62
|
-
thread_image_fbid: null
|
63
|
-
}
|
64
|
-
}
|
65
|
-
})
|
50
|
+
thread_image_fbid: null
|
51
|
+
}
|
52
|
+
}
|
53
|
+
})
|
66
54
|
};
|
67
55
|
|
68
56
|
defaultFuncs
|
69
57
|
.post("https://www.facebook.com/api/graphql/", ctx.jar, form)
|
70
58
|
.then(utils.parseAndCheckLogin(ctx, defaultFuncs))
|
71
59
|
.then(function (resData) {
|
72
|
-
if (resData.errors)
|
73
|
-
|
74
|
-
}
|
75
|
-
return callback(
|
76
|
-
null,
|
77
|
-
resData.data.messenger_group_thread_create.thread.thread_key
|
78
|
-
.thread_fbid,
|
79
|
-
);
|
60
|
+
if (resData.errors) throw resData;
|
61
|
+
return callback(null, resData.data.messenger_group_thread_create.thread.thread_key.thread_fbid);
|
80
62
|
})
|
81
63
|
.catch(function (err) {
|
82
64
|
log.error("createNewGroup", err);
|
package/src/createPoll.js
CHANGED
@@ -1,13 +1,13 @@
|
|
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 createPoll(title, threadID, options, 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
|
});
|
@@ -16,48 +16,37 @@ module.exports = function (defaultFuncs, api, ctx) {
|
|
16
16
|
if (utils.getType(options) == "Function") {
|
17
17
|
callback = options;
|
18
18
|
options = null;
|
19
|
-
}
|
19
|
+
}
|
20
|
+
else {
|
20
21
|
callback = function (err) {
|
21
|
-
if (err)
|
22
|
-
return rejectFunc(err);
|
23
|
-
}
|
22
|
+
if (err) return rejectFunc(err);
|
24
23
|
resolveFunc();
|
25
24
|
};
|
26
25
|
}
|
27
26
|
}
|
28
|
-
if (!options) {
|
29
|
-
options = {}; // Initial poll options are optional
|
30
|
-
}
|
27
|
+
if (!options) options = {}; // Initial poll options are optional
|
31
28
|
|
32
|
-
|
29
|
+
var form = {
|
33
30
|
target_id: threadID,
|
34
|
-
question_text: title
|
31
|
+
question_text: title
|
35
32
|
};
|
36
33
|
|
37
34
|
// Set fields for options (and whether they are selected initially by the posting user)
|
38
|
-
|
39
|
-
for (
|
35
|
+
var ind = 0;
|
36
|
+
for (var opt in options) {
|
40
37
|
// eslint-disable-next-line no-prototype-builtins
|
41
38
|
if (options.hasOwnProperty(opt)) {
|
42
39
|
form["option_text_array[" + ind + "]"] = opt;
|
43
|
-
form["option_is_selected_array[" + ind + "]"] = options[opt]
|
44
|
-
? "1"
|
45
|
-
: "0";
|
40
|
+
form["option_is_selected_array[" + ind + "]"] = options[opt] ? "1" : "0";
|
46
41
|
ind++;
|
47
42
|
}
|
48
43
|
}
|
49
44
|
|
50
45
|
defaultFuncs
|
51
|
-
.post(
|
52
|
-
"https://www.facebook.com/messaging/group_polling/create_poll/?dpr=1",
|
53
|
-
ctx.jar,
|
54
|
-
form,
|
55
|
-
)
|
46
|
+
.post("https://www.facebook.com/messaging/group_polling/create_poll/?dpr=1", ctx.jar, form)
|
56
47
|
.then(utils.parseAndCheckLogin(ctx, defaultFuncs))
|
57
48
|
.then(function (resData) {
|
58
|
-
if (resData.payload.status != "success")
|
59
|
-
throw resData;
|
60
|
-
}
|
49
|
+
if (resData.payload.status != "success") throw resData;
|
61
50
|
|
62
51
|
return callback();
|
63
52
|
})
|
package/src/deleteMessage.js
CHANGED
@@ -1,48 +1,37 @@
|
|
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 deleteMessage(messageOrMessages, 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
|
if (!callback) {
|
15
15
|
callback = function (err) {
|
16
|
-
if (err)
|
17
|
-
|
18
|
-
}
|
16
|
+
if (err) return rejectFunc(err);
|
17
|
+
|
19
18
|
resolveFunc();
|
20
19
|
};
|
21
20
|
}
|
22
21
|
|
23
|
-
|
24
|
-
client: "mercury"
|
22
|
+
var form = {
|
23
|
+
client: "mercury"
|
25
24
|
};
|
26
25
|
|
27
|
-
if (utils.getType(messageOrMessages) !== "Array")
|
28
|
-
messageOrMessages = [messageOrMessages];
|
29
|
-
}
|
26
|
+
if (utils.getType(messageOrMessages) !== "Array") messageOrMessages = [messageOrMessages];
|
30
27
|
|
31
|
-
for (
|
32
|
-
form["message_ids[" + i + "]"] = messageOrMessages[i];
|
33
|
-
}
|
28
|
+
for (var i = 0; i < messageOrMessages.length; i++) form["message_ids[" + i + "]"] = messageOrMessages[i];
|
34
29
|
|
35
30
|
defaultFuncs
|
36
|
-
.post(
|
37
|
-
"https://www.facebook.com/ajax/mercury/delete_messages.php",
|
38
|
-
ctx.jar,
|
39
|
-
form,
|
40
|
-
)
|
31
|
+
.post("https://www.facebook.com/ajax/mercury/delete_messages.php", ctx.jar, form)
|
41
32
|
.then(utils.parseAndCheckLogin(ctx, defaultFuncs))
|
42
33
|
.then(function (resData) {
|
43
|
-
if (resData.error)
|
44
|
-
throw resData;
|
45
|
-
}
|
34
|
+
if (resData.error) throw resData;
|
46
35
|
|
47
36
|
return callback();
|
48
37
|
})
|
package/src/deleteThread.js
CHANGED
@@ -1,48 +1,35 @@
|
|
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 deleteThread(threadOrThreads, 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
|
if (!callback) {
|
15
15
|
callback = function (err) {
|
16
|
-
if (err)
|
17
|
-
return rejectFunc(err);
|
18
|
-
}
|
16
|
+
if (err) return rejectFunc(err);
|
19
17
|
resolveFunc();
|
20
18
|
};
|
21
19
|
}
|
22
20
|
|
23
|
-
|
24
|
-
client: "mercury"
|
21
|
+
var form = {
|
22
|
+
client: "mercury"
|
25
23
|
};
|
26
24
|
|
27
|
-
if (utils.getType(threadOrThreads) !== "Array")
|
28
|
-
|
29
|
-
}
|
30
|
-
|
31
|
-
for (let i = 0; i < threadOrThreads.length; i++) {
|
32
|
-
form["ids[" + i + "]"] = threadOrThreads[i];
|
33
|
-
}
|
25
|
+
if (utils.getType(threadOrThreads) !== "Array") threadOrThreads = [threadOrThreads];
|
26
|
+
for (var i = 0; i < threadOrThreads.length; i++) form["ids[" + i + "]"] = threadOrThreads[i];
|
34
27
|
|
35
28
|
defaultFuncs
|
36
|
-
.post(
|
37
|
-
"https://www.facebook.com/ajax/mercury/delete_thread.php",
|
38
|
-
ctx.jar,
|
39
|
-
form,
|
40
|
-
)
|
29
|
+
.post("https://www.facebook.com/ajax/mercury/delete_thread.php", ctx.jar, form)
|
41
30
|
.then(utils.parseAndCheckLogin(ctx, defaultFuncs))
|
42
31
|
.then(function (resData) {
|
43
|
-
if (resData.error)
|
44
|
-
throw resData;
|
45
|
-
}
|
32
|
+
if (resData.error) throw resData;
|
46
33
|
|
47
34
|
return callback();
|
48
35
|
})
|
package/src/editMessage.js
CHANGED
@@ -1,71 +1,53 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
function
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
data_trace_id: null,
|
55
|
-
epoch_id: parseInt(generateOfflineThreadingId),
|
56
|
-
tasks: [query],
|
57
|
-
version_id: '6903494529735864',
|
58
|
-
},
|
59
|
-
request_id: ctx.wsReqNumber,
|
60
|
-
type: 3,
|
61
|
-
};
|
62
|
-
|
63
|
-
context.payload = JSON.stringify(context.payload);
|
64
|
-
|
65
|
-
if (canBeCalled(callback)) {
|
66
|
-
ctx.reqCallbacks[ctx.wsReqNumber] = callback;
|
67
|
-
}
|
68
|
-
|
69
|
-
ctx.mqttClient.publish('/ls_req', JSON.stringify(context), { qos: 1, retain: false });
|
70
|
-
}
|
71
|
-
}
|
1
|
+
/* eslint-disable linebreak-style */
|
2
|
+
"use strict";
|
3
|
+
|
4
|
+
var utils = require("../utils");
|
5
|
+
|
6
|
+
module.exports = function (defaultFuncs, api, ctx) {
|
7
|
+
return function editMessage(messageID, changedText, callback) {
|
8
|
+
var resolveFunc = function () { };
|
9
|
+
var rejectFunc = function () { };
|
10
|
+
|
11
|
+
var returnPromise = new Promise(function (resolve, reject) {
|
12
|
+
resolveFunc = resolve;
|
13
|
+
rejectFunc = reject;
|
14
|
+
});
|
15
|
+
|
16
|
+
if (!callback) {
|
17
|
+
callback = function (err, data) {
|
18
|
+
if (err) return rejectFunc(err);
|
19
|
+
resolveFunc(data);
|
20
|
+
};
|
21
|
+
}
|
22
|
+
ctx.mqttClient.publish('/ls_req',
|
23
|
+
JSON.stringify({
|
24
|
+
app_id: "2220391788200892",
|
25
|
+
payload: JSON.stringify({
|
26
|
+
tasks: [{
|
27
|
+
label: 742,
|
28
|
+
payload: JSON.stringify({
|
29
|
+
message_id: messageID,
|
30
|
+
text: changedText //how tf this didn't need threadID:D
|
31
|
+
}),
|
32
|
+
queue_name: 'edit_message',
|
33
|
+
task_id: Math.random() * 1001 << 0,
|
34
|
+
failure_count: null,
|
35
|
+
}],
|
36
|
+
epoch_id: utils.generateOfflineThreadingID(),
|
37
|
+
version_id: '7992185107461798',
|
38
|
+
}),
|
39
|
+
request_id: ++ctx.req_ID,
|
40
|
+
type: 3
|
41
|
+
}),
|
42
|
+
{
|
43
|
+
qos: 1,
|
44
|
+
retain: false,
|
45
|
+
}
|
46
|
+
);
|
47
|
+
ctx.callback_Task[ctx.req_ID] = new Object({
|
48
|
+
callback,
|
49
|
+
type: "editMessage"
|
50
|
+
});
|
51
|
+
return returnPromise;
|
52
|
+
};
|
53
|
+
};
|
package/src/forwardAttachment.js
CHANGED
@@ -1,52 +1,40 @@
|
|
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 forwardAttachment(attachmentID, userOrUsers, 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
|
if (!callback) {
|
15
15
|
callback = function (err) {
|
16
|
-
if (err)
|
17
|
-
return rejectFunc(err);
|
18
|
-
}
|
16
|
+
if (err) return rejectFunc(err);
|
19
17
|
resolveFunc();
|
20
18
|
};
|
21
19
|
}
|
22
20
|
|
23
|
-
|
24
|
-
attachment_id: attachmentID
|
21
|
+
var form = {
|
22
|
+
attachment_id: attachmentID
|
25
23
|
};
|
26
24
|
|
27
|
-
if (utils.getType(userOrUsers) !== "Array")
|
28
|
-
userOrUsers = [userOrUsers];
|
29
|
-
}
|
25
|
+
if (utils.getType(userOrUsers) !== "Array") userOrUsers = [userOrUsers];
|
30
26
|
|
31
|
-
|
27
|
+
var timestamp = Math.floor(Date.now() / 1000);
|
32
28
|
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
form["recipient_map[" + (timestamp + i) + "]"] = userOrUsers[i];
|
37
|
-
}
|
29
|
+
//That's good, the key of the array is really timestmap in seconds + index
|
30
|
+
//Probably time when the attachment will be sent?
|
31
|
+
for (var i = 0; i < userOrUsers.length; i++) form["recipient_map[" + (timestamp + i) + "]"] = userOrUsers[i];
|
38
32
|
|
39
33
|
defaultFuncs
|
40
|
-
.post(
|
41
|
-
"https://www.facebook.com/mercury/attachments/forward/",
|
42
|
-
ctx.jar,
|
43
|
-
form,
|
44
|
-
)
|
34
|
+
.post("https://www.facebook.com/mercury/attachments/forward/", ctx.jar, form)
|
45
35
|
.then(utils.parseAndCheckLogin(ctx.jar, defaultFuncs))
|
46
36
|
.then(function (resData) {
|
47
|
-
if (resData.error)
|
48
|
-
throw resData;
|
49
|
-
}
|
37
|
+
if (resData.error) throw resData;
|
50
38
|
|
51
39
|
return callback();
|
52
40
|
})
|
@@ -0,0 +1,28 @@
|
|
1
|
+
/* eslint-disable linebreak-style */
|
2
|
+
"use strict";
|
3
|
+
|
4
|
+
module.exports = function (defaultFuncs, api, ctx) {
|
5
|
+
return function getAccessToken(callback) {
|
6
|
+
var resolveFunc = function () { };
|
7
|
+
var rejectFunc = function () { };
|
8
|
+
var returnPromise = new Promise(function (resolve, reject) {
|
9
|
+
resolveFunc = resolve;
|
10
|
+
rejectFunc = reject;
|
11
|
+
});
|
12
|
+
|
13
|
+
if (!callback) {
|
14
|
+
callback = function (err, userInfo) {
|
15
|
+
if (err) return rejectFunc(err);
|
16
|
+
resolveFunc(userInfo);
|
17
|
+
};
|
18
|
+
}
|
19
|
+
try {
|
20
|
+
var { getAccessToken } = require('../Extra/ExtraAddons');
|
21
|
+
getAccessToken(ctx.jar,ctx,defaultFuncs).then(data => callback(null,data));
|
22
|
+
}
|
23
|
+
catch (e) {
|
24
|
+
callback(null, e);
|
25
|
+
}
|
26
|
+
return returnPromise;
|
27
|
+
};
|
28
|
+
};
|