fca-smart-shankar 10.9.1 → 13.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 (169) hide show
  1. package/.replit +12 -3
  2. package/.upm/store.json +1 -1
  3. package/CHANGELOG.md +2 -0
  4. package/LICENSE-MIT +21 -0
  5. package/README.md +175 -30
  6. package/generated-icon.png +0 -0
  7. package/index.js +511 -414
  8. package/package.json +370 -85
  9. package/replit.nix +5 -0
  10. package/shankar-fca.json +4 -0
  11. package/src/addExternalModule.js +14 -5
  12. package/src/addUserToGroup.js +56 -20
  13. package/src/changeAdminStatus.js +44 -20
  14. package/src/changeArchivedStatus.js +25 -11
  15. package/src/changeAvatar.js +136 -0
  16. package/src/{changeAvt.js → changeAvatarV2.js} +3 -2
  17. package/src/changeBio.js +26 -15
  18. package/src/changeBlockedStatus.js +21 -8
  19. package/src/changeBlockedStatusMqtt.js +80 -0
  20. package/src/changeCover.js +73 -0
  21. package/src/changeGroupImage.js +53 -24
  22. package/src/changeName.js +79 -0
  23. package/src/changeNickname.js +27 -13
  24. package/src/changeThreadColor.js +22 -19
  25. package/src/changeThreadEmoji.js +24 -11
  26. package/src/changeUsername.js +59 -0
  27. package/src/createCommentPost.js +230 -0
  28. package/src/createNewGroup.js +38 -20
  29. package/src/createPoll.js +27 -16
  30. package/src/createPost.js +277 -0
  31. package/src/data/getThreadInfo.json +1 -0
  32. package/src/deleteMessage.js +24 -13
  33. package/src/deleteThread.js +25 -12
  34. package/src/editMessage.js +71 -53
  35. package/src/editMessageOld.js +67 -0
  36. package/src/follow.js +74 -0
  37. package/src/forwardAttachment.js +27 -15
  38. package/src/getAccess.js +112 -0
  39. package/src/getAvatarUser.js +78 -0
  40. package/src/getCurrentUserID.js +1 -1
  41. package/src/getEmojiUrl.js +10 -8
  42. package/src/getFriendsList.js +25 -15
  43. package/src/getMessage.js +813 -81
  44. package/src/getRegion.js +7 -0
  45. package/src/getThreadHistory.js +241 -98
  46. package/src/getThreadHistoryDeprecated.js +93 -0
  47. package/src/getThreadInfo.js +90 -287
  48. package/src/getThreadInfoDeprecated.js +80 -0
  49. package/src/getThreadList.js +214 -157
  50. package/src/getThreadListDeprecated.js +75 -0
  51. package/src/getThreadPictures.js +39 -19
  52. package/src/getUID.js +113 -50
  53. package/src/getUserID.js +18 -14
  54. package/src/getUserInfo.js +65 -71
  55. package/src/handleFriendRequest.js +24 -13
  56. package/src/handleMessageRequest.js +36 -20
  57. package/src/httpGet.js +34 -18
  58. package/src/httpPost.js +35 -18
  59. package/src/httpPostFormData.js +53 -24
  60. package/src/listenMqtt.js +680 -944
  61. package/src/listenNotification.js +85 -0
  62. package/src/logout.js +22 -15
  63. package/src/markAsDelivered.js +25 -15
  64. package/src/markAsRead.js +45 -27
  65. package/src/markAsReadAll.js +21 -14
  66. package/src/markAsSeen.js +28 -18
  67. package/src/muteThread.js +17 -12
  68. package/src/pinMessage.js +59 -0
  69. package/src/refreshFb_dtsg.js +89 -0
  70. package/src/removeUserFromGroup.js +47 -17
  71. package/src/resolvePhotoUrl.js +21 -13
  72. package/src/searchForThread.js +23 -13
  73. package/src/searchStickers.js +53 -0
  74. package/src/sendMessage.js +178 -117
  75. package/src/sendMessageMqtt.js +322 -0
  76. package/src/sendTypingIndicator.js +46 -16
  77. package/src/sendTypingIndicatorV2.js +28 -0
  78. package/src/setMessageReaction.js +33 -20
  79. package/src/setMessageReactionMqtt.js +62 -0
  80. package/src/setPostReaction.js +105 -95
  81. package/src/setProfileGuard.js +45 -0
  82. package/src/setStoryReaction.js +64 -0
  83. package/src/setTitle.js +34 -18
  84. package/src/shareContact.js +92 -37
  85. package/src/shareLink.js +5 -4
  86. package/src/stopListenMqtt.js +26 -0
  87. package/src/threadColors.js +110 -18
  88. package/src/unfriend.js +18 -9
  89. package/src/unsendMessage.js +31 -34
  90. package/src/uploadAttachment.js +94 -0
  91. package/test/data/shareAttach.js +1 -1
  92. package/test/test.js +1 -1
  93. package/utils.js +1393 -2918
  94. package/.cache/replit/env/latest +0 -56
  95. package/.cache/replit/env/latest.json +0 -1
  96. package/.cache/replit/modules/nodejs-14.res +0 -1
  97. package/.cache/replit/modules/replit.res +0 -1
  98. package/.cache/replit/modules/web.res +0 -1
  99. package/.cache/replit/modules.stamp +0 -0
  100. package/.cache/typescript/5.5/package.json +0 -1
  101. package/.config/configstore/update-notifier-npm.json +0 -4
  102. package/.gitattributes +0 -2
  103. package/Extra/Balancer.js +0 -49
  104. package/Extra/Bypass/956/index.js +0 -234
  105. package/Extra/Bypass/test/aaaa.json +0 -170
  106. package/Extra/Bypass/test/index.js +0 -188
  107. package/Extra/Database/index.js +0 -469
  108. package/Extra/ExtraAddons.js +0 -82
  109. package/Extra/ExtraFindUID.js +0 -62
  110. package/Extra/ExtraGetThread.js +0 -365
  111. package/Extra/ExtraScreenShot.js +0 -430
  112. package/Extra/ExtraUptimeRobot.js +0 -38
  113. package/Extra/Html/Classic/script.js +0 -119
  114. package/Extra/Html/Classic/style.css +0 -8
  115. package/Extra/Security/AES_256_GCM/index.js +0 -0
  116. package/Extra/Security/Base/Step_1.js +0 -6
  117. package/Extra/Security/Base/Step_2.js +0 -22
  118. package/Extra/Security/Base/Step_3.js +0 -22
  119. package/Extra/Security/Base/index.js +0 -191
  120. package/Extra/Security/Index.js +0 -5
  121. package/Extra/Security/Step_1.js +0 -6
  122. package/Extra/Security/Step_2.js +0 -22
  123. package/Extra/Security/Step_3.js +0 -22
  124. package/Extra/Src/Change_Environment.js +0 -24
  125. package/Extra/Src/Check_Update.js +0 -67
  126. package/Extra/Src/History.js +0 -115
  127. package/Extra/Src/Instant_Update.js +0 -65
  128. package/Extra/Src/Last-Run.js +0 -65
  129. package/Extra/Src/Premium.js +0 -81
  130. package/Extra/Src/Release_Memory.js +0 -160
  131. package/Extra/Src/Websocket.js +0 -213
  132. package/Extra/Src/image/checkmate.jpg +0 -0
  133. package/Extra/Src/test.js +0 -28
  134. package/Extra/Src/uuid.js +0 -137
  135. package/Func/AcceptAgreement.js +0 -31
  136. package/Func/ClearCache.js +0 -64
  137. package/Func/ReportV1.js +0 -54
  138. package/LICENSE +0 -678
  139. package/Language/index.json +0 -228
  140. package/Main.js +0 -1444
  141. package/SECURITY.md +0 -18
  142. package/broadcast.js +0 -44
  143. package/logger.js +0 -66
  144. package/src/Dev_Horizon_Data.js +0 -125
  145. package/src/Dev_getThreadInfoOLD.js +0 -422
  146. package/src/Dev_shareTest2.js +0 -68
  147. package/src/Dev_shareTest3.js +0 -71
  148. package/src/Premium.js +0 -25
  149. package/src/Screenshot.js +0 -83
  150. package/src/getAccessToken.js +0 -28
  151. package/src/getThreadInfoOLD.js +0 -422
  152. package/src/getThreadMain.js +0 -220
  153. package/src/getUserInfoMain.js +0 -65
  154. package/src/getUserInfoV2.js +0 -32
  155. package/src/getUserInfoV3.js +0 -63
  156. package/src/getUserInfoV4.js +0 -55
  157. package/src/getUserInfoV5.js +0 -61
  158. package/src/listenMqttV1.js +0 -846
  159. package/src/sendMqttMessage.js +0 -71
  160. package/src/unsendMqttMessage.js +0 -66
  161. package/test/Database_Test.js +0 -4
  162. package/test/Db2.js +0 -530
  163. package/test/Shankar_Database/A_README.md +0 -1
  164. package/test/Shankar_Database/Database.db +0 -0
  165. package/test/env/.env +0 -0
  166. package/test/example-db.db +0 -0
  167. package/test/memoryleak.js +0 -18
  168. package/test/testname.js +0 -1342
  169. package/test/testv2.js +0 -3
@@ -4,99 +4,109 @@
4
4
  * do not remove the author name to get more updates
5
5
  */
6
6
 
7
- "use strict";
7
+ "use strict";
8
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
- };
9
+ const utils = require("../utils");
10
+ const log = require("npmlog");
11
+
12
+ function formatData(resData) {
13
+ return {
14
+ viewer_feedback_reaction_info:
15
+ resData.feedback_react.feedback.viewer_feedback_reaction_info,
16
+ supported_reactions: resData.feedback_react.feedback.supported_reactions,
17
+ top_reactions: resData.feedback_react.feedback.top_reactions.edges,
18
+ reaction_count: resData.feedback_react.feedback.reaction_count,
19
+ };
20
+ }
21
+
22
+ module.exports = function (defaultFuncs, api, ctx) {
23
+ return function setPostReaction(postID, type, callback) {
24
+ let resolveFunc = function () {};
25
+ let rejectFunc = function () {};
26
+ const returnPromise = new Promise(function (resolve, reject) {
27
+ resolveFunc = resolve;
28
+ rejectFunc = reject;
29
+ });
30
+
31
+ if (!callback) {
32
+ if (
33
+ utils.getType(type) === "Function" ||
34
+ utils.getType(type) === "AsyncFunction"
35
+ ) {
36
+ callback = type;
37
+ type = 0;
38
+ } else {
39
+ callback = function (err, data) {
40
+ if (err) {
41
+ return rejectFunc(err);
42
+ }
43
+ resolveFunc(data);
44
+ };
45
+ }
46
+ }
47
+
48
+ const map = {
49
+ unlike: 0,
50
+ like: 1,
51
+ heart: 2,
52
+ love: 16,
53
+ haha: 4,
54
+ wow: 3,
55
+ sad: 7,
56
+ angry: 8,
57
+ };
58
+
59
+ if (utils.getType(type) !== "Number" && utils.getType(type) === "String") {
60
+ type = map[type.toLowerCase()];
61
+ }
62
+
63
+ if (utils.getType(type) !== "Number" && utils.getType(type) !== "String") {
64
+ throw {
65
+ error: "setPostReaction: Invalid reaction type",
66
+ };
67
+ }
68
+
69
+ if (type != 0 && !type) {
70
+ throw {
71
+ error: "setPostReaction: Invalid reaction type",
72
+ };
73
+ }
74
+
75
+ const form = {
76
+ av: ctx.i_userID || ctx.userID,
77
+ fb_api_caller_class: "RelayModern",
78
+ fb_api_req_friendly_name: "CometUFIFeedbackReactMutation",
79
+ doc_id: "4769042373179384",
80
+ variables: JSON.stringify({
81
+ input: {
82
+ actor_id: ctx.i_userID || ctx.userID,
83
+ feedback_id: new Buffer("feedback:" + postID).toString("base64"),
84
+ feedback_reaction: type,
85
+ feedback_source: "OBJECT",
86
+ is_tracking_encrypted: true,
87
+ tracking: [],
88
+ session_id: "f7dd50dd-db6e-4598-8cd9-561d5002b423",
89
+ client_mutation_id: Math.round(Math.random() * 19).toString(),
90
+ },
91
+ useDefaultActor: false,
92
+ scale: 3,
93
+ }),
94
+ };
95
+
96
+ defaultFuncs
97
+ .post("https://www.facebook.com/api/graphql/", ctx.jar, form)
98
+ .then(utils.parseAndCheckLogin(ctx, defaultFuncs))
99
+ .then(function (resData) {
100
+ if (resData.errors) {
101
+ throw resData;
102
+ }
103
+ return callback(null, formatData(resData.data));
104
+ })
105
+ .catch(function (err) {
106
+ log.error("setPostReaction", err);
107
+ return callback(err);
108
+ });
109
+
110
+ return returnPromise;
111
+ };
112
+ };
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ const utils = require("../utils");
4
+
5
+ // @NethWs3Dev
6
+ module.exports = (defaultFuncs, api, ctx) => {
7
+ return (guard, callback = () => {}) => {
8
+ if (utils.getType(guard) !== "Boolean") {
9
+ throw {
10
+ error: "Please pass a boolean as a second argument.",
11
+ };
12
+ }
13
+ const uid = ctx.userID || ctx.i_userID;
14
+ const form = {
15
+ av: uid,
16
+ variables: JSON.stringify({
17
+ input: {
18
+ is_shielded: guard ? true : false,
19
+ actor_id: uid,
20
+ client_mutation_id: "1"
21
+ },
22
+ scale: 1
23
+ }),
24
+ doc_id: "1477043292367183",
25
+ fb_api_req_friendly_name: "IsShieldedSetMutation",
26
+ fb_api_caller_class: "IsShieldedSetMutation"
27
+ }
28
+
29
+ return defaultFuncs
30
+ .post("https://www.facebook.com/api/graphql", ctx.jar, form)
31
+ .then(utils.parseAndCheckLogin(ctx, defaultFuncs))
32
+ .then((resData) => {
33
+ if (resData.err) {
34
+ throw {
35
+ err: resData.err
36
+ };
37
+ }
38
+ return callback();
39
+ })
40
+ .catch(err => {
41
+ console.error("setProfileGuard", err);
42
+ return callback(err);
43
+ });;
44
+ };
45
+ };
@@ -0,0 +1,64 @@
1
+ 'use strict';
2
+
3
+ var utils = require('../utils.js');
4
+ var log = require('npmlog');
5
+
6
+ module.exports = function(defaultFuncs, api, ctx) {
7
+ return function setStoryReaction(storyID, react, callback) {
8
+ var cb;
9
+ var returnPromise = new Promise(function(resolve, reject) {
10
+ cb = error => error ? reject(error) : resolve();
11
+ });
12
+
13
+ if (typeof react == 'function') {
14
+ callback = react;
15
+ react = 1;
16
+ }
17
+ if (typeof callback == 'function') cb = callback;
18
+ if (typeof Number(react) != 'number') react = 1;
19
+
20
+ var map = {
21
+ 1: '👍',
22
+ 2: '❤️',
23
+ 3: '🤗',
24
+ 4: '😆',
25
+ 5: '😮',
26
+ 6: '😢',
27
+ 7: '😡'
28
+ }
29
+ var form = {
30
+ fb_api_req_friendly_name: 'useStoriesSendReplyMutation',
31
+ variables: JSON.stringify({
32
+ input: {
33
+ attribution_id_v2: `StoriesCometSuspenseRoot.react,comet.stories.viewer,unexpected,${Date.now()},538296,,;CometHomeRoot.react,comet.home,via_cold_start,${Date.now()},850302,4748854339,`,
34
+ lightweight_reaction_actions: {
35
+ offsets: [0],
36
+ reaction: map[react] || map[1]
37
+ },
38
+ message: map[react] || map[1],
39
+ story_id: storyID,
40
+ story_reply_type: "LIGHT_WEIGHT",
41
+ actor_id: ctx.userID,
42
+ client_mutation_id: String(parseInt(Math.random() * 16))
43
+ }
44
+ }),
45
+ doc_id: '4826141330837571'
46
+ }
47
+
48
+ defaultFuncs
49
+ .post('https://www.facebook.com/api/graphql/', ctx.jar, form)
50
+ .then(utils.parseAndCheckLogin(ctx, defaultFuncs))
51
+ .then(function(res) {
52
+ if (res.errors) throw res;
53
+ return cb();
54
+ })
55
+ .catch(function(err) {
56
+ log.error('setPostReaction', err);
57
+ return cb(err);
58
+ });
59
+
60
+ return returnPromise;
61
+ }
62
+ }
63
+
64
+ //new update version 1.0.9
package/src/setTitle.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
- var utils = require("../utils");
4
- var log = require("npmlog");
3
+ const utils = require("../utils");
4
+ const log = require("npmlog");
5
5
 
6
6
  module.exports = function (defaultFuncs, api, ctx) {
7
7
  return function setTitle(newTitle, threadID, callback) {
@@ -9,28 +9,31 @@ module.exports = function (defaultFuncs, api, ctx) {
9
9
  !callback &&
10
10
  (utils.getType(threadID) === "Function" ||
11
11
  utils.getType(threadID) === "AsyncFunction")
12
- ) throw { error: "please pass a threadID as a second argument." };
13
-
12
+ ) {
13
+ throw { error: "please pass a threadID as a second argument." };
14
+ }
14
15
 
15
- var resolveFunc = function () { };
16
- var rejectFunc = function () { };
17
- var returnPromise = new Promise(function (resolve, reject) {
16
+ let resolveFunc = function () {};
17
+ let rejectFunc = function () {};
18
+ const returnPromise = new Promise(function (resolve, reject) {
18
19
  resolveFunc = resolve;
19
20
  rejectFunc = reject;
20
21
  });
21
22
 
22
23
  if (!callback) {
23
- callback = function (err, data) {
24
- if (err) return rejectFunc(err);
25
- resolveFunc(data);
24
+ callback = function (err, friendList) {
25
+ if (err) {
26
+ return rejectFunc(err);
27
+ }
28
+ resolveFunc(friendList);
26
29
  };
27
30
  }
28
31
 
29
- var messageAndOTID = utils.generateOfflineThreadingID();
30
- var form = {
32
+ const messageAndOTID = utils.generateOfflineThreadingID();
33
+ const form = {
31
34
  client: "mercury",
32
35
  action_type: "ma-type:log-message",
33
- author: "fbid:" + ctx.userID,
36
+ author: "fbid:" + (ctx.i_userID || ctx.userID),
34
37
  author_email: "",
35
38
  coordinates: "",
36
39
  timestamp: Date.now(),
@@ -52,16 +55,29 @@ module.exports = function (defaultFuncs, api, ctx) {
52
55
  thread_fbid: threadID,
53
56
  thread_name: newTitle,
54
57
  thread_id: threadID,
55
- log_message_type: "log:thread-name"
58
+ log_message_type: "log:thread-name",
56
59
  };
57
60
 
58
61
  defaultFuncs
59
- .post("https://www.facebook.com/messaging/set_thread_name/", ctx.jar, form)
62
+ .post(
63
+ "https://www.facebook.com/messaging/set_thread_name/",
64
+ ctx.jar,
65
+ form,
66
+ )
60
67
  .then(utils.parseAndCheckLogin(ctx, defaultFuncs))
61
68
  .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;
69
+ if (resData.error && resData.error === 1545012) {
70
+ throw { error: "Cannot change chat title: Not member of chat." };
71
+ }
72
+
73
+ if (resData.error && resData.error === 1545003) {
74
+ throw { error: "Cannot set title of single-user chat." };
75
+ }
76
+
77
+ if (resData.error) {
78
+ throw resData;
79
+ }
80
+
65
81
  return callback();
66
82
  })
67
83
  .catch(function (err) {
@@ -1,55 +1,110 @@
1
1
  /* eslint-disable linebreak-style */
2
2
  "use strict";
3
3
 
4
+ // fixed by kenneth panio
5
+
6
+ var utils = require("../utils");
7
+
8
+ module.exports = function(defaultFuncs, api, ctx) {
9
+ return function shareContact(text, senderID, threadID, callback) {
10
+ if (!ctx.mqttClient) {
11
+ throw new Error('Not connected to MQTT');
12
+ }
13
+
14
+ ctx.wsReqNumber ??= 0;
15
+ ctx.wsTaskNumber ??= 0;
16
+
17
+ ctx.wsReqNumber += 1;
18
+ ctx.wsTaskNumber += 1;
19
+
20
+ const queryPayload = {
21
+ contact_id: senderID,
22
+ sync_group: 1,
23
+ text: text || "",
24
+ thread_id: threadID
25
+ };
26
+
27
+ const query = {
28
+ failure_count: null,
29
+ label: '359',
30
+ payload: JSON.stringify(queryPayload),
31
+ queue_name: 'messenger_contact_sharing',//xma_open_contact_share
32
+ task_id: Math.random() * 1001 << 0,
33
+ };
34
+
35
+ const context = {
36
+ app_id: '2220391788200892',
37
+ payload: {
38
+ tasks: [query],
39
+ epoch_id: utils.generateOfflineThreadingID(),
40
+ version_id: '7214102258676893',
41
+ },
42
+ request_id: ctx.wsReqNumber,
43
+ type: 3,
44
+ };
45
+
46
+ context.payload = JSON.stringify(context.payload);
47
+
48
+ if (typeof callback === 'function') {
49
+ ctx.callback_Task[ctx.wsReqNumber] = { callback, type: "shareContact" };
50
+ }
51
+
52
+ ctx.mqttClient.publish('/ls_req', JSON.stringify(context), { qos: 1, retain: false });
53
+ };
54
+ };
55
+
56
+ /*"use strict";
57
+
58
+
4
59
  var utils = require("../utils");
5
60
 
61
+ var log = require("npmlog");
62
+
63
+
6
64
  module.exports = function (defaultFuncs, api, ctx) {
7
- return function shareContact(text, senderID, threadID, callback) {
65
+ return async function shareContact(text, senderID, threadID, callback) {
66
+ await utils.parseAndCheckLogin(ctx, defaultFuncs);
67
+ const mqttClient = ctx.mqttClient;
68
+
69
+ if (!mqttClient) {
70
+ throw new Error("Not connected to MQTT");
71
+ }
8
72
  var resolveFunc = function () { };
9
73
  var rejectFunc = function () { };
10
-
11
74
  var returnPromise = new Promise(function (resolve, reject) {
12
75
  resolveFunc = resolve;
13
76
  rejectFunc = reject;
14
77
  });
15
-
16
- if (!callback || utils.getType(callback) != "Function" && utils.getType(callback) != "AsyncFunction") {
78
+ if (!callback) {
17
79
  callback = function (err, data) {
18
80
  if (err) return rejectFunc(err);
19
81
  resolveFunc(data);
20
- };
82
+ data };
21
83
  }
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
- });
84
+ let count_req = 0
85
+ var form = JSON.stringify({
86
+ "app_id": "2220391788200892",
87
+ "payload": JSON.stringify({
88
+ tasks: [{
89
+ label: '359',
90
+ payload: JSON.stringify({
91
+ "contact_id": senderID,
92
+ "sync_group": 1,
93
+ "text": text || "",
94
+ "thread_id": threadID
95
+ }),
96
+ queue_name: 'messenger_contact_sharing',
97
+ task_id: Math.random() * 1001 << 0,
98
+ failure_count: null,
99
+ }],
100
+ epoch_id: utils.generateOfflineThreadingID(),
101
+ version_id: '7214102258676893',
102
+ }),
103
+ "request_id": ++count_req,
104
+ "type": 3
105
+ });
106
+ mqttClient.publish('/ls_req',form)
107
+
53
108
  return returnPromise;
54
109
  };
55
- };
110
+ };*/
package/src/shareLink.js CHANGED
@@ -1,3 +1,4 @@
1
+
1
2
  "use strict";
2
3
 
3
4
  var utils = require("../utils");
@@ -5,8 +6,8 @@ var log = require("npmlog");
5
6
 
6
7
  module.exports = function (defaultFuncs, api, ctx) {
7
8
  return async function shareLink(text, url, threadID, callback) {
8
- var resolveFunc = function () { };
9
- var rejectFunc = function () { };
9
+ var resolveFunc = function () {};
10
+ var rejectFunc = function () {};
10
11
  var returnPromise = new Promise(function (resolve, reject) {
11
12
  resolveFunc = resolve;
12
13
  rejectFunc = reject;
@@ -17,7 +18,7 @@ module.exports = function (defaultFuncs, api, ctx) {
17
18
  resolveFunc(data);
18
19
  };
19
20
  }
20
- mqttClient.publish('/ls_req',
21
+ ctx.mqttClient.publish('/ls_req',
21
22
  JSON.stringify({
22
23
  "app_id": "2220391788200892",
23
24
  "payload": JSON.stringify({
@@ -29,7 +30,7 @@ module.exports = function (defaultFuncs, api, ctx) {
29
30
  "sync_group": 1,
30
31
  "send_type": 6,
31
32
  "mark_thread_read": 0,
32
- "url": url || "https://www.facebook.com/Lazic.Kanzu",
33
+ "url": url || "https://www.facebook.com/haji.atomyc2727",
33
34
  "text": text || "",
34
35
  "thread_id": threadID,
35
36
  "initiating_source": 0
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ /*
4
+ @NethWs3Dev
5
+ */
6
+
7
+ // @NethWs3Dev
8
+
9
+ var log = require("npmlog");
10
+
11
+ module.exports = function (defaultFuncs, api, ctx){
12
+ return function stopListenMqtt() {
13
+ if (!ctx.mqttClient) {
14
+ throw new Error("Not connected to MQTT");
15
+ }
16
+ log.warn("stopListenMqtt", "Stopping...");
17
+ ctx.mqttClient.unsubscribe("/webrtc");
18
+ ctx.mqttClient.unsubscribe("/rtc_multi");
19
+ ctx.mqttClient.unsubscribe("/onevc");
20
+ ctx.mqttClient.publish("/browser_close", "{}");
21
+ ctx.mqttClient.end(false, (...data) => {
22
+ log.info("stopListenMqtt", "Stopped");
23
+ ctx.mqttClient = null;
24
+ });
25
+ }
26
+ };