@cexy/hoonfca 1.0.0 → 1.0.1

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 (188) hide show
  1. package/LICENSE +3 -0
  2. package/README.md +451 -43
  3. package/examples/login-with-cookies.js +102 -0
  4. package/examples/verify.js +70 -0
  5. package/index.js +1 -466
  6. package/package.json +98 -6
  7. package/src/apis/addExternalModule.js +24 -0
  8. package/src/apis/addUserToGroup.js +108 -0
  9. package/src/apis/changeAdminStatus.js +148 -0
  10. package/src/apis/changeArchivedStatus.js +61 -0
  11. package/src/apis/changeAvatar.js +103 -0
  12. package/src/apis/changeBio.js +69 -0
  13. package/src/apis/changeBlockedStatus.js +54 -0
  14. package/src/apis/changeGroupImage.js +136 -0
  15. package/src/apis/changeThreadColor.js +116 -0
  16. package/src/{changeThreadEmoji.js → apis/changeThreadEmoji.js} +7 -8
  17. package/src/apis/comment.js +207 -0
  18. package/src/apis/createAITheme.js +129 -0
  19. package/src/apis/createNewGroup.js +79 -0
  20. package/src/apis/createPoll.js +73 -0
  21. package/src/apis/deleteMessage.js +44 -0
  22. package/src/apis/deleteThread.js +52 -0
  23. package/src/apis/e2ee.js +17 -0
  24. package/src/apis/editMessage.js +70 -0
  25. package/src/apis/emoji.js +124 -0
  26. package/src/apis/fetchThemeData.js +82 -0
  27. package/src/apis/follow.js +81 -0
  28. package/src/apis/forwardMessage.js +52 -0
  29. package/src/apis/friend.js +243 -0
  30. package/src/apis/gcmember.js +122 -0
  31. package/src/apis/gcname.js +123 -0
  32. package/src/apis/gcrule.js +119 -0
  33. package/src/apis/getAccess.js +111 -0
  34. package/src/apis/getBotInfo.js +88 -0
  35. package/src/apis/getBotInitialData.js +43 -0
  36. package/src/apis/getFriendsList.js +79 -0
  37. package/src/apis/getMessage.js +423 -0
  38. package/src/apis/getTheme.js +95 -0
  39. package/src/apis/getThemeInfo.js +116 -0
  40. package/src/apis/getThreadHistory.js +239 -0
  41. package/src/apis/getThreadInfo.js +267 -0
  42. package/src/apis/getThreadList.js +232 -0
  43. package/src/apis/getThreadPictures.js +58 -0
  44. package/src/apis/getUserID.js +117 -0
  45. package/src/apis/getUserInfo.js +513 -0
  46. package/src/apis/getUserInfoV2.js +146 -0
  47. package/src/apis/handleMessageRequest.js +50 -0
  48. package/src/apis/httpGet.js +63 -0
  49. package/src/apis/httpPost.js +89 -0
  50. package/src/apis/httpPostFormData.js +69 -0
  51. package/src/apis/listenMqtt.js +1236 -0
  52. package/src/apis/listenSpeed.js +179 -0
  53. package/src/apis/logout.js +87 -0
  54. package/src/apis/markAsDelivered.js +47 -0
  55. package/src/apis/markAsRead.js +99 -0
  56. package/src/apis/markAsReadAll.js +40 -0
  57. package/src/apis/markAsSeen.js +70 -0
  58. package/src/apis/mqttDeltaValue.js +278 -0
  59. package/src/apis/muteThread.js +45 -0
  60. package/src/apis/nickname.js +132 -0
  61. package/src/apis/notes.js +163 -0
  62. package/src/apis/pinMessage.js +150 -0
  63. package/src/apis/produceMetaTheme.js +180 -0
  64. package/src/apis/realtime.js +182 -0
  65. package/src/apis/removeUserFromGroup.js +117 -0
  66. package/src/apis/resolvePhotoUrl.js +58 -0
  67. package/src/apis/searchForThread.js +154 -0
  68. package/src/apis/sendMessage.js +354 -0
  69. package/src/apis/sendMessageMqtt.js +249 -0
  70. package/src/apis/sendTypingIndicator.js +91 -0
  71. package/src/apis/setMessageReaction.js +27 -0
  72. package/src/apis/setMessageReactionMqtt.js +61 -0
  73. package/src/apis/setThreadTheme.js +260 -0
  74. package/src/apis/setThreadThemeMqtt.js +94 -0
  75. package/src/apis/share.js +107 -0
  76. package/src/apis/shareContact.js +66 -0
  77. package/src/apis/stickers.js +257 -0
  78. package/src/apis/story.js +181 -0
  79. package/src/apis/theme.js +233 -0
  80. package/src/apis/unfriend.js +47 -0
  81. package/src/apis/unsendMessage.js +17 -0
  82. package/src/engine/client.js +92 -0
  83. package/src/engine/models/buildAPI.js +152 -0
  84. package/src/engine/models/loginHelper.js +519 -0
  85. package/src/engine/models/setOptions.js +88 -0
  86. package/src/security/e2ee.js +109 -0
  87. package/src/types/index.d.ts +498 -0
  88. package/src/utils/antiSuspension.js +506 -0
  89. package/src/utils/auth-helpers.js +149 -0
  90. package/src/utils/autoReLogin.js +336 -0
  91. package/src/utils/axios.js +436 -0
  92. package/src/utils/cache.js +54 -0
  93. package/src/utils/clients.js +282 -0
  94. package/src/utils/constants.js +410 -0
  95. package/src/utils/formatters/data/formatAttachment.js +370 -0
  96. package/src/utils/formatters/data/formatDelta.js +109 -0
  97. package/src/utils/formatters/index.js +159 -0
  98. package/src/utils/formatters/value/formatCookie.js +91 -0
  99. package/src/utils/formatters/value/formatDate.js +36 -0
  100. package/src/utils/formatters/value/formatID.js +16 -0
  101. package/src/utils/formatters.js +1373 -0
  102. package/src/utils/headers.js +230 -0
  103. package/src/utils/index.js +153 -0
  104. package/src/utils/monitoring.js +333 -0
  105. package/src/utils/rateLimiter.js +319 -0
  106. package/src/utils/tokenRefresh.js +657 -0
  107. package/src/utils/user-agents.js +238 -0
  108. package/src/utils/validation.js +157 -0
  109. package/replit.nix +0 -3
  110. package/src/addExternalModule.js +0 -25
  111. package/src/addUserToGroup.js +0 -98
  112. package/src/changeAdminStatus.js +0 -98
  113. package/src/changeArchivedStatus.js +0 -51
  114. package/src/changeAvatar.js +0 -89
  115. package/src/changeBio.js +0 -74
  116. package/src/changeBlockedStatus.js +0 -45
  117. package/src/changeBlockedStatusMqtt.js +0 -65
  118. package/src/changeCover.js +0 -92
  119. package/src/changeGroupImage.js +0 -110
  120. package/src/changeName.js +0 -106
  121. package/src/changeNickname.js +0 -58
  122. package/src/changeThreadColor.js +0 -62
  123. package/src/changeUsername.js +0 -80
  124. package/src/createCommentPost.js +0 -196
  125. package/src/createNewGroup.js +0 -81
  126. package/src/createPoll.js +0 -64
  127. package/src/createPost.js +0 -285
  128. package/src/data/getThreadInfo.json +0 -1
  129. package/src/deleteMessage.js +0 -55
  130. package/src/deleteThread.js +0 -55
  131. package/src/editMessage.js +0 -66
  132. package/src/follow.js +0 -71
  133. package/src/forwardAttachment.js +0 -57
  134. package/src/getAccess.js +0 -130
  135. package/src/getAvatarUser.js +0 -88
  136. package/src/getBotInitialData.js +0 -59
  137. package/src/getCtx.js +0 -5
  138. package/src/getCurrentUserID.js +0 -5
  139. package/src/getEmojiUrl.js +0 -18
  140. package/src/getFriendsList.js +0 -81
  141. package/src/getMessage.js +0 -827
  142. package/src/getOptions.js +0 -5
  143. package/src/getRegion.js +0 -7
  144. package/src/getThreadHistory.js +0 -496
  145. package/src/getThreadHistoryDeprecated.js +0 -95
  146. package/src/getThreadInfo.js +0 -194
  147. package/src/getThreadInfoDeprecated.js +0 -77
  148. package/src/getThreadList.js +0 -219
  149. package/src/getThreadListDeprecated.js +0 -86
  150. package/src/getThreadPictures.js +0 -85
  151. package/src/getUserID.js +0 -67
  152. package/src/getUserInfo.js +0 -89
  153. package/src/handleFriendRequest.js +0 -56
  154. package/src/handleMessageRequest.js +0 -65
  155. package/src/httpGet.js +0 -53
  156. package/src/httpPost.js +0 -53
  157. package/src/httpPostFormData.js +0 -58
  158. package/src/listenMqtt.js +0 -683
  159. package/src/listenNotification.js +0 -96
  160. package/src/logout.js +0 -77
  161. package/src/markAsDelivered.js +0 -53
  162. package/src/markAsRead.js +0 -74
  163. package/src/markAsReadAll.js +0 -46
  164. package/src/markAsSeen.js +0 -57
  165. package/src/muteThread.js +0 -49
  166. package/src/pinMessage.js +0 -60
  167. package/src/refreshFb_dtsg.js +0 -75
  168. package/src/removeUserFromGroup.js +0 -59
  169. package/src/resolvePhotoUrl.js +0 -47
  170. package/src/searchForThread.js +0 -55
  171. package/src/searchStickers.js +0 -59
  172. package/src/sendMessage.js +0 -444
  173. package/src/sendMessageMqtt.js +0 -326
  174. package/src/sendTypingIndicator.js +0 -54
  175. package/src/setMessageReaction.js +0 -126
  176. package/src/setMessageReactionMqtt.js +0 -74
  177. package/src/setPostReaction.js +0 -103
  178. package/src/setProfileGuard.js +0 -66
  179. package/src/setStoryReaction.js +0 -97
  180. package/src/setTitle.js +0 -100
  181. package/src/shareContact.js +0 -101
  182. package/src/shareLink.js +0 -105
  183. package/src/stopListenMqtt.js +0 -47
  184. package/src/threadColors.js +0 -119
  185. package/src/unfriend.js +0 -58
  186. package/src/unsendMessage.js +0 -51
  187. package/src/uploadAttachment.js +0 -98
  188. package/utils.js +0 -919
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+
3
+ const utils = require('../utils');
4
+
5
+ module.exports = function (defaultFuncs, api, ctx) {
6
+ return function httpGet(url, form, customHeader, callback, notAPI) {
7
+ let resolveFunc = function () {};
8
+ let rejectFunc = function () {};
9
+
10
+ const returnPromise = new Promise(function (resolve, reject) {
11
+ resolveFunc = resolve;
12
+ rejectFunc = reject;
13
+ });
14
+
15
+ if (
16
+ utils.getType(form) == "Function" ||
17
+ utils.getType(form) == "AsyncFunction"
18
+ ) {
19
+ callback = form;
20
+ form = {};
21
+ }
22
+
23
+ if (
24
+ utils.getType(customHeader) == "Function" ||
25
+ utils.getType(customHeader) == "AsyncFunction"
26
+ ) {
27
+ callback = customHeader;
28
+ customHeader = {};
29
+ }
30
+
31
+ customHeader = customHeader || {};
32
+
33
+ callback =
34
+ callback ||
35
+ function (err, data) {
36
+ if (err) return rejectFunc(err);
37
+ resolveFunc(data);
38
+ };
39
+
40
+ if (notAPI) {
41
+ utils
42
+ .get(url, ctx.jar, form, ctx.globalOptions, ctx, customHeader)
43
+ .then(function (resData) {
44
+ callback(null, resData.body.toString());
45
+ })
46
+ .catch(function (err) {
47
+ utils.error("httpGet", err);
48
+ return callback(err);
49
+ });
50
+ } else {
51
+ defaultFuncs
52
+ .get(url, ctx.jar, form, ctx, customHeader)
53
+ .then(function (resData) {
54
+ callback(null, resData.body.toString());
55
+ })
56
+ .catch(function (err) {
57
+ utils.error("httpGet", err);
58
+ return callback(err);
59
+ });
60
+ }
61
+ return returnPromise;
62
+ };
63
+ };
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+
3
+ const utils = require('../utils');
4
+
5
+ module.exports = function (defaultFuncs, api, ctx) {
6
+ return function httpPost(url, form, customHeader, callback, notAPI) {
7
+ let resolveFunc = function () {};
8
+ let rejectFunc = function () {};
9
+
10
+ const returnPromise = new Promise(function (resolve, reject) {
11
+ resolveFunc = resolve;
12
+ rejectFunc = reject;
13
+ });
14
+
15
+ if (
16
+ utils.getType(form) == "Function" ||
17
+ utils.getType(form) == "AsyncFunction"
18
+ ) {
19
+ callback = form;
20
+ form = {};
21
+ }
22
+
23
+ if (
24
+ utils.getType(customHeader) == "Function" ||
25
+ utils.getType(customHeader) == "AsyncFunction"
26
+ ) {
27
+ callback = customHeader;
28
+ customHeader = {};
29
+ }
30
+
31
+ customHeader = customHeader || {};
32
+
33
+ callback =
34
+ callback ||
35
+ function (err, data) {
36
+ if (err) return rejectFunc(err);
37
+ resolveFunc(data);
38
+ };
39
+
40
+ const normalizeBody = function(body) {
41
+ if (body === null || body === undefined) {
42
+ return String(body);
43
+ }
44
+
45
+ if (Buffer.isBuffer(body) || body instanceof Uint8Array) {
46
+ return body.toString('utf8');
47
+ }
48
+
49
+ if (typeof body === 'string') {
50
+ return body;
51
+ }
52
+
53
+ if (typeof body === 'object') {
54
+ try {
55
+ return JSON.stringify(body);
56
+ } catch (err) {
57
+ return String(body);
58
+ }
59
+ }
60
+
61
+ return String(body);
62
+ };
63
+
64
+ if (notAPI) {
65
+ utils
66
+ .post(url, ctx.jar, form, ctx.globalOptions, ctx, customHeader)
67
+ .then(function (resData) {
68
+ const body = normalizeBody(resData.body);
69
+ callback(null, body);
70
+ })
71
+ .catch(function (err) {
72
+ utils.error("httpPost", err);
73
+ return callback(err);
74
+ });
75
+ } else {
76
+ defaultFuncs
77
+ .post(url, ctx.jar, form, ctx, customHeader)
78
+ .then(function (resData) {
79
+ const body = normalizeBody(resData.body);
80
+ callback(null, body);
81
+ })
82
+ .catch(function (err) {
83
+ utils.error("httpPost", err);
84
+ return callback(err);
85
+ });
86
+ }
87
+ return returnPromise;
88
+ };
89
+ };
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+
3
+ const utils = require('../utils');
4
+
5
+ module.exports = function (defaultFuncs, api, ctx) {
6
+ return function httpPostFormData(url, form, customHeader, callback, notAPI) {
7
+ let resolveFunc = function () {};
8
+ let rejectFunc = function () {};
9
+
10
+ const returnPromise = new Promise(function (resolve, reject) {
11
+ resolveFunc = resolve;
12
+ rejectFunc = reject;
13
+ });
14
+
15
+ if (
16
+ utils.getType(form) == "Function" ||
17
+ utils.getType(form) == "AsyncFunction"
18
+ ) {
19
+ callback = form;
20
+ form = {};
21
+ }
22
+
23
+ if (
24
+ utils.getType(customHeader) == "Function" ||
25
+ utils.getType(customHeader) == "AsyncFunction"
26
+ ) {
27
+ callback = customHeader;
28
+ customHeader = {};
29
+ }
30
+
31
+ customHeader = customHeader || {};
32
+
33
+ if (utils.getType(callback) == "Boolean") {
34
+ notAPI = callback;
35
+ callback = null;
36
+ }
37
+
38
+ callback =
39
+ callback ||
40
+ function (err, data) {
41
+ if (err) return rejectFunc(err);
42
+ resolveFunc(data);
43
+ };
44
+
45
+ if (notAPI) {
46
+ utils
47
+ .postFormData(url, ctx.jar, form, ctx.globalOptions, ctx, customHeader)
48
+ .then(function (resData) {
49
+ callback(null, resData.body.toString());
50
+ })
51
+ .catch(function (err) {
52
+ utils.error("httpPostFormData", err);
53
+ return callback(err);
54
+ });
55
+ } else {
56
+ defaultFuncs
57
+ .postFormData(url, ctx.jar, form, null, ctx)
58
+ .then(function (resData) {
59
+ callback(null, resData.body.toString());
60
+ })
61
+ .catch(function (err) {
62
+ utils.error("httpPostFormData", err);
63
+ return callback(err);
64
+ });
65
+ }
66
+
67
+ return returnPromise;
68
+ };
69
+ };