@cexy/hoonfca 1.0.4 → 1.0.6

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/CHANGELOG.md +181 -0
  2. package/DOCS.md +2636 -0
  3. package/LICENSE-MIT +21 -21
  4. package/README.md +632 -0
  5. package/func/checkUpdate.js +231 -0
  6. package/func/logger.js +48 -0
  7. package/index.d.ts +731 -605
  8. package/index.js +6 -774
  9. package/module/config.js +67 -0
  10. package/module/login.js +154 -0
  11. package/module/loginHelper.js +1034 -0
  12. package/module/options.js +54 -0
  13. package/package.json +54 -19
  14. package/src/api/action/addExternalModule.js +25 -0
  15. package/src/api/action/changeAvatar.js +137 -0
  16. package/src/{changeBio.js → api/action/changeBio.js} +75 -76
  17. package/src/api/action/enableAutoSaveAppState.js +73 -0
  18. package/src/{getCurrentUserID.js → api/action/getCurrentUserID.js} +7 -7
  19. package/src/{handleFriendRequest.js → api/action/handleFriendRequest.js} +57 -57
  20. package/src/api/action/logout.js +76 -0
  21. package/src/api/action/refreshFb_dtsg.js +48 -0
  22. package/src/api/action/setPostReaction.js +106 -0
  23. package/src/api/action/unfriend.js +54 -0
  24. package/src/api/http/httpGet.js +46 -0
  25. package/src/api/http/httpPost.js +52 -0
  26. package/src/api/http/postFormData.js +47 -0
  27. package/src/api/messaging/addUserToGroup.js +68 -0
  28. package/src/api/messaging/changeAdminStatus.js +122 -0
  29. package/src/api/messaging/changeArchivedStatus.js +55 -0
  30. package/src/api/messaging/changeBlockedStatus.js +48 -0
  31. package/src/api/messaging/changeGroupImage.js +90 -0
  32. package/src/api/messaging/changeNickname.js +70 -0
  33. package/src/api/messaging/changeThreadColor.js +79 -0
  34. package/src/api/messaging/changeThreadEmoji.js +106 -0
  35. package/src/{createNewGroup.js → api/messaging/createNewGroup.js} +88 -88
  36. package/src/api/messaging/createPoll.js +43 -0
  37. package/src/api/messaging/createThemeAI.js +98 -0
  38. package/src/{deleteMessage.js → api/messaging/deleteMessage.js} +56 -56
  39. package/src/{deleteThread.js → api/messaging/deleteThread.js} +56 -56
  40. package/src/api/messaging/editMessage.js +68 -0
  41. package/src/api/messaging/forwardAttachment.js +51 -0
  42. package/src/{getEmojiUrl.js → api/messaging/getEmojiUrl.js} +8 -8
  43. package/src/{getFriendsList.js → api/messaging/getFriendsList.js} +82 -84
  44. package/src/api/messaging/getMessage.js +829 -0
  45. package/src/api/messaging/getThemePictures.js +62 -0
  46. package/src/api/messaging/handleMessageRequest.js +65 -0
  47. package/src/{markAsDelivered.js → api/messaging/markAsDelivered.js} +57 -58
  48. package/src/{markAsRead.js → api/messaging/markAsRead.js} +88 -88
  49. package/src/{markAsReadAll.js → api/messaging/markAsReadAll.js} +49 -50
  50. package/src/api/messaging/markAsSeen.js +61 -0
  51. package/src/{muteThread.js → api/messaging/muteThread.js} +50 -52
  52. package/src/api/messaging/removeUserFromGroup.js +106 -0
  53. package/src/{resolvePhotoUrl.js → api/messaging/resolvePhotoUrl.js} +43 -45
  54. package/src/api/messaging/scheduler.js +264 -0
  55. package/src/{searchForThread.js → api/messaging/searchForThread.js} +52 -53
  56. package/src/api/messaging/sendMessage.js +272 -0
  57. package/src/api/messaging/sendTypingIndicator.js +67 -0
  58. package/src/api/messaging/setMessageReaction.js +76 -0
  59. package/src/api/messaging/setTitle.js +119 -0
  60. package/src/{shareContact.js → api/messaging/shareContact.js} +49 -53
  61. package/src/api/messaging/threadColors.js +128 -0
  62. package/src/api/messaging/unsendMessage.js +81 -0
  63. package/src/api/messaging/uploadAttachment.js +94 -0
  64. package/src/api/socket/core/connectMqtt.js +255 -0
  65. package/src/api/socket/core/emitAuth.js +106 -0
  66. package/src/api/socket/core/getSeqID.js +40 -0
  67. package/src/api/socket/core/getTaskResponseData.js +22 -0
  68. package/src/api/socket/core/markDelivery.js +12 -0
  69. package/src/api/socket/core/parseDelta.js +391 -0
  70. package/src/api/socket/detail/buildStream.js +208 -0
  71. package/src/api/socket/detail/constants.js +24 -0
  72. package/src/api/socket/listenMqtt.js +364 -0
  73. package/src/api/socket/middleware/index.js +216 -0
  74. package/src/{getThreadHistory.js → api/threads/getThreadHistory.js} +664 -647
  75. package/src/api/threads/getThreadInfo.js +438 -0
  76. package/src/{getThreadList.js → api/threads/getThreadList.js} +293 -292
  77. package/src/{getThreadPictures.js → api/threads/getThreadPictures.js} +78 -79
  78. package/src/{getUserID.js → api/users/getUserID.js} +65 -66
  79. package/src/api/users/getUserInfo.js +327 -0
  80. package/src/api/users/getUserInfoV2.js +134 -0
  81. package/src/core/sendReqMqtt.js +96 -0
  82. package/src/database/models/index.js +87 -0
  83. package/src/database/models/thread.js +45 -0
  84. package/src/database/models/user.js +46 -0
  85. package/src/database/threadData.js +98 -0
  86. package/src/database/userData.js +89 -0
  87. package/src/utils/client.js +320 -0
  88. package/src/utils/constants.js +23 -0
  89. package/{utils.js → src/utils/format.js} +1115 -1447
  90. package/src/utils/headers.js +115 -0
  91. package/src/utils/request.js +305 -0
  92. package/.travis.yml +0 -6
  93. package/src/addExternalModule.js +0 -23
  94. package/src/addUserToGroup.js +0 -113
  95. package/src/changeAdminStatus.js +0 -95
  96. package/src/changeApprovalMode.js +0 -79
  97. package/src/changeArchivedStatus.js +0 -55
  98. package/src/changeBlockedStatus.js +0 -47
  99. package/src/changeBlockedStatusMqtt.js +0 -86
  100. package/src/changeGroupImage.js +0 -133
  101. package/src/changeNickname.js +0 -59
  102. package/src/changeThreadColor.js +0 -71
  103. package/src/changeThreadEmoji.js +0 -55
  104. package/src/createPoll.js +0 -130
  105. package/src/editMessage.js +0 -63
  106. package/src/forwardAttachment.js +0 -60
  107. package/src/forwardMessage.js +0 -63
  108. package/src/getGroupsList.js +0 -83
  109. package/src/getMarketplace.js +0 -84
  110. package/src/getNotifications.js +0 -86
  111. package/src/getPagesList.js +0 -83
  112. package/src/getStories.js +0 -88
  113. package/src/getThreadInfo.js +0 -222
  114. package/src/getUserInfo.js +0 -128
  115. package/src/handleMessageRequest.js +0 -65
  116. package/src/httpGet.js +0 -58
  117. package/src/httpPost.js +0 -58
  118. package/src/listenMqtt.js +0 -1018
  119. package/src/logout.js +0 -75
  120. package/src/markAsSeen.js +0 -61
  121. package/src/pinMessage.js +0 -61
  122. package/src/removeUserFromGroup.js +0 -79
  123. package/src/searchUsers.js +0 -89
  124. package/src/sendComment.js +0 -161
  125. package/src/sendMessage.js +0 -457
  126. package/src/sendTypingIndicator.js +0 -179
  127. package/src/setBio.js +0 -86
  128. package/src/setMessageReaction.js +0 -186
  129. package/src/setPostReaction.js +0 -71
  130. package/src/setTheme.js +0 -313
  131. package/src/setTitle.js +0 -90
  132. package/src/shareLink.js +0 -62
  133. package/src/threadColors.js +0 -57
  134. package/src/unfriend.js +0 -53
  135. package/src/unsendMessage.js +0 -104
package/src/getStories.js DELETED
@@ -1,88 +0,0 @@
1
- "use strict";
2
-
3
- var utils = require("../utils");
4
- var log = require("npmlog");
5
-
6
- module.exports = function (defaultFuncs, api, ctx) {
7
- /**
8
- * Get stories from friends
9
- * @param {number} limit - Number of stories to fetch
10
- * @param {function} callback - Callback function
11
- */
12
- return function getStories(limit, callback) {
13
- var resolveFunc = function () {};
14
- var rejectFunc = function () {};
15
- var returnPromise = new Promise(function (resolve, reject) {
16
- resolveFunc = resolve;
17
- rejectFunc = reject;
18
- });
19
-
20
- if (!callback) {
21
- if (utils.getType(limit) == "Function") {
22
- callback = limit;
23
- limit = 20;
24
- } else {
25
- callback = function (err, data) {
26
- if (err) {
27
- return rejectFunc(err);
28
- }
29
- resolveFunc(data);
30
- };
31
- }
32
- }
33
-
34
- if (utils.getType(limit) != "Number") {
35
- limit = 20;
36
- }
37
-
38
- var form = {
39
- av: ctx.userID,
40
- fb_api_caller_class: "RelayModern",
41
- fb_api_req_friendly_name: "StoriesQuery",
42
- doc_id: "8768858626531631",
43
- variables: JSON.stringify({
44
- first: limit,
45
- }),
46
- };
47
-
48
- defaultFuncs
49
- .post("https://www.facebook.com/api/graphql/", ctx.jar, form)
50
- .then(utils.parseAndCheckLogin(ctx, defaultFuncs))
51
- .then(function (resData) {
52
- if (resData.errors) {
53
- throw resData;
54
- }
55
-
56
- var stories = [];
57
- if (
58
- resData.data &&
59
- resData.data.viewer &&
60
- resData.data.viewer.stories &&
61
- resData.data.viewer.stories.edges
62
- ) {
63
- stories = resData.data.viewer.stories.edges.map(function (edge) {
64
- return {
65
- id: edge.node.id,
66
- owner: edge.node.owner
67
- ? {
68
- id: edge.node.owner.id,
69
- name: edge.node.owner.name,
70
- }
71
- : null,
72
- timestamp: edge.node.created_time,
73
- url: edge.node.url,
74
- };
75
- });
76
- }
77
-
78
- log.info("getStories", "Fetched " + stories.length + " stories");
79
- return callback(null, stories);
80
- })
81
- .catch(function (err) {
82
- log.error("getStories", err);
83
- return callback(err);
84
- });
85
-
86
- return returnPromise;
87
- };
88
- };
@@ -1,222 +0,0 @@
1
- "use strict";
2
-
3
- var utils = require("../utils");
4
- var log = require("npmlog");
5
-
6
- function formatEventReminders(reminder) {
7
- return {
8
- reminderID: reminder.id,
9
- eventCreatorID: reminder.lightweight_event_creator.id,
10
- time: reminder.time,
11
- eventType: reminder.lightweight_event_type.toLowerCase(),
12
- locationName: reminder.location_name,
13
- // @TODO verify this
14
- locationCoordinates: reminder.location_coordinates,
15
- locationPage: reminder.location_page,
16
- eventStatus: reminder.lightweight_event_status.toLowerCase(),
17
- note: reminder.note,
18
- repeatMode: reminder.repeat_mode.toLowerCase(),
19
- eventTitle: reminder.event_title,
20
- triggerMessage: reminder.trigger_message,
21
- secondsToNotifyBefore: reminder.seconds_to_notify_before,
22
- allowsRsvp: reminder.allows_rsvp,
23
- relatedEvent: reminder.related_event,
24
- members: reminder.event_reminder_members.edges.map(function (member) {
25
- return {
26
- memberID: member.node.id,
27
- state: member.guest_list_state.toLowerCase(),
28
- };
29
- }),
30
- };
31
- }
32
-
33
- function formatThreadGraphQLResponse(data) {
34
- var messageThread = data.o0.data.message_thread;
35
- var threadID = messageThread.thread_key.thread_fbid
36
- ? messageThread.thread_key.thread_fbid
37
- : messageThread.thread_key.other_user_id;
38
-
39
- // Remove me
40
- var lastM = messageThread.last_message;
41
- var snippetID =
42
- lastM &&
43
- lastM.nodes &&
44
- lastM.nodes[0] &&
45
- lastM.nodes[0].message_sender &&
46
- lastM.nodes[0].message_sender.messaging_actor
47
- ? lastM.nodes[0].message_sender.messaging_actor.id
48
- : null;
49
- var snippetText =
50
- lastM && lastM.nodes && lastM.nodes[0] ? lastM.nodes[0].snippet : null;
51
- var lastR = messageThread.last_read_receipt;
52
- var lastReadTimestamp =
53
- lastR && lastR.nodes && lastR.nodes[0] && lastR.nodes[0].timestamp_precise
54
- ? lastR.nodes[0].timestamp_precise
55
- : null;
56
-
57
- return {
58
- threadID: threadID,
59
- threadName: messageThread.name,
60
- participantIDs: messageThread.all_participants.edges.map(
61
- (d) => d.node.messaging_actor.id,
62
- ),
63
- userInfo: messageThread.all_participants.edges.map((d) => ({
64
- id: d.node.messaging_actor.id,
65
- name: d.node.messaging_actor.name,
66
- firstName: d.node.messaging_actor.short_name,
67
- vanity: d.node.messaging_actor.username,
68
- thumbSrc: d.node.messaging_actor.big_image_src.uri,
69
- profileUrl: d.node.messaging_actor.url,
70
- gender: d.node.messaging_actor.gender,
71
- type: d.node.messaging_actor.__typename,
72
- isFriend: d.node.messaging_actor.is_viewer_friend,
73
- isBirthday: !!d.node.messaging_actor.is_birthday, //not sure?
74
- })),
75
- unreadCount: messageThread.unread_count,
76
- messageCount: messageThread.messages_count,
77
- timestamp: messageThread.updated_time_precise,
78
- muteUntil: messageThread.mute_until,
79
- isGroup: messageThread.thread_type == "GROUP",
80
- isSubscribed: messageThread.is_viewer_subscribed,
81
- isArchived: messageThread.has_viewer_archived,
82
- folder: messageThread.folder,
83
- cannotReplyReason: messageThread.cannot_reply_reason,
84
- eventReminders: messageThread.event_reminders
85
- ? messageThread.event_reminders.nodes.map(formatEventReminders)
86
- : null,
87
- emoji: messageThread.customization_info
88
- ? messageThread.customization_info.emoji
89
- : null,
90
- color:
91
- messageThread.customization_info &&
92
- messageThread.customization_info.outgoing_bubble_color
93
- ? messageThread.customization_info.outgoing_bubble_color.slice(2)
94
- : null,
95
- nicknames:
96
- messageThread.customization_info &&
97
- messageThread.customization_info.participant_customizations
98
- ? messageThread.customization_info.participant_customizations.reduce(
99
- function (res, val) {
100
- if (val.nickname) res[val.participant_id] = val.nickname;
101
- return res;
102
- },
103
- {},
104
- )
105
- : {},
106
- adminIDs: messageThread.thread_admins.map((el) => el.id),
107
- approvalMode: Boolean(messageThread.approval_mode),
108
- approvalQueue: messageThread.group_approval_queue.nodes.map((a) => ({
109
- inviterID: a.inviter.id,
110
- requesterID: a.requester.id,
111
- timestamp: a.request_timestamp,
112
- request_source: a.request_source, // @Undocumented
113
- })),
114
-
115
- // @Undocumented
116
- reactionsMuteMode: messageThread.reactions_mute_mode.toLowerCase(),
117
- mentionsMuteMode: messageThread.mentions_mute_mode.toLowerCase(),
118
- isPinProtected: messageThread.is_pin_protected,
119
- relatedPageThread: messageThread.related_page_thread,
120
-
121
- // @Legacy
122
- name: messageThread.name,
123
- snippet: snippetText,
124
- snippetSender: snippetID,
125
- snippetAttachments: [],
126
- serverTimestamp: messageThread.updated_time_precise,
127
- imageSrc: messageThread.image ? messageThread.image.uri : null,
128
- isCanonicalUser: messageThread.is_canonical_neo_user,
129
- isCanonical: messageThread.thread_type != "GROUP",
130
- recipientsLoadable: true,
131
- hasEmailParticipant: false,
132
- readOnly: false,
133
- canReply: messageThread.cannot_reply_reason == null,
134
- lastMessageTimestamp: messageThread.last_message
135
- ? messageThread.last_message.timestamp_precise
136
- : null,
137
- lastMessageType: "message",
138
- lastReadTimestamp: lastReadTimestamp,
139
- threadType: messageThread.thread_type == "GROUP" ? 2 : 1,
140
- };
141
- }
142
-
143
- module.exports = function (defaultFuncs, api, ctx) {
144
- return function getThreadInfoGraphQL(threadID, callback, no_cache) {
145
- var resolveFunc = function () {};
146
- var rejectFunc = function () {};
147
- var returnPromise = new Promise(function (resolve, reject) {
148
- resolveFunc = resolve;
149
- rejectFunc = reject;
150
- });
151
-
152
- if (!no_cache && typeof callback == "boolean") no_cache = callback;
153
- if (
154
- utils.getType(callback) != "Function" &&
155
- utils.getType(callback) != "AsyncFunction"
156
- ) {
157
- callback = function (err, data) {
158
- if (err) {
159
- return rejectFunc(err);
160
- }
161
- resolveFunc(data);
162
- };
163
- }
164
-
165
- const cache = utils.groupsCache.findOneById(`${threadID}`);
166
-
167
- if (!no_cache && cache) {
168
- callback(null, cache);
169
- return returnPromise;
170
- } else {
171
- // `queries` has to be a string. I couldn't tell from the dev console. This
172
- // took me a really long time to figure out. I deserve a cookie for this.
173
- var form = {
174
- queries: JSON.stringify({
175
- o0: {
176
- // This doc_id is valid as of July 20th, 2020
177
- doc_id: "3449967031715030",
178
- query_params: {
179
- id: threadID,
180
- message_limit: 0,
181
- load_messages: false,
182
- load_read_receipts: false,
183
- before: null,
184
- },
185
- },
186
- }),
187
- batch_name: "MessengerGraphQLThreadFetcher",
188
- };
189
-
190
- defaultFuncs
191
- .post("https://www.facebook.com/api/graphqlbatch/", ctx.jar, form)
192
- .then(utils.parseAndCheckLogin(ctx, defaultFuncs))
193
- .then(function (resData) {
194
- if (resData.error) {
195
- throw resData;
196
- }
197
- // This returns us an array of things. The last one is the success /
198
- // failure one.
199
- // @TODO What do we do in this case?
200
- if (resData[resData.length - 1].error_results !== 0) {
201
- throw new Error("well darn there was an error_result");
202
- }
203
-
204
- let data = formatThreadGraphQLResponse(resData[0]);
205
- data._id = threadID;
206
-
207
- utils.groupsCache.addOne(data);
208
- setInterval(
209
- () => utils.groupsCache.deleteOneUsingId(`${threadID}`),
210
- ctx.globalOptions.cacheTime,
211
- );
212
- callback(null, data);
213
- })
214
- .catch(function (err) {
215
- log.error("getThreadInfoGraphQL", err);
216
- return callback(err);
217
- });
218
-
219
- return returnPromise;
220
- }
221
- };
222
- };
@@ -1,128 +0,0 @@
1
- "use strict";
2
-
3
- var utils = require("../utils");
4
- var log = require("npmlog");
5
-
6
- function formatData(ctx, data) {
7
- var retObj = {};
8
-
9
- for (var prop in data) {
10
- // eslint-disable-next-line no-prototype-builtins
11
- if (data.hasOwnProperty(prop)) {
12
- var innerObj = data[prop];
13
- let udata = {
14
- _id: prop,
15
- name: innerObj.name,
16
- firstName: innerObj.firstName,
17
- vanity: innerObj.vanity,
18
- thumbSrc: innerObj.thumbSrc,
19
- profileUrl: innerObj.uri,
20
- gender: innerObj.gender,
21
- type: innerObj.type,
22
- isFriend: innerObj.is_friend,
23
- isBirthday: !!innerObj.is_birthday,
24
- };
25
- utils.usersCache.addOne(udata);
26
- setInterval(
27
- () => utils.usersCache.deleteOneUsingId(`${prop}`),
28
- ctx.globalOptions.cacheTime,
29
- );
30
- retObj[prop] = udata;
31
- }
32
- }
33
-
34
- return retObj;
35
- }
36
-
37
- module.exports = function (defaultFuncs, api, ctx) {
38
- return function getUserInfo(id, callback, no_cache) {
39
- if (utils.getType(id) !== "Array") {
40
- id = [id];
41
- }
42
-
43
- var resolveFunc = function () {};
44
- var rejectFunc = function () {};
45
- var returnPromise = new Promise(function (resolve, reject) {
46
- resolveFunc = resolve;
47
- rejectFunc = reject;
48
- });
49
-
50
- if (!no_cache && typeof callback == "boolean") no_cache = callback;
51
- if (!callback || (callback && typeof callback != "function")) {
52
- callback = function (err, friendList) {
53
- if (err) {
54
- return rejectFunc(err);
55
- }
56
- resolveFunc(friendList);
57
- };
58
- }
59
-
60
- if (!no_cache) {
61
- let dataCache = [];
62
- let noCache = [];
63
-
64
- for (let uid of id) {
65
- const cache = utils.usersCache.findOneById(`${uid}`);
66
- if (!cache) {
67
- noCache.push(uid);
68
- continue;
69
- }
70
- dataCache.push(cache);
71
- }
72
-
73
- if (noCache.length != 0) {
74
- var form = {};
75
- noCache.map(function (v, i) {
76
- form["ids[" + i + "]"] = v;
77
- });
78
- defaultFuncs
79
- .post("https://www.facebook.com/chat/user_info/", ctx.jar, form)
80
- .then(utils.parseAndCheckLogin(ctx, defaultFuncs))
81
- .then(function (resData) {
82
- if (resData.error) {
83
- throw resData;
84
- }
85
- let data = formatData(ctx, resData.payload.profiles);
86
- for (let cdata of dataCache) {
87
- data[cdata._id] = cdata;
88
- }
89
- return callback(null, data);
90
- })
91
- .catch(function (err) {
92
- log.error("getUserInfo", err);
93
- return callback(err);
94
- });
95
-
96
- return returnPromise;
97
- } else {
98
- let data = {};
99
- for (let cdata of dataCache) {
100
- data[cdata._id] = cdata;
101
- }
102
- callback(null, data);
103
- return returnPromise;
104
- }
105
- } else {
106
- var form = {};
107
- id.map(function (v, i) {
108
- form["ids[" + i + "]"] = v;
109
- });
110
- console.log(form);
111
- defaultFuncs
112
- .post("https://www.facebook.com/chat/user_info/", ctx.jar, form)
113
- .then(utils.parseAndCheckLogin(ctx, defaultFuncs))
114
- .then(function (resData) {
115
- if (resData.error) {
116
- throw resData;
117
- }
118
- return callback(null, formatData(resData.payload.profiles));
119
- })
120
- .catch(function (err) {
121
- log.error("getUserInfo", err);
122
- return callback(err);
123
- });
124
-
125
- return returnPromise;
126
- }
127
- };
128
- };
@@ -1,65 +0,0 @@
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 handleMessageRequest(threadID, accept, callback) {
8
- if (utils.getType(accept) !== "Boolean") {
9
- throw {
10
- error: "Please pass a boolean as a second argument.",
11
- };
12
- }
13
-
14
- var resolveFunc = function () {};
15
- var rejectFunc = function () {};
16
- var returnPromise = new Promise(function (resolve, reject) {
17
- resolveFunc = resolve;
18
- rejectFunc = reject;
19
- });
20
-
21
- if (!callback) {
22
- callback = function (err, friendList) {
23
- if (err) {
24
- return rejectFunc(err);
25
- }
26
- resolveFunc(friendList);
27
- };
28
- }
29
-
30
- var form = {
31
- client: "mercury",
32
- };
33
-
34
- if (utils.getType(threadID) !== "Array") {
35
- threadID = [threadID];
36
- }
37
-
38
- var messageBox = accept ? "inbox" : "other";
39
-
40
- for (var i = 0; i < threadID.length; i++) {
41
- form[messageBox + "[" + i + "]"] = threadID[i];
42
- }
43
-
44
- defaultFuncs
45
- .post(
46
- "https://www.facebook.com/ajax/mercury/move_thread.php",
47
- ctx.jar,
48
- form,
49
- )
50
- .then(utils.parseAndCheckLogin(ctx, defaultFuncs))
51
- .then(function (resData) {
52
- if (resData.error) {
53
- throw resData;
54
- }
55
-
56
- return callback();
57
- })
58
- .catch(function (err) {
59
- log.error("handleMessageRequest", err);
60
- return callback(err);
61
- });
62
-
63
- return returnPromise;
64
- };
65
- };
package/src/httpGet.js DELETED
@@ -1,58 +0,0 @@
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 httpGet(url, form, callback, notAPI) {
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 (
17
- !callback &&
18
- (utils.getType(form) == "Function" ||
19
- utils.getType(form) == "AsyncFunction")
20
- ) {
21
- callback = form;
22
- form = {};
23
- }
24
-
25
- form = form || {};
26
-
27
- callback =
28
- callback ||
29
- function (err, data) {
30
- if (err) return rejectFunc(err);
31
- resolveFunc(data);
32
- };
33
-
34
- if (notAPI) {
35
- utils
36
- .get(url, ctx.jar, form, ctx.globalOptions)
37
- .then(function (resData) {
38
- callback(null, resData.body.toString());
39
- })
40
- .catch(function (err) {
41
- log.error("httpGet", err);
42
- return callback(err);
43
- });
44
- } else {
45
- defaultFuncs
46
- .get(url, ctx.jar, form)
47
- .then(function (resData) {
48
- callback(null, resData.body.toString());
49
- })
50
- .catch(function (err) {
51
- log.error("httpGet", err);
52
- return callback(err);
53
- });
54
- }
55
-
56
- return returnPromise;
57
- };
58
- };
package/src/httpPost.js DELETED
@@ -1,58 +0,0 @@
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 httpGet(url, form, callback, notAPI) {
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 (
17
- !callback &&
18
- (utils.getType(form) == "Function" ||
19
- utils.getType(form) == "AsyncFunction")
20
- ) {
21
- callback = form;
22
- form = {};
23
- }
24
-
25
- form = form || {};
26
-
27
- callback =
28
- callback ||
29
- function (err, data) {
30
- if (err) return rejectFunc(err);
31
- resolveFunc(data);
32
- };
33
-
34
- if (notAPI) {
35
- utils
36
- .post(url, ctx.jar, form, ctx.globalOptions)
37
- .then(function (resData) {
38
- callback(null, resData.body.toString());
39
- })
40
- .catch(function (err) {
41
- log.error("httpPost", err);
42
- return callback(err);
43
- });
44
- } else {
45
- defaultFuncs
46
- .post(url, ctx.jar, form, {})
47
- .then(function (resData) {
48
- callback(null, resData.body.toString());
49
- })
50
- .catch(function (err) {
51
- log.error("httpPost", err);
52
- return callback(err);
53
- });
54
- }
55
-
56
- return returnPromise;
57
- };
58
- };