fca-priyansh 19.0.1 → 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 -71
  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,102 +1,102 @@
1
- /**
2
- * @fix by NTKhang
3
- * update as Thursday, 10 February 2022
4
- * do not remove the author name to get more updates
5
- */
6
-
7
- "use strict";
8
-
9
- var utils = require("../utils");
10
- var log = require("npmlog");
11
-
12
- function formatData(resData) {
13
- return {
14
- viewer_feedback_reaction_info: resData.feedback_react.feedback.viewer_feedback_reaction_info,
15
- supported_reactions: resData.feedback_react.feedback.supported_reactions,
16
- top_reactions: resData.feedback_react.feedback.top_reactions.edges,
17
- reaction_count: resData.feedback_react.feedback.reaction_count
18
- };
19
- }
20
-
21
- module.exports = function(defaultFuncs, api, ctx) {
22
- return function setPostReaction(postID, type, callback) {
23
- var resolveFunc = function(){};
24
- var rejectFunc = function(){};
25
- var returnPromise = new Promise(function (resolve, reject) {
26
- resolveFunc = resolve;
27
- rejectFunc = reject;
28
- });
29
-
30
- if (!callback) {
31
- if (utils.getType(type) === "Function" || utils.getType(type) === "AsyncFunction") {
32
- callback = type;
33
- type = 0;
34
- }
35
- else {
36
- callback = function (err, data) {
37
- if (err) {
38
- return rejectFunc(err);
39
- }
40
- resolveFunc(data);
41
- };
42
- }
43
- }
44
-
45
- var map = {
46
- unlike: 0,
47
- like: 1,
48
- heart: 2,
49
- love: 16,
50
- haha: 4,
51
- wow: 3,
52
- sad: 7,
53
- angry: 8
54
- };
55
-
56
- if (utils.getType(type) !== "Number" && utils.getType(type) === "String") {
57
- type = map[type.toLowerCase()];
58
- }
59
- else {
60
- throw {
61
- error: "setPostReaction: Invalid reaction type"
62
- };
63
- }
64
-
65
- var form = {
66
- av: ctx.userID,
67
- fb_api_caller_class: "RelayModern",
68
- fb_api_req_friendly_name: "CometUFIFeedbackReactMutation",
69
- doc_id: "4769042373179384",
70
- variables: JSON.stringify({
71
- input: {
72
- actor_id: ctx.userID,
73
- feedback_id: (new Buffer.from("feedback:" + postID)).toString("base64"),
74
- feedback_reaction: type,
75
- feedback_source: "OBJECT",
76
- is_tracking_encrypted: true,
77
- tracking: [],
78
- session_id: "f7dd50dd-db6e-4598-8cd9-561d5002b423",
79
- client_mutation_id: Math.round(Math.random() * 19).toString()
80
- },
81
- useDefaultActor: false,
82
- scale: 3
83
- })
84
- };
85
-
86
- defaultFuncs
87
- .post("https://www.facebook.com/api/graphql/", ctx.jar, form)
88
- .then(utils.parseAndCheckLogin(ctx, defaultFuncs))
89
- .then(function(resData) {
90
- if (resData.errors) {
91
- throw resData;
92
- }
93
- return callback(null, formatData(resData.data));
94
- })
95
- .catch(function(err) {
96
- log.error("setPostReaction", err);
97
- return callback(err);
98
- });
99
-
100
- return returnPromise;
101
- };
1
+ /**
2
+ * @fix by NTKhang
3
+ * update as Thursday, 10 February 2022
4
+ * do not remove the author name to get more updates
5
+ */
6
+
7
+ "use strict";
8
+
9
+ var utils = require("../utils");
10
+ var log = require("npmlog");
11
+
12
+ function formatData(resData) {
13
+ return {
14
+ viewer_feedback_reaction_info: resData.feedback_react.feedback.viewer_feedback_reaction_info,
15
+ supported_reactions: resData.feedback_react.feedback.supported_reactions,
16
+ top_reactions: resData.feedback_react.feedback.top_reactions.edges,
17
+ reaction_count: resData.feedback_react.feedback.reaction_count
18
+ };
19
+ }
20
+
21
+ module.exports = function(defaultFuncs, api, ctx) {
22
+ return function setPostReaction(postID, type, callback) {
23
+ var resolveFunc = function(){};
24
+ var rejectFunc = function(){};
25
+ var returnPromise = new Promise(function (resolve, reject) {
26
+ resolveFunc = resolve;
27
+ rejectFunc = reject;
28
+ });
29
+
30
+ if (!callback) {
31
+ if (utils.getType(type) === "Function" || utils.getType(type) === "AsyncFunction") {
32
+ callback = type;
33
+ type = 0;
34
+ }
35
+ else {
36
+ callback = function (err, data) {
37
+ if (err) {
38
+ return rejectFunc(err);
39
+ }
40
+ resolveFunc(data);
41
+ };
42
+ }
43
+ }
44
+
45
+ var map = {
46
+ unlike: 0,
47
+ like: 1,
48
+ heart: 2,
49
+ love: 16,
50
+ haha: 4,
51
+ wow: 3,
52
+ sad: 7,
53
+ angry: 8
54
+ };
55
+
56
+ if (utils.getType(type) !== "Number" && utils.getType(type) === "String") {
57
+ type = map[type.toLowerCase()];
58
+ }
59
+ else {
60
+ throw {
61
+ error: "setPostReaction: Invalid reaction type"
62
+ };
63
+ }
64
+
65
+ var form = {
66
+ av: ctx.userID,
67
+ fb_api_caller_class: "RelayModern",
68
+ fb_api_req_friendly_name: "CometUFIFeedbackReactMutation",
69
+ doc_id: "4769042373179384",
70
+ variables: JSON.stringify({
71
+ input: {
72
+ actor_id: ctx.userID,
73
+ feedback_id: (new Buffer.from("feedback:" + postID)).toString("base64"),
74
+ feedback_reaction: type,
75
+ feedback_source: "OBJECT",
76
+ is_tracking_encrypted: true,
77
+ tracking: [],
78
+ session_id: "f7dd50dd-db6e-4598-8cd9-561d5002b423",
79
+ client_mutation_id: Math.round(Math.random() * 19).toString()
80
+ },
81
+ useDefaultActor: false,
82
+ scale: 3
83
+ })
84
+ };
85
+
86
+ defaultFuncs
87
+ .post("https://www.facebook.com/api/graphql/", ctx.jar, form)
88
+ .then(utils.parseAndCheckLogin(ctx, defaultFuncs))
89
+ .then(function(resData) {
90
+ if (resData.errors) {
91
+ throw resData;
92
+ }
93
+ return callback(null, formatData(resData.data));
94
+ })
95
+ .catch(function(err) {
96
+ log.error("setPostReaction", err);
97
+ return callback(err);
98
+ });
99
+
100
+ return returnPromise;
101
+ };
102
102
  };
package/src/setTitle.js CHANGED
@@ -1,74 +1,74 @@
1
- "use strict";
2
-
3
- var utils = require("../utils");
4
- var log = require("npmlog");
5
-
6
- module.exports = function (defaultFuncs, api, ctx) {
7
- return function setTitle(newTitle, threadID, callback) {
8
- if (
9
- !callback &&
10
- (utils.getType(threadID) === "Function" ||
11
- utils.getType(threadID) === "AsyncFunction")
12
- ) throw { error: "please pass a threadID as a second argument." };
13
-
14
-
15
- var resolveFunc = function () { };
16
- var rejectFunc = function () { };
17
- var returnPromise = new Promise(function (resolve, reject) {
18
- resolveFunc = resolve;
19
- rejectFunc = reject;
20
- });
21
-
22
- if (!callback) {
23
- callback = function (err, data) {
24
- if (err) return rejectFunc(err);
25
- resolveFunc(data);
26
- };
27
- }
28
-
29
- var messageAndOTID = utils.generateOfflineThreadingID();
30
- var form = {
31
- client: "mercury",
32
- action_type: "ma-type:log-message",
33
- author: "fbid:" + ctx.userID,
34
- author_email: "",
35
- coordinates: "",
36
- timestamp: Date.now(),
37
- timestamp_absolute: "Today",
38
- timestamp_relative: utils.generateTimestampRelative(),
39
- timestamp_time_passed: "0",
40
- is_unread: false,
41
- is_cleared: false,
42
- is_forward: false,
43
- is_filtered_content: false,
44
- is_spoof_warning: false,
45
- source: "source:chat:web",
46
- "source_tags[0]": "source:chat",
47
- status: "0",
48
- offline_threading_id: messageAndOTID,
49
- message_id: messageAndOTID,
50
- threading_id: utils.generateThreadingID(ctx.clientID),
51
- manual_retry_cnt: "0",
52
- thread_fbid: threadID,
53
- thread_name: newTitle,
54
- thread_id: threadID,
55
- log_message_type: "log:thread-name"
56
- };
57
-
58
- defaultFuncs
59
- .post("https://www.facebook.com/messaging/set_thread_name/", ctx.jar, form)
60
- .then(utils.parseAndCheckLogin(ctx, defaultFuncs))
61
- .then(function (resData) {
62
- if (resData.error && resData.error === 1545012) throw { error: "Cannot change chat title: Not member of chat." };
63
- if (resData.error && resData.error === 1545003) throw { error: "Cannot set title of single-user chat." };
64
- if (resData.error) throw resData;
65
- return callback();
66
- })
67
- .catch(function (err) {
68
- log.error("setTitle", err);
69
- return callback(err);
70
- });
71
-
72
- return returnPromise;
73
- };
74
- };
1
+ "use strict";
2
+
3
+ var utils = require("../utils");
4
+ var log = require("npmlog");
5
+
6
+ module.exports = function (defaultFuncs, api, ctx) {
7
+ return function setTitle(newTitle, threadID, callback) {
8
+ if (
9
+ !callback &&
10
+ (utils.getType(threadID) === "Function" ||
11
+ utils.getType(threadID) === "AsyncFunction")
12
+ ) throw { error: "please pass a threadID as a second argument." };
13
+
14
+
15
+ var resolveFunc = function () { };
16
+ var rejectFunc = function () { };
17
+ var returnPromise = new Promise(function (resolve, reject) {
18
+ resolveFunc = resolve;
19
+ rejectFunc = reject;
20
+ });
21
+
22
+ if (!callback) {
23
+ callback = function (err, data) {
24
+ if (err) return rejectFunc(err);
25
+ resolveFunc(data);
26
+ };
27
+ }
28
+
29
+ var messageAndOTID = utils.generateOfflineThreadingID();
30
+ var form = {
31
+ client: "mercury",
32
+ action_type: "ma-type:log-message",
33
+ author: "fbid:" + ctx.userID,
34
+ author_email: "",
35
+ coordinates: "",
36
+ timestamp: Date.now(),
37
+ timestamp_absolute: "Today",
38
+ timestamp_relative: utils.generateTimestampRelative(),
39
+ timestamp_time_passed: "0",
40
+ is_unread: false,
41
+ is_cleared: false,
42
+ is_forward: false,
43
+ is_filtered_content: false,
44
+ is_spoof_warning: false,
45
+ source: "source:chat:web",
46
+ "source_tags[0]": "source:chat",
47
+ status: "0",
48
+ offline_threading_id: messageAndOTID,
49
+ message_id: messageAndOTID,
50
+ threading_id: utils.generateThreadingID(ctx.clientID),
51
+ manual_retry_cnt: "0",
52
+ thread_fbid: threadID,
53
+ thread_name: newTitle,
54
+ thread_id: threadID,
55
+ log_message_type: "log:thread-name"
56
+ };
57
+
58
+ defaultFuncs
59
+ .post("https://www.facebook.com/messaging/set_thread_name/", ctx.jar, form)
60
+ .then(utils.parseAndCheckLogin(ctx, defaultFuncs))
61
+ .then(function (resData) {
62
+ if (resData.error && resData.error === 1545012) throw { error: "Cannot change chat title: Not member of chat." };
63
+ if (resData.error && resData.error === 1545003) throw { error: "Cannot set title of single-user chat." };
64
+ if (resData.error) throw resData;
65
+ return callback();
66
+ })
67
+ .catch(function (err) {
68
+ log.error("setTitle", err);
69
+ return callback(err);
70
+ });
71
+
72
+ return returnPromise;
73
+ };
74
+ };
package/src/share.js ADDED
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Share API Module
5
+ * Get preview information for Facebook posts
6
+ *
7
+ * @author Priyansh Rajput
8
+ * @github https://github.com/priyanshufsdev
9
+ * @license MIT
10
+ */
11
+
12
+ var utils = require("../utils");
13
+ var log = require("npmlog");
14
+
15
+ /**
16
+ * Format preview result from GraphQL response
17
+ * @private
18
+ */
19
+ function formatPreviewResult(data) {
20
+ if (data.errors) {
21
+ throw data.errors[0];
22
+ }
23
+
24
+ var previewData = data.data?.xma_preview_data;
25
+ if (!previewData) {
26
+ throw { error: "Could not generate a preview for this post." };
27
+ }
28
+
29
+ return {
30
+ postID: previewData.post_id,
31
+ header: previewData.header_title,
32
+ subtitle: previewData.subtitle_text,
33
+ title: previewData.title_text,
34
+ previewImage: previewData.preview_url,
35
+ favicon: previewData.favicon_url,
36
+ headerImage: previewData.header_image_url
37
+ };
38
+ }
39
+
40
+ module.exports = function(defaultFuncs, api, ctx) {
41
+ /**
42
+ * Get preview information for a Facebook post
43
+ * Useful for sharing posts or getting post metadata
44
+ *
45
+ * @param {string} postID - The ID of the post to preview
46
+ * @param {function} callback - Optional callback function
47
+ * @returns {Promise<object>}
48
+ */
49
+ return function getPostPreview(postID, callback) {
50
+ var resolveFunc = function() {};
51
+ var rejectFunc = function() {};
52
+ var returnPromise = new Promise(function(resolve, reject) {
53
+ resolveFunc = resolve;
54
+ rejectFunc = reject;
55
+ });
56
+
57
+ if (!callback) {
58
+ callback = function(err, data) {
59
+ if (err) return rejectFunc(err);
60
+ resolveFunc(data);
61
+ };
62
+ }
63
+
64
+ // Validation
65
+ if (!postID) {
66
+ var error = 'A postID is required to generate a preview.';
67
+ log.error('share', error);
68
+ return callback({ error: error });
69
+ }
70
+
71
+ var variables = {
72
+ shareable_id: postID.toString(),
73
+ scale: 3
74
+ };
75
+
76
+ var form = {
77
+ fb_api_caller_class: 'RelayModern',
78
+ fb_api_req_friendly_name: 'CometXMAProxyShareablePreviewQuery',
79
+ variables: JSON.stringify(variables),
80
+ doc_id: '28939050904374351'
81
+ };
82
+
83
+ defaultFuncs
84
+ .post("https://www.facebook.com/api/graphql/", ctx.jar, form)
85
+ .then(utils.parseAndCheckLogin(ctx, defaultFuncs))
86
+ .then(function(resData) {
87
+ var result = formatPreviewResult(resData);
88
+ log.info('share', 'Generated preview for post: ' + postID);
89
+ callback(null, result);
90
+ })
91
+ .catch(function(err) {
92
+ log.error('share', err);
93
+ callback(err);
94
+ });
95
+
96
+ return returnPromise;
97
+ };
98
+ };
@@ -1,55 +1,55 @@
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 shareContact(text, senderID, threadID, 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 || utils.getType(callback) != "Function" && utils.getType(callback) != "AsyncFunction") {
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: 359,
28
- payload: JSON.stringify({
29
- "contact_id": senderID,
30
- "sync_group": 1,
31
- "text": text || "",
32
- "thread_id": threadID
33
- }),
34
- queue_name: 'xma_open_contact_share',
35
- task_id: Math.random() * 1001 << 0,
36
- failure_count: null,
37
- }],
38
- epoch_id: utils.generateOfflineThreadingID(),
39
- version_id: '7214102258676893',
40
- }),
41
- request_id: ++ctx.req_ID,
42
- type: 3
43
- }),
44
- {
45
- qos: 1,
46
- retain: false,
47
- }
48
- );
49
- ctx.callback_Task[ctx.req_ID] = new Object({
50
- callback,
51
- type: "shareContact"
52
- });
53
- return returnPromise;
54
- };
55
- };
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 shareContact(text, senderID, threadID, 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 || utils.getType(callback) != "Function" && utils.getType(callback) != "AsyncFunction") {
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: 359,
28
+ payload: JSON.stringify({
29
+ "contact_id": senderID,
30
+ "sync_group": 1,
31
+ "text": text || "",
32
+ "thread_id": threadID
33
+ }),
34
+ queue_name: 'xma_open_contact_share',
35
+ task_id: Math.random() * 1001 << 0,
36
+ failure_count: null,
37
+ }],
38
+ epoch_id: utils.generateOfflineThreadingID(),
39
+ version_id: '7214102258676893',
40
+ }),
41
+ request_id: ++ctx.req_ID,
42
+ type: 3
43
+ }),
44
+ {
45
+ qos: 1,
46
+ retain: false,
47
+ }
48
+ );
49
+ ctx.callback_Task[ctx.req_ID] = new Object({
50
+ callback,
51
+ type: "shareContact"
52
+ });
53
+ return returnPromise;
54
+ };
55
+ };
package/src/shareLink.js CHANGED
@@ -1,58 +1,58 @@
1
- "use strict";
2
-
3
- var utils = require("../utils");
4
- var log = require("npmlog");
5
-
6
- module.exports = function (defaultFuncs, api, ctx) {
7
- return async function shareLink(text, url, threadID, callback) {
8
- var resolveFunc = function () { };
9
- var rejectFunc = function () { };
10
- var returnPromise = new Promise(function (resolve, reject) {
11
- resolveFunc = resolve;
12
- rejectFunc = reject;
13
- });
14
- if (!callback) {
15
- callback = function (err, data) {
16
- if (err) return rejectFunc(err);
17
- resolveFunc(data);
18
- };
19
- }
20
- mqttClient.publish('/ls_req',
21
- JSON.stringify({
22
- "app_id": "2220391788200892",
23
- "payload": JSON.stringify({
24
- tasks: [{
25
- label: 46,
26
- payload: JSON.stringify({
27
- "otid": utils.generateOfflineThreadingID(),
28
- "source": 524289,
29
- "sync_group": 1,
30
- "send_type": 6,
31
- "mark_thread_read": 0,
32
- "url": url || "https://www.facebook.com/Lazic.Kanzu",
33
- "text": text || "",
34
- "thread_id": threadID,
35
- "initiating_source": 0
36
- }),
37
- queue_name: threadID,
38
- task_id: Math.random() * 1001 << 0,
39
- failure_count: null,
40
- }],
41
- epoch_id: utils.generateOfflineThreadingID(),
42
- version_id: '7191105584331330',
43
- }),
44
- "request_id": ++ctx.req_ID,
45
- "type": 3
46
- }),
47
- {
48
- qos: 1,
49
- retain: false,
50
- }
51
- )
52
- ctx.callback_Task[ctx.req_ID] = new Object({
53
- callback,
54
- type: "shareLink"
55
- });
56
- return returnPromise;
57
- };
58
- };
1
+ "use strict";
2
+
3
+ var utils = require("../utils");
4
+ var log = require("npmlog");
5
+
6
+ module.exports = function (defaultFuncs, api, ctx) {
7
+ return async function shareLink(text, url, threadID, callback) {
8
+ var resolveFunc = function () { };
9
+ var rejectFunc = function () { };
10
+ var returnPromise = new Promise(function (resolve, reject) {
11
+ resolveFunc = resolve;
12
+ rejectFunc = reject;
13
+ });
14
+ if (!callback) {
15
+ callback = function (err, data) {
16
+ if (err) return rejectFunc(err);
17
+ resolveFunc(data);
18
+ };
19
+ }
20
+ mqttClient.publish('/ls_req',
21
+ JSON.stringify({
22
+ "app_id": "2220391788200892",
23
+ "payload": JSON.stringify({
24
+ tasks: [{
25
+ label: 46,
26
+ payload: JSON.stringify({
27
+ "otid": utils.generateOfflineThreadingID(),
28
+ "source": 524289,
29
+ "sync_group": 1,
30
+ "send_type": 6,
31
+ "mark_thread_read": 0,
32
+ "url": url || "https://www.facebook.com/Lazic.Kanzu",
33
+ "text": text || "",
34
+ "thread_id": threadID,
35
+ "initiating_source": 0
36
+ }),
37
+ queue_name: threadID,
38
+ task_id: Math.random() * 1001 << 0,
39
+ failure_count: null,
40
+ }],
41
+ epoch_id: utils.generateOfflineThreadingID(),
42
+ version_id: '7191105584331330',
43
+ }),
44
+ "request_id": ++ctx.req_ID,
45
+ "type": 3
46
+ }),
47
+ {
48
+ qos: 1,
49
+ retain: false,
50
+ }
51
+ )
52
+ ctx.callback_Task[ctx.req_ID] = new Object({
53
+ callback,
54
+ type: "shareLink"
55
+ });
56
+ return returnPromise;
57
+ };
58
+ };