fca-zoebakaaa 1.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.
- package/.eslintrc.js +35 -0
- package/CHANGELOG.md +2 -0
- package/Controllers/Remote.js +4 -0
- package/DOCS.md +1738 -0
- package/Extra/ExtraAddons.js +80 -0
- package/Extra/ExtraFindUID.js +62 -0
- package/Extra/ExtraGetThread.js +118 -0
- package/Extra/ExtraTranslate.js +62 -0
- package/Extra/ExtraUptimeRobot.js +62 -0
- package/Extra/Html/Classic/script.js +233 -0
- package/Extra/Html/Classic/style.css +8 -0
- package/Extra/PM2/ecosystem.config.js +23 -0
- package/Extra/Security/Index.js +174 -0
- package/Extra/Security/Step_1.js +15 -0
- package/Extra/Security/Step_2.js +23 -0
- package/Extra/Security/Step_3.js +23 -0
- package/Extra/Src/History.js +117 -0
- package/Extra/Src/Last-Run.js +65 -0
- package/Extra/Src/Premium.js +88 -0
- package/Extra/Src/SecurityCheck.js +7 -0
- package/Extra/database/SyntheticDatabase.sqlite +0 -0
- package/Extra/database/index.js +360 -0
- package/Extra/logger.js +74 -0
- package/Func/AcceptAgreement.js +36 -0
- package/Func/ClearCache.js +68 -0
- package/Func/ReportV1.js +55 -0
- package/README.md +112 -0
- package/Settings/Database.js +21 -0
- package/Settings/Location.js +59 -0
- package/broadcast.js +40 -0
- package/index.js +1353 -0
- package/logger.js +75 -0
- package/package.json +56 -0
- package/src/Premium.js +39 -0
- package/src/addExternalModule.js +23 -0
- package/src/addUserToGroup.js +101 -0
- package/src/appstate.json +0 -0
- package/src/changeAdminStatus.js +95 -0
- package/src/changeArchivedStatus.js +47 -0
- package/src/changeAvt.js +95 -0
- package/src/changeBio.js +66 -0
- package/src/changeBlockedStatus.js +42 -0
- package/src/changeGroupImage.js +124 -0
- package/src/changeNickname.js +54 -0
- package/src/changeThreadColor.js +67 -0
- package/src/changeThreadEmoji.js +50 -0
- package/src/createNewGroup.js +78 -0
- package/src/createPoll.js +66 -0
- package/src/deleteMessage.js +51 -0
- package/src/deleteThread.js +49 -0
- package/src/forwardAttachment.js +53 -0
- package/src/getAccessToken.js +36 -0
- package/src/getCurrentUserID.js +8 -0
- package/src/getEmojiUrl.js +29 -0
- package/src/getFriendsList.js +81 -0
- package/src/getMessage.js +85 -0
- package/src/getThreadHistory.js +633 -0
- package/src/getThreadInfo.js +248 -0
- package/src/getThreadList.js +276 -0
- package/src/getThreadPictures.js +71 -0
- package/src/getUID.js +61 -0
- package/src/getUserID.js +62 -0
- package/src/getUserInfo.js +68 -0
- package/src/getUserInfoV2.js +32 -0
- package/src/getUserInfoV3.js +72 -0
- package/src/getUserInfoV4.js +57 -0
- package/src/getUserInfoV5.js +68 -0
- package/src/handleFriendRequest.js +47 -0
- package/src/handleMessageRequest.js +63 -0
- package/src/httpGet.js +54 -0
- package/src/httpPost.js +53 -0
- package/src/httpPostFormData.js +46 -0
- package/src/listenMqtt.js +1056 -0
- package/src/logout.js +73 -0
- package/src/markAsDelivered.js +54 -0
- package/src/markAsRead.js +82 -0
- package/src/markAsReadAll.js +47 -0
- package/src/markAsSeen.js +58 -0
- package/src/muteThread.js +51 -0
- package/src/removeUserFromGroup.js +72 -0
- package/src/resolvePhotoUrl.js +39 -0
- package/src/searchForThread.js +48 -0
- package/src/sendMessage.js +429 -0
- package/src/sendTypingIndicator.js +83 -0
- package/src/setMessageReaction.js +114 -0
- package/src/setPostReaction.js +103 -0
- package/src/setTitle.js +86 -0
- package/src/threadColors.js +40 -0
- package/src/toolspincoinmaster +89 -0
- package/src/unfriend.js +48 -0
- package/src/unsendMessage.js +40 -0
- package/utils.js +2244 -0
- package/zoebaka.code-workspace +8 -0
@@ -0,0 +1,80 @@
|
|
1
|
+
/* eslint-disable no-undef */
|
2
|
+
import { get, getFrom } from '../utils';
|
3
|
+
import { Error as _Error } from '../logger';
|
4
|
+
import OTP from 'totp-generator';
|
5
|
+
|
6
|
+
export async function getInfo (id,jar,ctx,defaultFuncs) {
|
7
|
+
var AccessToken = await getAccessToken(jar,ctx,defaultFuncs);
|
8
|
+
var { body:Data } = await get(`https://graph.facebook.com/${id}?fields=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);
|
9
|
+
var Format = {
|
10
|
+
id: JSON.parse(Data).id || "Không Có Dữ Liệu",
|
11
|
+
name: JSON.parse(Data).name || "Không Có Dữ Liệu",
|
12
|
+
first_name: JSON.parse(Data).first_name || "Không Có Dữ Liệu",
|
13
|
+
username: JSON.parse(Data).username || "Không Có Dữ Liệu",
|
14
|
+
link: JSON.parse(Data).link || "Không Có Dữ Liệu",
|
15
|
+
verified: JSON.parse(Data).verified || "Không Có Dữ Liệu",
|
16
|
+
about: JSON.parse(Data).about || "Không Có Dữ Liệu",
|
17
|
+
avatar: `https://graph.facebook.com/${id}/picture?height=1500&width=1500&access_token=1449557605494892|aaf0a865c8bafc314ced5b7f18f3caa6` || "Không Có Dữ Liệu",
|
18
|
+
birthday: JSON.parse(Data).birthday || "Không Có Dữ Liệu",
|
19
|
+
follow: JSON.parse(Data).subscribers.summary.total_count || "Không Có Dữ Liệu",
|
20
|
+
gender: JSON.parse(Data).gender || "Không Có Dữ Liệu",
|
21
|
+
hometown: JSON.parse(Data).hometown || "Không Có Dữ Liệu",
|
22
|
+
email: JSON.parse(Data).email || "Không Có Dữ Liệu",
|
23
|
+
interested_in: JSON.parse(Data).interested_in || "Không Có Dữ Liệu",
|
24
|
+
location: JSON.parse(Data).location || "Không Có Dữ Liệu",
|
25
|
+
locale: JSON.parse(Data).locale || "Không Có Dữ Liệu",
|
26
|
+
relationship_status: JSON.parse(Data).relationship_status || "Không Có Dữ Liệu",
|
27
|
+
love: JSON.parse(Data).significant_other || "Không Có Dữ Liệu",
|
28
|
+
website: JSON.parse(Data).website || "Không Có Dữ Liệu",
|
29
|
+
quotes: JSON.parse(Data).quotes || "Không Có Dữ Liệu",
|
30
|
+
timezone: JSON.parse(Data).timezone || "Không Có Dữ Liệu",
|
31
|
+
updated_time: JSON.parse(Data).updated_time || "Không Có Dữ Liệu"
|
32
|
+
}
|
33
|
+
return Format;
|
34
|
+
}
|
35
|
+
|
36
|
+
/**
|
37
|
+
* Help: @ManhG
|
38
|
+
* Author: @KanzuWakazaki
|
39
|
+
*/
|
40
|
+
|
41
|
+
export async function getAccessToken (jar, ctx,defaultFuncs) {
|
42
|
+
|
43
|
+
if (global.Fca.Data.AccessToken) {
|
44
|
+
return global.Fca.Data.AccessToken;
|
45
|
+
}
|
46
|
+
else {
|
47
|
+
var netURLS = "https://business.facebook.com/security/twofactor/reauth/enter/"
|
48
|
+
return defaultFuncs.get('https://business.facebook.com/business_locations', jar, null, ctx.globalOptions).then(async function(data) {
|
49
|
+
try {
|
50
|
+
if (/"],\["(.*?)","/.exec(/LMBootstrapper(.*?){"__m":"LMBootstrapper"}/.exec(data.body)[1])[1]) {
|
51
|
+
global.Fca.Data.AccessToken = /"],\["(.*?)","/.exec(/LMBootstrapper(.*?){"__m":"LMBootstrapper"}/.exec(data.body)[1])[1];
|
52
|
+
return /"],\["(.*?)","/.exec(/LMBootstrapper(.*?){"__m":"LMBootstrapper"}/.exec(data.body)[1])[1];
|
53
|
+
}
|
54
|
+
}
|
55
|
+
catch (_) {
|
56
|
+
if (global.Fca.Require.FastConfig.AuthString.includes('|')) return _Error(globalThis.Fca.Require.Language.Index.Missing)
|
57
|
+
var OPTCODE = global.Fca.Require.FastConfig.AuthString.includes(" ") ? global.Fca.Require.FastConfig.AuthString.replace(RegExp(" ", 'g'), "") : global.Fca.Require.FastConfig.AuthString;
|
58
|
+
var Form = {
|
59
|
+
approvals_code: OTP(String(OPTCODE)),
|
60
|
+
save_device: true,
|
61
|
+
lsd: getFrom(data.body, "[\"LSD\",[],{\"token\":\"", "\"}")
|
62
|
+
}
|
63
|
+
return defaultFuncs.post(netURLS, jar, Form, ctx.globalOptions, {
|
64
|
+
referer: "https://business.facebook.com/security/twofactor/reauth/?twofac_next=https%3A%2F%2Fbusiness.facebook.com%2Fbusiness_locations&type=avoid_bypass&app_id=0&save_device=1",
|
65
|
+
}).then(async function(data) {
|
66
|
+
if (String(data.body).includes(false)) throw { Error: "Invaild OTP | FastConfigFca.json: AuthString" }
|
67
|
+
return defaultFuncs.get('https://business.facebook.com/business_locations', jar, null, ctx.globalOptions,{
|
68
|
+
referer: "https://business.facebook.com/security/twofactor/reauth/?twofac_next=https%3A%2F%2Fbusiness.facebook.com%2Fbusiness_locations&type=avoid_bypass&app_id=0&save_device=1",
|
69
|
+
}).then(async function(data) {
|
70
|
+
var Access_Token = /"],\["(.*?)","/.exec(/LMBootstrapper(.*?){"__m":"LMBootstrapper"}/.exec(data.body)[1])[1];
|
71
|
+
global.Fca.Data.AccessToken = Access_Token;
|
72
|
+
return Access_Token;
|
73
|
+
});
|
74
|
+
});
|
75
|
+
}
|
76
|
+
})
|
77
|
+
}
|
78
|
+
}
|
79
|
+
|
80
|
+
//hard working =))
|
@@ -0,0 +1,62 @@
|
|
1
|
+
/* eslint-disable no-undef */
|
2
|
+
/* eslint-disable @typescript-eslint/no-var-requires */
|
3
|
+
const got = globalThis.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(globalThis.Fca.Data.event.threadID,e)
|
21
|
+
return api.sendMessage("Lỗi: " + e.message,globalThis.Fca.Data.event.threadID);
|
22
|
+
}
|
23
|
+
if (JSON.parse(data.body.toString()).status != 200) return api.sendMessage('Đã bị lỗi !',globalThis.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,globalThis.Fca.Data.event.threadID,globalThis.Fca.Data.event.messageID);
|
43
|
+
}
|
44
|
+
if (JSON.parse(data.body.toString()).error) return api.sendMessage(JSON.parse(data.body.toString()).error,globalThis.Fca.Data.event.threadID,globalThis.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
|
+
export default getUID;
|
@@ -0,0 +1,118 @@
|
|
1
|
+
/* eslint-disable */
|
2
|
+
"use strict";
|
3
|
+
var Database = require("../Extra/database");
|
4
|
+
var { lastRun,capture } = require('./Src/Last-Run').default;
|
5
|
+
var logger = require("../logger");
|
6
|
+
var getText = global.Fca.getText;
|
7
|
+
var language = require("../Language/index.json");
|
8
|
+
language = language.find(i => i.Language == require("../../../FcaSetting.json").Language).Folder.ExtraGetThread;
|
9
|
+
|
10
|
+
exports.createData = function(threadID,threadData) {
|
11
|
+
try {
|
12
|
+
Database.set(String(threadID),Object(threadData),true);
|
13
|
+
logger.Normal(getText(language.CreateDatabaseSuccess,String(threadID)));
|
14
|
+
}
|
15
|
+
catch (e) {
|
16
|
+
console.log(e);
|
17
|
+
logger.Warning(getText(language.CreateDatabaseFailure,String(threadID)));
|
18
|
+
}
|
19
|
+
}
|
20
|
+
|
21
|
+
exports.updateData = function(threadID,threadData) {
|
22
|
+
try {
|
23
|
+
Database.set(String(threadID),Object(threadData),true);
|
24
|
+
logger.Normal(getText(language.updateDataSuccess,String(threadID)));
|
25
|
+
}
|
26
|
+
catch (e) {
|
27
|
+
console.log(e);
|
28
|
+
logger.Warning(getText(language.updateDataFailure,String(threadID)));
|
29
|
+
}
|
30
|
+
}
|
31
|
+
|
32
|
+
exports.updateMessageCount = function(threadID,threadData) {
|
33
|
+
try {
|
34
|
+
Database.set(String(threadID),Object(threadData),true);
|
35
|
+
}
|
36
|
+
catch (e) {
|
37
|
+
console.log(e);
|
38
|
+
}
|
39
|
+
}
|
40
|
+
|
41
|
+
exports.getData = function(threadID) {
|
42
|
+
switch (Database.has(String(threadID),true)) {
|
43
|
+
case true: {
|
44
|
+
return Database.get(String(threadID),{},true)
|
45
|
+
}
|
46
|
+
case false: {
|
47
|
+
return null;
|
48
|
+
}
|
49
|
+
}
|
50
|
+
}
|
51
|
+
|
52
|
+
exports.deleteAll = function(data) {
|
53
|
+
for (let i of data) {
|
54
|
+
Database.delete(String(i),true);
|
55
|
+
}
|
56
|
+
}
|
57
|
+
|
58
|
+
exports.getAll = function() {
|
59
|
+
return Database.list(true);
|
60
|
+
}
|
61
|
+
|
62
|
+
exports.hasData = function(threadID) {
|
63
|
+
return Database.has(String(threadID),true);
|
64
|
+
}
|
65
|
+
|
66
|
+
exports.alreadyUpdate = function(threadID) {
|
67
|
+
var Time = Database.get(String(threadID),{},true).TimeUpdate;
|
68
|
+
try {
|
69
|
+
if (global.Fca.startTime >= (Time + (3600 * 1000))) {
|
70
|
+
logger.Normal(getText(language.alreadyUpdate, String(threadID)));
|
71
|
+
return true;
|
72
|
+
}
|
73
|
+
else return false;
|
74
|
+
}
|
75
|
+
catch (e) {
|
76
|
+
console.log(e);
|
77
|
+
return true;
|
78
|
+
}
|
79
|
+
}
|
80
|
+
|
81
|
+
exports.readyCreate = function(Name) {
|
82
|
+
switch (Database.has(String(Name),true)) {
|
83
|
+
case true: {
|
84
|
+
if (Number(global.Fca.startTime) >= Number(Database.get(String(Name),{},true) + (120 * 1000))) {
|
85
|
+
return true;
|
86
|
+
}
|
87
|
+
else {
|
88
|
+
return false;
|
89
|
+
}
|
90
|
+
}
|
91
|
+
case false: {
|
92
|
+
return false;
|
93
|
+
}
|
94
|
+
}
|
95
|
+
}
|
96
|
+
|
97
|
+
exports.setLastRun = function(Name,LastRun) {
|
98
|
+
Database.set(String(Name),String(lastRun(LastRun)),true);
|
99
|
+
}
|
100
|
+
|
101
|
+
exports.getLastRun = function(Name) {
|
102
|
+
switch (Database.has(String(Name),true)) {
|
103
|
+
case true: {
|
104
|
+
return Database.get(String(Name),{},true);
|
105
|
+
}
|
106
|
+
case false: {
|
107
|
+
try {
|
108
|
+
capture(Name)
|
109
|
+
this.setLastRun(Name,Name);
|
110
|
+
return Database.get(String(Name),{},true);
|
111
|
+
}
|
112
|
+
catch(e) {
|
113
|
+
console.log(e);
|
114
|
+
return Date.now();
|
115
|
+
}
|
116
|
+
}
|
117
|
+
}
|
118
|
+
}
|
@@ -0,0 +1,62 @@
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-var-requires */
|
2
|
+
// Credit: Kb2a Team
|
3
|
+
|
4
|
+
import { get } from "got";
|
5
|
+
|
6
|
+
/**
|
7
|
+
* Translate a text from <from> to <to> using Bing engine
|
8
|
+
* @async
|
9
|
+
* @method bing
|
10
|
+
* @param {string} text Text to be translated
|
11
|
+
* @param {string} from Source language
|
12
|
+
* @param {string} to Destination language
|
13
|
+
* @return {string} Translated text
|
14
|
+
* @example
|
15
|
+
* await bing("hello impostor", "en", "ur") // => "hello impostor"
|
16
|
+
*/
|
17
|
+
async function bing(text, from, to) {
|
18
|
+
const body = await get(`http://api.microsofttranslator.com/V2/Ajax.svc/Translate?appId=68D088969D79A8B23AF8585CC83EBA2A05A97651&from=${from}&to=${to}&text=${text}`).text()
|
19
|
+
return body.replace(/"/g,'')
|
20
|
+
}
|
21
|
+
|
22
|
+
/**
|
23
|
+
* Translate a text from <from> to <to> using Google engine
|
24
|
+
* @async
|
25
|
+
* @method bing
|
26
|
+
* @param {string} text Text to be translated
|
27
|
+
* @param {string} [from="auto"] Source language
|
28
|
+
* @param {string} to Destination language
|
29
|
+
* @return {string} Translated text
|
30
|
+
* @example
|
31
|
+
* await google("giữa chúng ta", null, "en") // => "among us"
|
32
|
+
*/
|
33
|
+
|
34
|
+
async function google(text, from, to) {
|
35
|
+
const json = await
|
36
|
+
get(
|
37
|
+
`https://translate.googleapis.com/translate_a/single?client=gtx&sl=${from}&tl=${to}&dt=t&q=${text}
|
38
|
+
`)
|
39
|
+
.json()
|
40
|
+
return json[0][0][0];
|
41
|
+
}
|
42
|
+
|
43
|
+
/**
|
44
|
+
* Detect language that the text are using
|
45
|
+
* @async
|
46
|
+
* @method detect
|
47
|
+
* @param {string} text Source text
|
48
|
+
* @return {string} language
|
49
|
+
* @example
|
50
|
+
* await detect("Hello") // => "ur"
|
51
|
+
*/
|
52
|
+
|
53
|
+
async function detect(text) {
|
54
|
+
const body = await get(`https://api.microsofttranslator.com/V2/Http.svc/Detect?&appid=68D088969D79A8B23AF8585CC83EBA2A05A97651&text=${text}`);
|
55
|
+
return />(.*?)</.exec(body.body)[1]
|
56
|
+
}
|
57
|
+
|
58
|
+
export default {
|
59
|
+
bing,
|
60
|
+
google,
|
61
|
+
detect
|
62
|
+
}
|
@@ -0,0 +1,62 @@
|
|
1
|
+
/* eslint-disable no-redeclare */
|
2
|
+
/* eslint-disable no-undef */
|
3
|
+
/* eslint-disable @typescript-eslint/no-var-requires */
|
4
|
+
const logger = require("../logger");
|
5
|
+
var { join } = require('path');
|
6
|
+
/**
|
7
|
+
* It checks if the process is running in PM2, if it isn't, it installs PM2, starts it, and exits the
|
8
|
+
* process.
|
9
|
+
* @returns the logger.Normal function.
|
10
|
+
*/
|
11
|
+
|
12
|
+
function PM2Mode () {
|
13
|
+
if (!process.env.PM2) {
|
14
|
+
const { execSync } = require('child_process');
|
15
|
+
logger.Normal(globalThis.Fca.Require.Language.ExtraUpTime.PM2);
|
16
|
+
execSync('npm i pm2', { stdio: 'inherit'}); //ey zo how about sudo in linux 🐧
|
17
|
+
execSync(`pm2 start ${join(__dirname, "/PM2/ecosystem.config.js")} --no-daemon`, { stdio: 'inherit' }); //That's not the end.
|
18
|
+
process.exit();
|
19
|
+
}
|
20
|
+
else return logger.Normal(globalThis.Fca.Require.Language.ExtraUpTime.InPm2Mode);
|
21
|
+
}
|
22
|
+
|
23
|
+
/* It's checking if the process is running in PM2, if it isn't, it installs PM2, starts it, and exits
|
24
|
+
the process. */
|
25
|
+
module.exports = function() {
|
26
|
+
var Logger = globalThis.Fca.Require.logger;
|
27
|
+
switch (process.platform) {
|
28
|
+
case 'win32':
|
29
|
+
var Value = globalThis.Fca.Require.FastConfig;
|
30
|
+
if (Value.Uptime) {
|
31
|
+
return PM2Mode();
|
32
|
+
}
|
33
|
+
break;
|
34
|
+
case 'darwin':
|
35
|
+
var Value = globalThis.Fca.Require.FastConfig;
|
36
|
+
if (Value.Uptime) {
|
37
|
+
return PM2Mode();
|
38
|
+
}
|
39
|
+
break;
|
40
|
+
case 'linux':
|
41
|
+
if (process.env.REPL_SLUG) {
|
42
|
+
var Value = globalThis.Fca.Require.FastConfig;
|
43
|
+
var Fetch = globalThis.Fca.Require.Fetch;
|
44
|
+
if (Value.Uptime) {
|
45
|
+
logger.Normal(globalThis.Fca.Require.Language.ExtraUpTime.Uptime);//
|
46
|
+
return setInterval(function() {
|
47
|
+
Fetch.get(`https://${process.env.REPL_SLUG}.${process.env.REPL_OWNER}.repl.co`);
|
48
|
+
},10*1000);
|
49
|
+
}
|
50
|
+
else return;
|
51
|
+
}
|
52
|
+
else {
|
53
|
+
var Value = globalThis.Fca.Require.FastConfig;
|
54
|
+
if (Value.Uptime) {
|
55
|
+
return PM2Mode();
|
56
|
+
}
|
57
|
+
}
|
58
|
+
break;
|
59
|
+
default:
|
60
|
+
Logger.Warning(globalThis.Fca.Require.Language.ExtraUpTime.NotSupport);
|
61
|
+
}
|
62
|
+
};
|