fca-project-orion 1.1.3 → 1.1.4
Sign up to get free protection for your applications and to get access to all the features.
- package/.gitattributes +2 -2
- package/Extra/Database/index.js +468 -468
- package/Extra/ExtraAddons.js +81 -81
- package/Extra/ExtraFindUID.js +61 -61
- package/Extra/ExtraGetThread.js +339 -339
- package/Extra/ExtraScreenShot.js +430 -430
- package/Extra/ExtraUptimeRobot.js +37 -37
- package/Extra/Html/Classic/script.js +118 -118
- package/Extra/Html/Classic/style.css +7 -7
- package/Extra/Security/Base/Step_1.js +5 -5
- package/Extra/Security/Base/Step_2.js +22 -22
- package/Extra/Security/Base/Step_3.js +22 -22
- package/Extra/Security/Base/index.js +172 -172
- package/Extra/Security/Index.js +4 -4
- package/Extra/Security/Step_1.js +5 -5
- package/Extra/Security/Step_2.js +22 -22
- package/Extra/Security/Step_3.js +22 -22
- package/Extra/Src/Change_Environment.js +23 -23
- package/Extra/Src/Check_Update.js +65 -65
- package/Extra/Src/History.js +114 -114
- package/Extra/Src/Instant_Update.js +64 -64
- package/Extra/Src/Last-Run.js +64 -64
- package/Extra/Src/Premium.js +80 -80
- package/Extra/Src/Release_Memory.js +40 -40
- package/Extra/Src/Websocket.js +212 -212
- package/Extra/Src/uuid.js +137 -137
- package/Func/AcceptAgreement.js +31 -31
- package/Func/ClearCache.js +64 -64
- package/Func/ReportV1.js +54 -54
- package/LICENSE +21 -21
- package/Language/index.json +216 -216
- package/Main.js +1215 -1215
- package/README.md +138 -138
- package/SECURITY.md +18 -18
- package/broadcast.js +39 -39
- package/index.js +385 -385
- package/logger.js +66 -66
- package/package.json +93 -93
- package/src/Dev_Horizon_Data.js +124 -124
- package/src/Premium.js +24 -24
- package/src/Screenshot.js +82 -82
- package/src/addExternalModule.js +16 -16
- package/src/addUserToGroup.js +79 -79
- package/src/changeAdminStatus.js +79 -79
- package/src/changeArchivedStatus.js +41 -41
- package/src/changeAvt.js +84 -84
- package/src/changeBio.js +65 -65
- package/src/changeBlockedStatus.js +36 -36
- package/src/changeGroupImage.js +106 -106
- package/src/changeNickname.js +45 -45
- package/src/changeThreadColor.js +62 -62
- package/src/changeThreadEmoji.js +42 -42
- package/src/createNewGroup.js +70 -70
- package/src/createPoll.js +60 -60
- package/src/deleteMessage.js +45 -45
- package/src/deleteThread.js +43 -43
- package/src/forwardAttachment.js +48 -48
- package/src/getAccessToken.js +27 -27
- package/src/getCurrentUserID.js +7 -7
- package/src/getEmojiUrl.js +27 -27
- package/src/getFriendsList.js +73 -73
- package/src/getMessage.js +79 -79
- package/src/getThreadHistory.js +537 -537
- package/src/getThreadInfo.js +424 -424
- package/src/getThreadList.js +213 -213
- package/src/getThreadMain.js +219 -219
- package/src/getThreadPictures.js +59 -59
- package/src/getUID.js +58 -58
- package/src/getUserID.js +62 -62
- package/src/getUserInfo.js +113 -113
- package/src/getUserInfoMain.js +64 -64
- package/src/getUserInfoV2.js +31 -31
- package/src/getUserInfoV3.js +62 -62
- package/src/getUserInfoV4.js +54 -54
- package/src/getUserInfoV5.js +60 -60
- package/src/handleFriendRequest.js +46 -46
- package/src/handleMessageRequest.js +49 -49
- package/src/httpGet.js +49 -49
- package/src/httpPost.js +48 -48
- package/src/httpPostFormData.js +40 -40
- package/src/listenMqtt.js +786 -786
- package/src/logout.js +68 -68
- package/src/markAsDelivered.js +48 -48
- package/src/markAsRead.js +70 -70
- package/src/markAsReadAll.js +42 -42
- package/src/markAsSeen.js +51 -51
- package/src/muteThread.js +47 -47
- package/src/removeUserFromGroup.js +49 -49
- package/src/resolvePhotoUrl.js +37 -37
- package/src/searchForThread.js +43 -43
- package/src/sendMessage.js +378 -378
- package/src/sendTypingIndicator.js +80 -80
- package/src/setMessageReaction.js +109 -109
- package/src/setPostReaction.js +101 -101
- package/src/setTitle.js +74 -74
- package/src/threadColors.js +38 -38
- package/src/unfriend.js +43 -43
- package/src/unsendMessage.js +40 -40
- package/test/Database_Test.js +3 -3
- package/test/Db2.js +529 -529
- package/test/data/shareAttach.js +146 -146
- package/test/data/test.txt +7 -7
- package/test/example-config.json +18 -18
- package/test/memoryleak.js +18 -18
- package/test/test-page.js +140 -140
- package/test/test.js +385 -385
- package/test/testv2.js +17 -17
- package/utils.js +1682 -1682
package/Extra/ExtraAddons.js
CHANGED
@@ -1,82 +1,82 @@
|
|
1
|
-
'use strict';
|
2
|
-
|
3
|
-
var utils = require('../utils');
|
4
|
-
var logger = require('../logger')
|
5
|
-
var OTP = require('totp-generator');
|
6
|
-
|
7
|
-
module.exports.getInfo = async function (id,jar,ctx,defaultFuncs) {
|
8
|
-
var AccessToken = await module.exports.getAccessToken(jar,ctx,defaultFuncs);
|
9
|
-
var { body:Data } = await utils.get(`https://graph.facebook.com/${id}?fields=age_range,picture,cover,name,first_name,email,about,birthday,gender,website,hometown,link,location,quotes,relationship_status,significant_other,username,subscribers.limite(0)&access_token=${AccessToken}`,jar,null,ctx.globalOptions);
|
10
|
-
var Format = {
|
11
|
-
id: JSON.parse(Data).id || "Không Có Dữ Liệu",
|
12
|
-
name: JSON.parse(Data).name || "Không Có Dữ Liệu",
|
13
|
-
first_name: JSON.parse(Data).first_name || "Không Có Dữ Liệu",
|
14
|
-
username: JSON.parse(Data).username || "Không Có Dữ Liệu",
|
15
|
-
link: JSON.parse(Data).link || "Không Có Dữ Liệu",
|
16
|
-
verified: JSON.parse(Data).verified || "Không Có Dữ Liệu",
|
17
|
-
about: JSON.parse(Data).about || "Không Có Dữ Liệu",
|
18
|
-
avatar: JSON.parse(Data).picture.data.url || "Không Có Dữ Liệu",
|
19
|
-
cover: JSON.parse(Data).cover.source || "Không Có Dữ Liệu",
|
20
|
-
birthday: JSON.parse(Data).birthday || "Không Có Dữ Liệu",
|
21
|
-
age: JSON.parse(Data).age_range.min || "Không Có Dữ Liệu",
|
22
|
-
follow: JSON.parse(Data).subscribers.summary.total_count || "Không Có Dữ Liệu",
|
23
|
-
gender: JSON.parse(Data).gender || "Không Có Dữ Liệu",
|
24
|
-
hometown: JSON.parse(Data).hometown || "Không Có Dữ Liệu",
|
25
|
-
email: JSON.parse(Data).email || "Không Có Dữ Liệu",
|
26
|
-
interested_in: JSON.parse(Data).interested_in || "Không Có Dữ Liệu",
|
27
|
-
location: JSON.parse(Data).location || "Không Có Dữ Liệu",
|
28
|
-
locale: JSON.parse(Data).locale || "Không Có Dữ Liệu",
|
29
|
-
relationship_status: JSON.parse(Data).relationship_status || "Không Có Dữ Liệu",
|
30
|
-
love: JSON.parse(Data).significant_other || "Không Có Dữ Liệu",
|
31
|
-
website: JSON.parse(Data).website || "Không Có Dữ Liệu",
|
32
|
-
quotes: JSON.parse(Data).quotes || "Không Có Dữ Liệu",
|
33
|
-
timezone: JSON.parse(Data).timezone || "Không Có Dữ Liệu",
|
34
|
-
updated_time: JSON.parse(Data).updated_time || "Không Có Dữ Liệu"
|
35
|
-
}
|
36
|
-
return Format;
|
37
|
-
}
|
38
|
-
|
39
|
-
/**
|
40
|
-
* Help: @ManhG
|
41
|
-
* Author: @KanzuWakazaki
|
42
|
-
*/
|
43
|
-
|
44
|
-
module.exports.getAccessToken = async function (jar, ctx,defaultFuncs) {
|
45
|
-
if (global.Fca.Data.AccessToken) {
|
46
|
-
return global.Fca.Data.AccessToken;
|
47
|
-
}
|
48
|
-
else {
|
49
|
-
var nextURLS = "https://business.facebook.com/security/twofactor/reauth/enter/"
|
50
|
-
return defaultFuncs.get('https://business.facebook.com/content_management', jar, null, ctx.globalOptions).then(async function(data) {
|
51
|
-
try {
|
52
|
-
if (/"],\["(.*?)","/.exec(/LMBootstrapper(.*?){"__m":"LMBootstrapper"}/.exec(data.body)[1])[1]) {
|
53
|
-
global.Fca.Data.AccessToken = /"],\["(.*?)","/.exec(/LMBootstrapper(.*?){"__m":"LMBootstrapper"}/.exec(data.body)[1])[1];
|
54
|
-
return /"],\["(.*?)","/.exec(/LMBootstrapper(.*?){"__m":"LMBootstrapper"}/.exec(data.body)[1])[1];
|
55
|
-
}
|
56
|
-
}
|
57
|
-
catch (_) {
|
58
|
-
if (global.Fca.Require.FastConfig.AuthString.includes('|')) return logger.Error(global.Fca.Require.Language.Index.Missing)
|
59
|
-
var OPTCODE = global.Fca.Require.FastConfig.AuthString.includes(" ") ? global.Fca.Require.FastConfig.AuthString.replace(RegExp(" ", 'g'), "") : global.Fca.Require.FastConfig.AuthString;
|
60
|
-
var Form = {
|
61
|
-
approvals_code: OTP(String(OPTCODE)),
|
62
|
-
save_device: false,
|
63
|
-
lsd: utils.getFrom(data.body, "[\"LSD\",[],{\"token\":\"", "\"}")
|
64
|
-
}
|
65
|
-
return defaultFuncs.post(nextURLS, jar, Form, ctx.globalOptions, {
|
66
|
-
referer: "https://business.facebook.com/security/twofactor/reauth/?twofac_next=https%3A%2F%2Fbusiness.facebook.com%2Fcontent_management&type=avoid_bypass&app_id=0&save_device=0",
|
67
|
-
}).then(async function(dataa) {
|
68
|
-
if (String(dataa.body).includes(false)) throw { Error: "Invaild OTP | FastConfigFca.json: AuthString" }
|
69
|
-
return utils.get('https://business.facebook.com/content_management', jar, null, ctx.globalOptions,{
|
70
|
-
referer: "https://business.facebook.com/security/twofactor/reauth/?twofac_next=https%3A%2F%2Fbusiness.facebook.com%2Fcontent_management&type=avoid_bypass&app_id=0&save_device=0",
|
71
|
-
}).then(async function(data) {
|
72
|
-
var Access_Token = /"],\["(.*?)","/.exec(/BusinessToolEmptyView.brands.react(.*?){"__m":"BusinessToolEmptyView.brands.react"}/.exec(data.body)[1])[1];
|
73
|
-
global.Fca.Data.AccessToken = Access_Token;
|
74
|
-
return Access_Token;
|
75
|
-
});
|
76
|
-
});
|
77
|
-
}
|
78
|
-
})
|
79
|
-
}
|
80
|
-
}
|
81
|
-
|
1
|
+
'use strict';
|
2
|
+
|
3
|
+
var utils = require('../utils');
|
4
|
+
var logger = require('../logger')
|
5
|
+
var OTP = require('totp-generator');
|
6
|
+
|
7
|
+
module.exports.getInfo = async function (id,jar,ctx,defaultFuncs) {
|
8
|
+
var AccessToken = await module.exports.getAccessToken(jar,ctx,defaultFuncs);
|
9
|
+
var { body:Data } = await utils.get(`https://graph.facebook.com/${id}?fields=age_range,picture,cover,name,first_name,email,about,birthday,gender,website,hometown,link,location,quotes,relationship_status,significant_other,username,subscribers.limite(0)&access_token=${AccessToken}`,jar,null,ctx.globalOptions);
|
10
|
+
var Format = {
|
11
|
+
id: JSON.parse(Data).id || "Không Có Dữ Liệu",
|
12
|
+
name: JSON.parse(Data).name || "Không Có Dữ Liệu",
|
13
|
+
first_name: JSON.parse(Data).first_name || "Không Có Dữ Liệu",
|
14
|
+
username: JSON.parse(Data).username || "Không Có Dữ Liệu",
|
15
|
+
link: JSON.parse(Data).link || "Không Có Dữ Liệu",
|
16
|
+
verified: JSON.parse(Data).verified || "Không Có Dữ Liệu",
|
17
|
+
about: JSON.parse(Data).about || "Không Có Dữ Liệu",
|
18
|
+
avatar: JSON.parse(Data).picture.data.url || "Không Có Dữ Liệu",
|
19
|
+
cover: JSON.parse(Data).cover.source || "Không Có Dữ Liệu",
|
20
|
+
birthday: JSON.parse(Data).birthday || "Không Có Dữ Liệu",
|
21
|
+
age: JSON.parse(Data).age_range.min || "Không Có Dữ Liệu",
|
22
|
+
follow: JSON.parse(Data).subscribers.summary.total_count || "Không Có Dữ Liệu",
|
23
|
+
gender: JSON.parse(Data).gender || "Không Có Dữ Liệu",
|
24
|
+
hometown: JSON.parse(Data).hometown || "Không Có Dữ Liệu",
|
25
|
+
email: JSON.parse(Data).email || "Không Có Dữ Liệu",
|
26
|
+
interested_in: JSON.parse(Data).interested_in || "Không Có Dữ Liệu",
|
27
|
+
location: JSON.parse(Data).location || "Không Có Dữ Liệu",
|
28
|
+
locale: JSON.parse(Data).locale || "Không Có Dữ Liệu",
|
29
|
+
relationship_status: JSON.parse(Data).relationship_status || "Không Có Dữ Liệu",
|
30
|
+
love: JSON.parse(Data).significant_other || "Không Có Dữ Liệu",
|
31
|
+
website: JSON.parse(Data).website || "Không Có Dữ Liệu",
|
32
|
+
quotes: JSON.parse(Data).quotes || "Không Có Dữ Liệu",
|
33
|
+
timezone: JSON.parse(Data).timezone || "Không Có Dữ Liệu",
|
34
|
+
updated_time: JSON.parse(Data).updated_time || "Không Có Dữ Liệu"
|
35
|
+
}
|
36
|
+
return Format;
|
37
|
+
}
|
38
|
+
|
39
|
+
/**
|
40
|
+
* Help: @ManhG
|
41
|
+
* Author: @KanzuWakazaki
|
42
|
+
*/
|
43
|
+
|
44
|
+
module.exports.getAccessToken = async function (jar, ctx,defaultFuncs) {
|
45
|
+
if (global.Fca.Data.AccessToken) {
|
46
|
+
return global.Fca.Data.AccessToken;
|
47
|
+
}
|
48
|
+
else {
|
49
|
+
var nextURLS = "https://business.facebook.com/security/twofactor/reauth/enter/"
|
50
|
+
return defaultFuncs.get('https://business.facebook.com/content_management', jar, null, ctx.globalOptions).then(async function(data) {
|
51
|
+
try {
|
52
|
+
if (/"],\["(.*?)","/.exec(/LMBootstrapper(.*?){"__m":"LMBootstrapper"}/.exec(data.body)[1])[1]) {
|
53
|
+
global.Fca.Data.AccessToken = /"],\["(.*?)","/.exec(/LMBootstrapper(.*?){"__m":"LMBootstrapper"}/.exec(data.body)[1])[1];
|
54
|
+
return /"],\["(.*?)","/.exec(/LMBootstrapper(.*?){"__m":"LMBootstrapper"}/.exec(data.body)[1])[1];
|
55
|
+
}
|
56
|
+
}
|
57
|
+
catch (_) {
|
58
|
+
if (global.Fca.Require.FastConfig.AuthString.includes('|')) return logger.Error(global.Fca.Require.Language.Index.Missing)
|
59
|
+
var OPTCODE = global.Fca.Require.FastConfig.AuthString.includes(" ") ? global.Fca.Require.FastConfig.AuthString.replace(RegExp(" ", 'g'), "") : global.Fca.Require.FastConfig.AuthString;
|
60
|
+
var Form = {
|
61
|
+
approvals_code: OTP(String(OPTCODE)),
|
62
|
+
save_device: false,
|
63
|
+
lsd: utils.getFrom(data.body, "[\"LSD\",[],{\"token\":\"", "\"}")
|
64
|
+
}
|
65
|
+
return defaultFuncs.post(nextURLS, jar, Form, ctx.globalOptions, {
|
66
|
+
referer: "https://business.facebook.com/security/twofactor/reauth/?twofac_next=https%3A%2F%2Fbusiness.facebook.com%2Fcontent_management&type=avoid_bypass&app_id=0&save_device=0",
|
67
|
+
}).then(async function(dataa) {
|
68
|
+
if (String(dataa.body).includes(false)) throw { Error: "Invaild OTP | FastConfigFca.json: AuthString" }
|
69
|
+
return utils.get('https://business.facebook.com/content_management', jar, null, ctx.globalOptions,{
|
70
|
+
referer: "https://business.facebook.com/security/twofactor/reauth/?twofac_next=https%3A%2F%2Fbusiness.facebook.com%2Fcontent_management&type=avoid_bypass&app_id=0&save_device=0",
|
71
|
+
}).then(async function(data) {
|
72
|
+
var Access_Token = /"],\["(.*?)","/.exec(/BusinessToolEmptyView.brands.react(.*?){"__m":"BusinessToolEmptyView.brands.react"}/.exec(data.body)[1])[1];
|
73
|
+
global.Fca.Data.AccessToken = Access_Token;
|
74
|
+
return Access_Token;
|
75
|
+
});
|
76
|
+
});
|
77
|
+
}
|
78
|
+
})
|
79
|
+
}
|
80
|
+
}
|
81
|
+
|
82
82
|
//hard working =))
|
package/Extra/ExtraFindUID.js
CHANGED
@@ -1,62 +1,62 @@
|
|
1
|
-
'use strict';
|
2
|
-
|
3
|
-
const got = global.Fca.Require.Fetch;
|
4
|
-
|
5
|
-
/**
|
6
|
-
* @param {string | URL} url
|
7
|
-
* @param {{ sendMessage: (arg0: string, arg1: any) => any; }} api
|
8
|
-
*/
|
9
|
-
async function getUIDSlow(url,api) {
|
10
|
-
var FormData = require("form-data");
|
11
|
-
var Form = new FormData();
|
12
|
-
var Url = new URL(url);
|
13
|
-
Form.append('username', Url.pathname.replace(/\//g, ""));
|
14
|
-
try {
|
15
|
-
var data = await got.post('https://api.findids.net/api/get-uid-from-username',{
|
16
|
-
body: Form,
|
17
|
-
userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.79 Safari/537.36'
|
18
|
-
})
|
19
|
-
} catch (e) {
|
20
|
-
console.log(global.Fca.Data.event.threadID,e)
|
21
|
-
return api.sendMessage("Lỗi: " + e.message,global.Fca.Data.event.threadID);
|
22
|
-
}
|
23
|
-
if (JSON.parse(data.body.toString()).status != 200) return api.sendMessage('Đã bị lỗi !',global.Fca.Data.event.threadID)
|
24
|
-
if (typeof JSON.parse(data.body.toString()).error === 'string') return "errr"
|
25
|
-
else return JSON.parse(data.body.toString()).data.id || "nịt";
|
26
|
-
}
|
27
|
-
|
28
|
-
/**
|
29
|
-
* @param {string | URL} url
|
30
|
-
* @param {{ sendMessage: (arg0: string, arg1: any, arg2: any) => any; }} api
|
31
|
-
*/
|
32
|
-
async function getUIDFast(url,api) {
|
33
|
-
var FormData = require("form-data");
|
34
|
-
var Form = new FormData();
|
35
|
-
var Url = new URL(url);
|
36
|
-
Form.append('link', Url.href);
|
37
|
-
try {
|
38
|
-
var data = await got.post('https://id.traodoisub.com/api.php',{
|
39
|
-
body: Form
|
40
|
-
})
|
41
|
-
} catch (e) {
|
42
|
-
return api.sendMessage("Lỗi: " + e.message,global.Fca.Data.event.threadID,global.Fca.Data.event.messageID);
|
43
|
-
}
|
44
|
-
if (JSON.parse(data.body.toString()).error) return api.sendMessage(JSON.parse(data.body.toString()).error,global.Fca.Data.event.threadID,global.Fca.Data.event.messageID);
|
45
|
-
else return JSON.parse(data.body.toString()).id || "co cai nit huhu";
|
46
|
-
}
|
47
|
-
|
48
|
-
/**
|
49
|
-
* @param {any} url
|
50
|
-
* @param {any} api
|
51
|
-
*/
|
52
|
-
async function getUID(url,api) {
|
53
|
-
var getUID = await getUIDFast(url,api);
|
54
|
-
if (!isNaN(getUID) == true) return getUID;
|
55
|
-
else {
|
56
|
-
let getUID = await getUIDSlow(url,api);
|
57
|
-
if (!isNaN(data) == true) return getUID;
|
58
|
-
else return null;
|
59
|
-
}
|
60
|
-
}
|
61
|
-
|
1
|
+
'use strict';
|
2
|
+
|
3
|
+
const got = global.Fca.Require.Fetch;
|
4
|
+
|
5
|
+
/**
|
6
|
+
* @param {string | URL} url
|
7
|
+
* @param {{ sendMessage: (arg0: string, arg1: any) => any; }} api
|
8
|
+
*/
|
9
|
+
async function getUIDSlow(url,api) {
|
10
|
+
var FormData = require("form-data");
|
11
|
+
var Form = new FormData();
|
12
|
+
var Url = new URL(url);
|
13
|
+
Form.append('username', Url.pathname.replace(/\//g, ""));
|
14
|
+
try {
|
15
|
+
var data = await got.post('https://api.findids.net/api/get-uid-from-username',{
|
16
|
+
body: Form,
|
17
|
+
userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.79 Safari/537.36'
|
18
|
+
})
|
19
|
+
} catch (e) {
|
20
|
+
console.log(global.Fca.Data.event.threadID,e)
|
21
|
+
return api.sendMessage("Lỗi: " + e.message,global.Fca.Data.event.threadID);
|
22
|
+
}
|
23
|
+
if (JSON.parse(data.body.toString()).status != 200) return api.sendMessage('Đã bị lỗi !',global.Fca.Data.event.threadID)
|
24
|
+
if (typeof JSON.parse(data.body.toString()).error === 'string') return "errr"
|
25
|
+
else return JSON.parse(data.body.toString()).data.id || "nịt";
|
26
|
+
}
|
27
|
+
|
28
|
+
/**
|
29
|
+
* @param {string | URL} url
|
30
|
+
* @param {{ sendMessage: (arg0: string, arg1: any, arg2: any) => any; }} api
|
31
|
+
*/
|
32
|
+
async function getUIDFast(url,api) {
|
33
|
+
var FormData = require("form-data");
|
34
|
+
var Form = new FormData();
|
35
|
+
var Url = new URL(url);
|
36
|
+
Form.append('link', Url.href);
|
37
|
+
try {
|
38
|
+
var data = await got.post('https://id.traodoisub.com/api.php',{
|
39
|
+
body: Form
|
40
|
+
})
|
41
|
+
} catch (e) {
|
42
|
+
return api.sendMessage("Lỗi: " + e.message,global.Fca.Data.event.threadID,global.Fca.Data.event.messageID);
|
43
|
+
}
|
44
|
+
if (JSON.parse(data.body.toString()).error) return api.sendMessage(JSON.parse(data.body.toString()).error,global.Fca.Data.event.threadID,global.Fca.Data.event.messageID);
|
45
|
+
else return JSON.parse(data.body.toString()).id || "co cai nit huhu";
|
46
|
+
}
|
47
|
+
|
48
|
+
/**
|
49
|
+
* @param {any} url
|
50
|
+
* @param {any} api
|
51
|
+
*/
|
52
|
+
async function getUID(url,api) {
|
53
|
+
var getUID = await getUIDFast(url,api);
|
54
|
+
if (!isNaN(getUID) == true) return getUID;
|
55
|
+
else {
|
56
|
+
let getUID = await getUIDSlow(url,api);
|
57
|
+
if (!isNaN(data) == true) return getUID;
|
58
|
+
else return null;
|
59
|
+
}
|
60
|
+
}
|
61
|
+
|
62
62
|
module.exports = getUID;
|