@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.
- package/LICENSE +3 -0
- package/README.md +451 -43
- package/examples/login-with-cookies.js +102 -0
- package/examples/verify.js +70 -0
- package/index.js +1 -466
- package/package.json +98 -6
- package/src/apis/addExternalModule.js +24 -0
- package/src/apis/addUserToGroup.js +108 -0
- package/src/apis/changeAdminStatus.js +148 -0
- package/src/apis/changeArchivedStatus.js +61 -0
- package/src/apis/changeAvatar.js +103 -0
- package/src/apis/changeBio.js +69 -0
- package/src/apis/changeBlockedStatus.js +54 -0
- package/src/apis/changeGroupImage.js +136 -0
- package/src/apis/changeThreadColor.js +116 -0
- package/src/{changeThreadEmoji.js → apis/changeThreadEmoji.js} +7 -8
- package/src/apis/comment.js +207 -0
- package/src/apis/createAITheme.js +129 -0
- package/src/apis/createNewGroup.js +79 -0
- package/src/apis/createPoll.js +73 -0
- package/src/apis/deleteMessage.js +44 -0
- package/src/apis/deleteThread.js +52 -0
- package/src/apis/e2ee.js +17 -0
- package/src/apis/editMessage.js +70 -0
- package/src/apis/emoji.js +124 -0
- package/src/apis/fetchThemeData.js +82 -0
- package/src/apis/follow.js +81 -0
- package/src/apis/forwardMessage.js +52 -0
- package/src/apis/friend.js +243 -0
- package/src/apis/gcmember.js +122 -0
- package/src/apis/gcname.js +123 -0
- package/src/apis/gcrule.js +119 -0
- package/src/apis/getAccess.js +111 -0
- package/src/apis/getBotInfo.js +88 -0
- package/src/apis/getBotInitialData.js +43 -0
- package/src/apis/getFriendsList.js +79 -0
- package/src/apis/getMessage.js +423 -0
- package/src/apis/getTheme.js +95 -0
- package/src/apis/getThemeInfo.js +116 -0
- package/src/apis/getThreadHistory.js +239 -0
- package/src/apis/getThreadInfo.js +267 -0
- package/src/apis/getThreadList.js +232 -0
- package/src/apis/getThreadPictures.js +58 -0
- package/src/apis/getUserID.js +117 -0
- package/src/apis/getUserInfo.js +513 -0
- package/src/apis/getUserInfoV2.js +146 -0
- package/src/apis/handleMessageRequest.js +50 -0
- package/src/apis/httpGet.js +63 -0
- package/src/apis/httpPost.js +89 -0
- package/src/apis/httpPostFormData.js +69 -0
- package/src/apis/listenMqtt.js +1236 -0
- package/src/apis/listenSpeed.js +179 -0
- package/src/apis/logout.js +87 -0
- package/src/apis/markAsDelivered.js +47 -0
- package/src/apis/markAsRead.js +99 -0
- package/src/apis/markAsReadAll.js +40 -0
- package/src/apis/markAsSeen.js +70 -0
- package/src/apis/mqttDeltaValue.js +278 -0
- package/src/apis/muteThread.js +45 -0
- package/src/apis/nickname.js +132 -0
- package/src/apis/notes.js +163 -0
- package/src/apis/pinMessage.js +150 -0
- package/src/apis/produceMetaTheme.js +180 -0
- package/src/apis/realtime.js +182 -0
- package/src/apis/removeUserFromGroup.js +117 -0
- package/src/apis/resolvePhotoUrl.js +58 -0
- package/src/apis/searchForThread.js +154 -0
- package/src/apis/sendMessage.js +354 -0
- package/src/apis/sendMessageMqtt.js +249 -0
- package/src/apis/sendTypingIndicator.js +91 -0
- package/src/apis/setMessageReaction.js +27 -0
- package/src/apis/setMessageReactionMqtt.js +61 -0
- package/src/apis/setThreadTheme.js +260 -0
- package/src/apis/setThreadThemeMqtt.js +94 -0
- package/src/apis/share.js +107 -0
- package/src/apis/shareContact.js +66 -0
- package/src/apis/stickers.js +257 -0
- package/src/apis/story.js +181 -0
- package/src/apis/theme.js +233 -0
- package/src/apis/unfriend.js +47 -0
- package/src/apis/unsendMessage.js +17 -0
- package/src/engine/client.js +92 -0
- package/src/engine/models/buildAPI.js +152 -0
- package/src/engine/models/loginHelper.js +519 -0
- package/src/engine/models/setOptions.js +88 -0
- package/src/security/e2ee.js +109 -0
- package/src/types/index.d.ts +498 -0
- package/src/utils/antiSuspension.js +506 -0
- package/src/utils/auth-helpers.js +149 -0
- package/src/utils/autoReLogin.js +336 -0
- package/src/utils/axios.js +436 -0
- package/src/utils/cache.js +54 -0
- package/src/utils/clients.js +282 -0
- package/src/utils/constants.js +410 -0
- package/src/utils/formatters/data/formatAttachment.js +370 -0
- package/src/utils/formatters/data/formatDelta.js +109 -0
- package/src/utils/formatters/index.js +159 -0
- package/src/utils/formatters/value/formatCookie.js +91 -0
- package/src/utils/formatters/value/formatDate.js +36 -0
- package/src/utils/formatters/value/formatID.js +16 -0
- package/src/utils/formatters.js +1373 -0
- package/src/utils/headers.js +230 -0
- package/src/utils/index.js +153 -0
- package/src/utils/monitoring.js +333 -0
- package/src/utils/rateLimiter.js +319 -0
- package/src/utils/tokenRefresh.js +657 -0
- package/src/utils/user-agents.js +238 -0
- package/src/utils/validation.js +157 -0
- package/replit.nix +0 -3
- package/src/addExternalModule.js +0 -25
- package/src/addUserToGroup.js +0 -98
- package/src/changeAdminStatus.js +0 -98
- package/src/changeArchivedStatus.js +0 -51
- package/src/changeAvatar.js +0 -89
- package/src/changeBio.js +0 -74
- package/src/changeBlockedStatus.js +0 -45
- package/src/changeBlockedStatusMqtt.js +0 -65
- package/src/changeCover.js +0 -92
- package/src/changeGroupImage.js +0 -110
- package/src/changeName.js +0 -106
- package/src/changeNickname.js +0 -58
- package/src/changeThreadColor.js +0 -62
- package/src/changeUsername.js +0 -80
- package/src/createCommentPost.js +0 -196
- package/src/createNewGroup.js +0 -81
- package/src/createPoll.js +0 -64
- package/src/createPost.js +0 -285
- package/src/data/getThreadInfo.json +0 -1
- package/src/deleteMessage.js +0 -55
- package/src/deleteThread.js +0 -55
- package/src/editMessage.js +0 -66
- package/src/follow.js +0 -71
- package/src/forwardAttachment.js +0 -57
- package/src/getAccess.js +0 -130
- package/src/getAvatarUser.js +0 -88
- package/src/getBotInitialData.js +0 -59
- package/src/getCtx.js +0 -5
- package/src/getCurrentUserID.js +0 -5
- package/src/getEmojiUrl.js +0 -18
- package/src/getFriendsList.js +0 -81
- package/src/getMessage.js +0 -827
- package/src/getOptions.js +0 -5
- package/src/getRegion.js +0 -7
- package/src/getThreadHistory.js +0 -496
- package/src/getThreadHistoryDeprecated.js +0 -95
- package/src/getThreadInfo.js +0 -194
- package/src/getThreadInfoDeprecated.js +0 -77
- package/src/getThreadList.js +0 -219
- package/src/getThreadListDeprecated.js +0 -86
- package/src/getThreadPictures.js +0 -85
- package/src/getUserID.js +0 -67
- package/src/getUserInfo.js +0 -89
- package/src/handleFriendRequest.js +0 -56
- package/src/handleMessageRequest.js +0 -65
- package/src/httpGet.js +0 -53
- package/src/httpPost.js +0 -53
- package/src/httpPostFormData.js +0 -58
- package/src/listenMqtt.js +0 -683
- package/src/listenNotification.js +0 -96
- package/src/logout.js +0 -77
- package/src/markAsDelivered.js +0 -53
- package/src/markAsRead.js +0 -74
- package/src/markAsReadAll.js +0 -46
- package/src/markAsSeen.js +0 -57
- package/src/muteThread.js +0 -49
- package/src/pinMessage.js +0 -60
- package/src/refreshFb_dtsg.js +0 -75
- package/src/removeUserFromGroup.js +0 -59
- package/src/resolvePhotoUrl.js +0 -47
- package/src/searchForThread.js +0 -55
- package/src/searchStickers.js +0 -59
- package/src/sendMessage.js +0 -444
- package/src/sendMessageMqtt.js +0 -326
- package/src/sendTypingIndicator.js +0 -54
- package/src/setMessageReaction.js +0 -126
- package/src/setMessageReactionMqtt.js +0 -74
- package/src/setPostReaction.js +0 -103
- package/src/setProfileGuard.js +0 -66
- package/src/setStoryReaction.js +0 -97
- package/src/setTitle.js +0 -100
- package/src/shareContact.js +0 -101
- package/src/shareLink.js +0 -105
- package/src/stopListenMqtt.js +0 -47
- package/src/threadColors.js +0 -119
- package/src/unfriend.js +0 -58
- package/src/unsendMessage.js +0 -51
- package/src/uploadAttachment.js +0 -98
- 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
|
+
};
|