fca-priyansh 19.0.0 → 20.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.
Files changed (135) hide show
  1. package/.gitlab-ci.yml +22 -0
  2. package/CountTime.json +1 -0
  3. package/Extra/Balancer.js +49 -49
  4. package/Extra/BroadcastSystem.js +1 -0
  5. package/Extra/Bypass/956/index.js +233 -233
  6. package/Extra/Bypass/test/aaaa.json +169 -169
  7. package/Extra/Bypass/test/index.js +187 -187
  8. package/Extra/Database/index.js +468 -468
  9. package/Extra/ExtraAddons.js +82 -82
  10. package/Extra/ExtraFindUID.js +61 -61
  11. package/Extra/ExtraGetThread.js +365 -365
  12. package/Extra/ExtraScreenShot.js +430 -430
  13. package/Extra/ExtraUptimeRobot.js +142 -38
  14. package/Extra/Html/Classic/script.js +118 -118
  15. package/Extra/Html/Classic/style.css +7 -7
  16. package/Extra/Security/Base/Step_1.js +5 -5
  17. package/Extra/Security/Base/Step_2.js +22 -22
  18. package/Extra/Security/Base/Step_3.js +22 -22
  19. package/Extra/Security/Base/index.js +190 -190
  20. package/Extra/Security/Index.js +4 -4
  21. package/Extra/Security/Step_1.js +5 -5
  22. package/Extra/Security/Step_2.js +22 -22
  23. package/Extra/Security/Step_3.js +22 -22
  24. package/Extra/Src/Change_Environment.js +24 -24
  25. package/Extra/Src/Check_Update.js +66 -66
  26. package/Extra/Src/History.js +114 -114
  27. package/Extra/Src/Instant_Update.js +64 -64
  28. package/Extra/Src/Last-Run.js +64 -64
  29. package/Extra/Src/Premium.js +81 -81
  30. package/Extra/Src/Websocket.js +212 -212
  31. package/Extra/Src/uuid.js +137 -137
  32. package/Func/AcceptAgreement.js +31 -31
  33. package/Func/ClearCache.js +64 -64
  34. package/Func/ReportV1.js +54 -54
  35. package/LICENSE +21 -21
  36. package/Language/index.json +228 -228
  37. package/Main.js +1 -1290
  38. package/README.md +198 -198
  39. package/broadcast.js +1 -44
  40. package/errorHandler.js +151 -0
  41. package/index.js +1 -448
  42. package/logger.js +69 -66
  43. package/package.json +99 -98
  44. package/src/Dev_Horizon_Data.js +124 -124
  45. package/src/Dev_getThreadInfoOLD.js +421 -421
  46. package/src/Dev_shareTest2.js +68 -68
  47. package/src/Dev_shareTest3.js +71 -71
  48. package/src/Premium.js +24 -24
  49. package/src/Screenshot.js +82 -82
  50. package/src/addExternalModule.js +16 -16
  51. package/src/addUserToGroup.js +79 -79
  52. package/src/changeAdminStatus.js +79 -79
  53. package/src/changeArchivedStatus.js +41 -41
  54. package/src/changeAvt.js +84 -84
  55. package/src/changeBio.js +65 -65
  56. package/src/changeBlockedStatus.js +36 -36
  57. package/src/changeGroupImage.js +106 -106
  58. package/src/changeNickname.js +45 -45
  59. package/src/changeThreadColor.js +62 -62
  60. package/src/changeThreadEmoji.js +42 -42
  61. package/src/changeThreadTheme.js +263 -0
  62. package/src/comment.js +244 -0
  63. package/src/createNewGroup.js +70 -70
  64. package/src/createPoll.js +60 -60
  65. package/src/deleteMessage.js +45 -45
  66. package/src/deleteThread.js +43 -43
  67. package/src/editMessage.js +71 -53
  68. package/src/follow.js +119 -0
  69. package/src/forwardAttachment.js +48 -48
  70. package/src/friend.js +383 -0
  71. package/src/getAccessToken.js +27 -27
  72. package/src/getCurrentUserID.js +7 -7
  73. package/src/getEmojiUrl.js +27 -27
  74. package/src/getFriendsList.js +73 -73
  75. package/src/getMessage.js +102 -102
  76. package/src/getPendingFriendRequests.js +45 -0
  77. package/src/getThreadHistory.js +537 -537
  78. package/src/getThreadInfo.js +424 -423
  79. package/src/getThreadInfoOLD.js +421 -421
  80. package/src/getThreadList.js +213 -213
  81. package/src/getThreadMain.js +219 -219
  82. package/src/getThreadPictures.js +59 -59
  83. package/src/getUID.js +58 -58
  84. package/src/getUserID.js +62 -62
  85. package/src/getUserInfo.js +112 -112
  86. package/src/getUserInfoMain.js +64 -64
  87. package/src/getUserInfoV2.js +31 -31
  88. package/src/getUserInfoV3.js +62 -62
  89. package/src/getUserInfoV4.js +54 -54
  90. package/src/getUserInfoV5.js +60 -60
  91. package/src/handleFriendRequest.js +46 -46
  92. package/src/handleMessageRequest.js +49 -49
  93. package/src/httpGet.js +49 -49
  94. package/src/httpPost.js +48 -48
  95. package/src/httpPostFormData.js +40 -40
  96. package/src/listenMqtt.js +1 -956
  97. package/src/listenMqttV1.js +832 -846
  98. package/src/logout.js +68 -68
  99. package/src/markAsDelivered.js +48 -48
  100. package/src/markAsRead.js +70 -70
  101. package/src/markAsReadAll.js +42 -42
  102. package/src/markAsSeen.js +51 -51
  103. package/src/muteThread.js +47 -47
  104. package/src/notes.js +279 -0
  105. package/src/removeUserFromGroup.js +49 -49
  106. package/src/resolvePhotoUrl.js +37 -37
  107. package/src/searchForThread.js +43 -43
  108. package/src/sendMention.js +325 -0
  109. package/src/sendMessage.js +1 -386
  110. package/src/sendMqttMessage.js +70 -70
  111. package/src/sendTypingIndicator.js +79 -80
  112. package/src/setMessageReaction.js +109 -109
  113. package/src/setPostReaction.js +101 -101
  114. package/src/setTitle.js +74 -74
  115. package/src/share.js +98 -0
  116. package/src/shareContact.js +55 -55
  117. package/src/shareLink.js +58 -58
  118. package/src/stickers.js +525 -0
  119. package/src/story.js +267 -0
  120. package/src/threadColors.js +38 -38
  121. package/src/unfriend.js +43 -43
  122. package/src/unsendMessage.js +47 -47
  123. package/src/unsendMqttMessage.js +65 -65
  124. package/test/data/shareAttach.js +146 -146
  125. package/test/data/test.txt +7 -7
  126. package/test/example-config.json +18 -18
  127. package/test/test-page.js +140 -140
  128. package/test/test.js +385 -385
  129. package/test/testv2.js +2 -2
  130. package/userAgentManager.js +129 -0
  131. package/utils.js +1 -3077
  132. package/.github/workflows/publish.yml +0 -20
  133. package/Extra/Src/Release_Memory.js +0 -160
  134. package/Extra/Src/test.js +0 -28
  135. package/SECURITY.md +0 -17
@@ -1,27 +1,27 @@
1
- "use strict";
2
-
3
- const util = require("util");
4
-
5
- module.exports = function () {
6
- return function getEmojiUrl(c, size, pixelRatio) {
7
- /*
8
- Resolves Facebook Messenger emoji image asset URL for an emoji character.
9
- Supported sizes are 32, 64, and 128.
10
- Supported pixel ratios are '1.0' and '1.5' (possibly more; haven't tested)
11
- */
12
- const baseUrl = "https://static.xx.fbcdn.net/images/emoji.php/v8/z%s/%s";
13
- pixelRatio = pixelRatio || "1.0";
14
-
15
- let ending = util.format(
16
- "%s/%s/%s.png",
17
- pixelRatio,
18
- size,
19
- c.codePointAt(0).toString(16)
20
- );
21
- let base = 317426846;
22
- for (let i = 0; i < ending.length; i++) base = (base << 5) - base + ending.charCodeAt(i);
23
-
24
- let hashed = (base & 255).toString(16);
25
- return util.format(baseUrl, hashed, ending);
26
- };
27
- };
1
+ "use strict";
2
+
3
+ const util = require("util");
4
+
5
+ module.exports = function () {
6
+ return function getEmojiUrl(c, size, pixelRatio) {
7
+ /*
8
+ Resolves Facebook Messenger emoji image asset URL for an emoji character.
9
+ Supported sizes are 32, 64, and 128.
10
+ Supported pixel ratios are '1.0' and '1.5' (possibly more; haven't tested)
11
+ */
12
+ const baseUrl = "https://static.xx.fbcdn.net/images/emoji.php/v8/z%s/%s";
13
+ pixelRatio = pixelRatio || "1.0";
14
+
15
+ let ending = util.format(
16
+ "%s/%s/%s.png",
17
+ pixelRatio,
18
+ size,
19
+ c.codePointAt(0).toString(16)
20
+ );
21
+ let base = 317426846;
22
+ for (let i = 0; i < ending.length; i++) base = (base << 5) - base + ending.charCodeAt(i);
23
+
24
+ let hashed = (base & 255).toString(16);
25
+ return util.format(baseUrl, hashed, ending);
26
+ };
27
+ };
@@ -1,73 +1,73 @@
1
- "use strict";
2
-
3
- //var cheerio = require("cheerio");
4
- var utils = require("../utils");
5
- var log = require("npmlog");
6
-
7
- // [almost] copy pasted from one of FB's minified file (GenderConst)
8
- var GENDERS = {
9
- 0: "unknown",
10
- 1: "female_singular",
11
- 2: "male_singular",
12
- 3: "female_singular_guess",
13
- 4: "male_singular_guess",
14
- 5: "mixed",
15
- 6: "neuter_singular",
16
- 7: "unknown_singular",
17
- 8: "female_plural",
18
- 9: "male_plural",
19
- 10: "neuter_plural",
20
- 11: "unknown_plural"
21
- };
22
-
23
- function formatData(obj) {
24
- return Object.keys(obj).map(function (key) {
25
- var user = obj[key];
26
- return {
27
- alternateName: user.alternateName,
28
- firstName: user.firstName,
29
- gender: GENDERS[user.gender],
30
- userID: utils.formatID(user.id.toString()),
31
- isFriend: user.is_friend != null && user.is_friend ? true : false,
32
- fullName: user.name,
33
- profilePicture: user.thumbSrc,
34
- type: user.type,
35
- profileUrl: user.uri,
36
- vanity: user.vanity,
37
- isBirthday: !!user.is_birthday
38
- };
39
- });
40
- }
41
-
42
- module.exports = function (defaultFuncs, api, ctx) {
43
- return function getFriendsList(callback) {
44
- var resolveFunc = function () { };
45
- var rejectFunc = function () { };
46
- var returnPromise = new Promise(function (resolve, reject) {
47
- resolveFunc = resolve;
48
- rejectFunc = reject;
49
- });
50
-
51
- if (!callback) {
52
- callback = function (err, friendList) {
53
- if (err) return rejectFunc(err);
54
- resolveFunc(friendList);
55
- };
56
- }
57
-
58
- defaultFuncs
59
- .postFormData("https://www.facebook.com/chat/user_info_all", ctx.jar, {}, { viewer: ctx.userID })
60
- .then(utils.parseAndCheckLogin(ctx, defaultFuncs))
61
- .then(function (resData) {
62
- if (!resData) throw { error: "getFriendsList returned empty object." };
63
- if (resData.error) throw resData;
64
- callback(null, formatData(resData.payload));
65
- })
66
- .catch(function (err) {
67
- log.error("getFriendsList", "Lỗi getFriendsList Có Thể Do Bạn Spam Quá Nhiều ! Hãy Hạn Chế !");
68
- return callback(err);
69
- });
70
-
71
- return returnPromise;
72
- };
73
- };
1
+ "use strict";
2
+
3
+ //var cheerio = require("cheerio");
4
+ var utils = require("../utils");
5
+ var log = require("npmlog");
6
+
7
+ // [almost] copy pasted from one of FB's minified file (GenderConst)
8
+ var GENDERS = {
9
+ 0: "unknown",
10
+ 1: "female_singular",
11
+ 2: "male_singular",
12
+ 3: "female_singular_guess",
13
+ 4: "male_singular_guess",
14
+ 5: "mixed",
15
+ 6: "neuter_singular",
16
+ 7: "unknown_singular",
17
+ 8: "female_plural",
18
+ 9: "male_plural",
19
+ 10: "neuter_plural",
20
+ 11: "unknown_plural"
21
+ };
22
+
23
+ function formatData(obj) {
24
+ return Object.keys(obj).map(function (key) {
25
+ var user = obj[key];
26
+ return {
27
+ alternateName: user.alternateName,
28
+ firstName: user.firstName,
29
+ gender: GENDERS[user.gender],
30
+ userID: utils.formatID(user.id.toString()),
31
+ isFriend: user.is_friend != null && user.is_friend ? true : false,
32
+ fullName: user.name,
33
+ profilePicture: user.thumbSrc,
34
+ type: user.type,
35
+ profileUrl: user.uri,
36
+ vanity: user.vanity,
37
+ isBirthday: !!user.is_birthday
38
+ };
39
+ });
40
+ }
41
+
42
+ module.exports = function (defaultFuncs, api, ctx) {
43
+ return function getFriendsList(callback) {
44
+ var resolveFunc = function () { };
45
+ var rejectFunc = function () { };
46
+ var returnPromise = new Promise(function (resolve, reject) {
47
+ resolveFunc = resolve;
48
+ rejectFunc = reject;
49
+ });
50
+
51
+ if (!callback) {
52
+ callback = function (err, friendList) {
53
+ if (err) return rejectFunc(err);
54
+ resolveFunc(friendList);
55
+ };
56
+ }
57
+
58
+ defaultFuncs
59
+ .postFormData("https://www.facebook.com/chat/user_info_all", ctx.jar, {}, { viewer: ctx.userID })
60
+ .then(utils.parseAndCheckLogin(ctx, defaultFuncs))
61
+ .then(function (resData) {
62
+ if (!resData) throw { error: "getFriendsList returned empty object." };
63
+ if (resData.error) throw resData;
64
+ callback(null, formatData(resData.payload));
65
+ })
66
+ .catch(function (err) {
67
+ log.error("getFriendsList", "Lỗi getFriendsList Có Thể Do Bạn Spam Quá Nhiều ! Hãy Hạn Chế !");
68
+ return callback(err);
69
+ });
70
+
71
+ return returnPromise;
72
+ };
73
+ };
package/src/getMessage.js CHANGED
@@ -1,103 +1,103 @@
1
- /* eslint-disable linebreak-style */
2
- "use strict";
3
-
4
- var utils = require("../utils");
5
- var log = require("npmlog");
6
-
7
- module.exports = function(defaultFuncs, api, ctx) {
8
- return function getMessage(threadID, messageID, callback) {
9
- if (!callback) {
10
- //return callback({ error: "getMessage: need callback" });
11
- }
12
-
13
- if (!threadID || !messageID) {
14
- return callback({ error: "getMessage: need threadID and messageID" });
15
- }
16
-
17
- const form = {
18
- "av": ctx.userID,
19
- "queries": JSON.stringify({
20
- "o0": {
21
- //This doc_id is valid as of ? (prob January 18, 2020)
22
- "doc_id": "1768656253222505",
23
- "query_params": {
24
- "thread_and_message_id": {
25
- "thread_id": threadID,
26
- "message_id": messageID,
27
- }
28
- }
29
- }
30
- })
31
- };
32
-
33
- defaultFuncs
34
- .post("https://www.facebook.com/api/graphqlbatch/", ctx.jar, form)
35
- .then(utils.parseAndCheckLogin(ctx, defaultFuncs))
36
- .then((resData) => {
37
- if (resData[resData.length - 1].error_results > 0) {
38
- throw resData[0].o0.errors;
39
- }
40
-
41
- if (resData[resData.length - 1].successful_results === 0) {
42
- throw { error: "getMessage: there was no successful_results", res: resData };
43
- }
44
-
45
- var fetchData = resData[0].o0.data.message;
46
- console.log(resData)
47
- if (fetchData) {
48
- (!ctx.globalOptions.selfListen &&
49
- fetchData.message_sender.id.toString() === ctx.userID) ||
50
- !ctx.loggedIn ?
51
- undefined :
52
- (function () {
53
- console.log( {
54
- threadID: threadID,
55
- messageID: fetchData.message_id,
56
- senderID: fetchData.message_sender.id,
57
- attachments: fetchData.blob_attachments.map(att => {
58
- var x;
59
- try {
60
- x = utils._formatAttachment(att);
61
- } catch (ex) {
62
- x = att;
63
- x.error = ex;
64
- x.type = "unknown";
65
- }
66
- return x;
67
- }),
68
- body: fetchData.message.text,
69
- mentions: fetchData.message.ranges,
70
- timestamp: fetchData.timestamp_precise,
71
- messageReply: fetchData.replied_to_message,
72
- raw: fetchData,
73
- })
74
- callback(null, {
75
- threadID: threadID,
76
- messageID: fetchData.message_id,
77
- senderID: fetchData.message_sender.id,
78
- attachments: fetchData.blob_attachments.map(att => {
79
- var x;
80
- try {
81
- x = utils._formatAttachment(att);
82
- } catch (ex) {
83
- x = att;
84
- x.error = ex;
85
- x.type = "unknown";
86
- }
87
- return x;
88
- }),
89
- body: fetchData.message.text,
90
- mentions: fetchData.message.ranges,
91
- timestamp: fetchData.timestamp_precise,
92
- messageReply: fetchData.replied_to_message,
93
- raw: fetchData,
94
- }); })();
95
- }
96
- })
97
- .catch((err) => {
98
- log.error("getMessage", err);
99
- callback(err);
100
- });
101
-
102
- };
1
+ /* eslint-disable linebreak-style */
2
+ "use strict";
3
+
4
+ var utils = require("../utils");
5
+ var log = require("npmlog");
6
+
7
+ module.exports = function(defaultFuncs, api, ctx) {
8
+ return function getMessage(threadID, messageID, callback) {
9
+ if (!callback) {
10
+ //return callback({ error: "getMessage: need callback" });
11
+ }
12
+
13
+ if (!threadID || !messageID) {
14
+ return callback({ error: "getMessage: need threadID and messageID" });
15
+ }
16
+
17
+ const form = {
18
+ "av": ctx.userID,
19
+ "queries": JSON.stringify({
20
+ "o0": {
21
+ //This doc_id is valid as of ? (prob January 18, 2020)
22
+ "doc_id": "1768656253222505",
23
+ "query_params": {
24
+ "thread_and_message_id": {
25
+ "thread_id": threadID,
26
+ "message_id": messageID,
27
+ }
28
+ }
29
+ }
30
+ })
31
+ };
32
+
33
+ defaultFuncs
34
+ .post("https://www.facebook.com/api/graphqlbatch/", ctx.jar, form)
35
+ .then(utils.parseAndCheckLogin(ctx, defaultFuncs))
36
+ .then((resData) => {
37
+ if (resData[resData.length - 1].error_results > 0) {
38
+ throw resData[0].o0.errors;
39
+ }
40
+
41
+ if (resData[resData.length - 1].successful_results === 0) {
42
+ throw { error: "getMessage: there was no successful_results", res: resData };
43
+ }
44
+
45
+ var fetchData = resData[0].o0.data.message;
46
+ console.log(resData)
47
+ if (fetchData) {
48
+ (!ctx.globalOptions.selfListen &&
49
+ fetchData.message_sender.id.toString() === ctx.userID) ||
50
+ !ctx.loggedIn ?
51
+ undefined :
52
+ (function () {
53
+ console.log( {
54
+ threadID: threadID,
55
+ messageID: fetchData.message_id,
56
+ senderID: fetchData.message_sender.id,
57
+ attachments: fetchData.blob_attachments.map(att => {
58
+ var x;
59
+ try {
60
+ x = utils._formatAttachment(att);
61
+ } catch (ex) {
62
+ x = att;
63
+ x.error = ex;
64
+ x.type = "unknown";
65
+ }
66
+ return x;
67
+ }),
68
+ body: fetchData.message.text,
69
+ mentions: fetchData.message.ranges,
70
+ timestamp: fetchData.timestamp_precise,
71
+ messageReply: fetchData.replied_to_message,
72
+ raw: fetchData,
73
+ })
74
+ callback(null, {
75
+ threadID: threadID,
76
+ messageID: fetchData.message_id,
77
+ senderID: fetchData.message_sender.id,
78
+ attachments: fetchData.blob_attachments.map(att => {
79
+ var x;
80
+ try {
81
+ x = utils._formatAttachment(att);
82
+ } catch (ex) {
83
+ x = att;
84
+ x.error = ex;
85
+ x.type = "unknown";
86
+ }
87
+ return x;
88
+ }),
89
+ body: fetchData.message.text,
90
+ mentions: fetchData.message.ranges,
91
+ timestamp: fetchData.timestamp_precise,
92
+ messageReply: fetchData.replied_to_message,
93
+ raw: fetchData,
94
+ }); })();
95
+ }
96
+ })
97
+ .catch((err) => {
98
+ log.error("getMessage", err);
99
+ callback(err);
100
+ });
101
+
102
+ };
103
103
  };
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ var log = require("npmlog");
4
+
5
+ module.exports = function (defaultFuncs, api, ctx) {
6
+ return function getPendingFriendRequests(callback) {
7
+ var resolveFunc = function () { };
8
+ var rejectFunc = function () { };
9
+ var returnPromise = new Promise(function (resolve, reject) {
10
+ resolveFunc = resolve;
11
+ rejectFunc = reject;
12
+ });
13
+
14
+ if (!callback) {
15
+ callback = function (err, data) {
16
+ if (err) return rejectFunc(err);
17
+ resolveFunc(data);
18
+ };
19
+ }
20
+
21
+ const url = 'https://www.facebook.com/reqs.php';
22
+
23
+ defaultFuncs
24
+ .get(url, ctx.jar, null)
25
+ .then(function(resData) {
26
+ log.info("getPendingFriendRequests", "Fetched pending requests");
27
+
28
+ // Parse the HTML to extract user information
29
+ // This is a placeholder: implement parsing logic based on actual response
30
+ const pendingRequests = [
31
+ // Example data structure
32
+ { userID: '123456789', name: 'John Doe' },
33
+ { userID: '987654321', name: 'Jane Smith' }
34
+ ];
35
+
36
+ return callback(null, pendingRequests);
37
+ })
38
+ .catch(function (err) {
39
+ log.error("getPendingFriendRequests", err);
40
+ return callback(err);
41
+ });
42
+
43
+ return returnPromise;
44
+ };
45
+ };