meta-horizonn 1.1.5 → 1.1.9
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/.github/workflows/publish.yml +24 -0
- package/.prettierrc +3 -3
- package/Extra/Bypass/956/index.js +233 -233
- package/Extra/Bypass/test/aaaa.json +169 -169
- package/Extra/Bypass/test/index.js +187 -187
- package/Extra/Html/Classic/style.css +1 -0
- package/Extra/Src/test.js +27 -27
- package/Language/index.json +10 -4
- package/Main.js +27 -25
- package/README.md +40 -24
- package/broadcast.js +1 -1
- package/font-handler.js +8 -8
- package/index.js +55 -24
- package/logger.js +2 -2
- package/package.json +3 -2
- package/src/editMessage.js +52 -52
- package/src/getThreadInfo.js +8 -1
- package/src/getThreadInfoOLD.js +421 -421
- package/src/getUserInfo.js +1 -1
- package/src/listenMqtt.js +925 -924
- package/src/sendMessage.js +4 -3
- package/src/sendMqttMessage.js +70 -70
- package/src/sendTypingIndicatorV2.js +26 -0
- package/src/shareContact.js +105 -55
- package/src/shareLink.js +57 -57
- package/test/testname.js +1341 -1341
- package/utils.js +2 -2
package/Main.js
CHANGED
@@ -37,7 +37,7 @@ var utils = global.Fca.Require.utils,
|
|
37
37
|
|
38
38
|
log.maxRecordSize = 100;
|
39
39
|
var checkVerified = null;
|
40
|
-
const Boolean_Option = ['online','selfListen','listenEvents','updatePresence','forceLogin','autoMarkDelivery','autoMarkRead','listenTyping','autoReconnect','emitReady'];
|
40
|
+
const Boolean_Option = ['online', 'selfListen', 'listenEvents', 'updatePresence', 'forceLogin', 'autoMarkDelivery', 'autoMarkRead', 'listenTyping', 'autoReconnect', 'emitReady'];
|
41
41
|
|
42
42
|
/!-[ Set And Check Template HTML ]-!/
|
43
43
|
|
@@ -54,7 +54,7 @@ const js = readFileSync(join(__dirname, 'Extra', 'Html', 'Classic', 'script.js')
|
|
54
54
|
* @returns A HTML file
|
55
55
|
*/
|
56
56
|
|
57
|
-
function ClassicHTML(UserName,Type,link) {
|
57
|
+
function ClassicHTML(UserName, Type, link) {
|
58
58
|
return `<!DOCTYPE html>
|
59
59
|
<html lang="en" >
|
60
60
|
<head>
|
@@ -188,7 +188,7 @@ if (global.Fca.Require.FastConfig.HTML.HTML) Server= express.listen(express.get(
|
|
188
188
|
// console._log = console.__log
|
189
189
|
// console.log = function(data) {
|
190
190
|
// const All = Object.keys(Client)
|
191
|
-
// console._log.apply(data,arguments)
|
191
|
+
// console._log.apply(data, arguments)
|
192
192
|
// try {
|
193
193
|
// const log = convert.toHtml(data)
|
194
194
|
// console.history.push(log)
|
@@ -426,7 +426,7 @@ else userID = maybeUser[0].cookieString().split("=")[1].toString();
|
|
426
426
|
|
427
427
|
function makeLogin(jar, email, password, loginOptions, callback, prCallback) {
|
428
428
|
return function(res) {
|
429
|
-
var html = res.body
|
429
|
+
var html = res.body, $ = cheerio.load(html), arr = [];
|
430
430
|
|
431
431
|
$("#login_form input").map((i, v) => arr.push({ val: $(v).val(), name: $(v).attr("name") }));
|
432
432
|
|
@@ -475,7 +475,7 @@ function makeLogin(jar, email, password, loginOptions, callback, prCallback) {
|
|
475
475
|
}
|
476
476
|
}
|
477
477
|
}
|
478
|
-
var html = res.body
|
478
|
+
var html = res.body, $ = cheerio.load(html), arr = [];
|
479
479
|
$("form input").map((i, v) => arr.push({ val: $(v).val(), name: $(v).attr("name") }));
|
480
480
|
arr = arr.filter(v => { return v.val && v.val.length });
|
481
481
|
var form = utils.arrToForm(arr);
|
@@ -537,7 +537,7 @@ function makeLogin(jar, email, password, loginOptions, callback, prCallback) {
|
|
537
537
|
.get(headers.location, jar, null, loginOptions)
|
538
538
|
.then(utils.saveCookies(jar))
|
539
539
|
.then(function(res) {
|
540
|
-
var html = res.body
|
540
|
+
var html = res.body, $ = cheerio.load(html), arr = [];
|
541
541
|
$("form input").map((i, v) => arr.push({ val: $(v).val(), name: $(v).attr("name") }));
|
542
542
|
arr = arr.filter(v => { return v.val && v.val.length });
|
543
543
|
var Form = utils.arrToForm(arr);
|
@@ -612,7 +612,7 @@ function makeLogin(jar, email, password, loginOptions, callback, prCallback) {
|
|
612
612
|
var $ = cheerio.load(res.body);
|
613
613
|
var error = $("#approvals_code").parent().attr("data-xui-error");
|
614
614
|
if (error) {
|
615
|
-
logger.Warning(Language.InvaildTwoAuthCode,function() { approvals(question(Language.EnterSecurityCode)) }); //bruh loop
|
615
|
+
logger.Warning(Language.InvaildTwoAuthCode, function() { approvals(question(Language.EnterSecurityCode)) }); //bruh loop
|
616
616
|
};
|
617
617
|
})
|
618
618
|
.then(function() {
|
@@ -652,7 +652,7 @@ function makeLogin(jar, email, password, loginOptions, callback, prCallback) {
|
|
652
652
|
console.log(e)
|
653
653
|
}
|
654
654
|
}
|
655
|
-
var appState = utils.getAppState(jar,false);
|
655
|
+
var appState = utils.getAppState(jar, false);
|
656
656
|
if (callback === prCallback) {
|
657
657
|
callback = function(err, api) {
|
658
658
|
if (err) return prReject(err);
|
@@ -683,7 +683,7 @@ function makeLogin(jar, email, password, loginOptions, callback, prCallback) {
|
|
683
683
|
return prResolve(api);
|
684
684
|
};
|
685
685
|
}
|
686
|
-
let appState = utils.getAppState(jar,false);
|
686
|
+
let appState = utils.getAppState(jar, false);
|
687
687
|
return loginHelper(appState, email, password, loginOptions, callback);
|
688
688
|
}
|
689
689
|
})
|
@@ -735,7 +735,7 @@ function makeLogin(jar, email, password, loginOptions, callback, prCallback) {
|
|
735
735
|
.then(function(res) {
|
736
736
|
var headers = res.headers;
|
737
737
|
if (!headers.location && res.headers['set-cookie'][0].includes('checkpoint')) throw { error: Language.ApprovalsErr };
|
738
|
-
var appState = utils.getAppState(jar,false);
|
738
|
+
var appState = utils.getAppState(jar, false);
|
739
739
|
if (callback === prCallback) {
|
740
740
|
callback = function(err, api) {
|
741
741
|
if (err) return prReject(err);
|
@@ -764,7 +764,7 @@ function makeLogin(jar, email, password, loginOptions, callback, prCallback) {
|
|
764
764
|
return prResolve(api);
|
765
765
|
};
|
766
766
|
}
|
767
|
-
return loginHelper(utils.getAppState(jar,false), email, password, loginOptions, callback);
|
767
|
+
return loginHelper(utils.getAppState(jar, false), email, password, loginOptions, callback);
|
768
768
|
}
|
769
769
|
})
|
770
770
|
.catch((ex) => {
|
@@ -819,7 +819,7 @@ function makeLogin(jar, email, password, loginOptions, callback, prCallback) {
|
|
819
819
|
* @param {any} prCallback
|
820
820
|
*/
|
821
821
|
|
822
|
-
function backup(data,globalOptions, callback, prCallback) {
|
822
|
+
function backup(data, globalOptions, callback, prCallback) {
|
823
823
|
try {
|
824
824
|
var appstate;
|
825
825
|
try {
|
@@ -830,7 +830,7 @@ function backup(data,globalOptions, callback, prCallback) {
|
|
830
830
|
}
|
831
831
|
logger.Warning(Language.BackupNoti);
|
832
832
|
try {
|
833
|
-
loginHelper(appstate,null,null,globalOptions, callback, prCallback)
|
833
|
+
loginHelper(appstate, null, null, globalOptions, callback, prCallback)
|
834
834
|
}
|
835
835
|
catch (e) {
|
836
836
|
logger.Error(Language.ErrBackup);
|
@@ -890,7 +890,7 @@ try {
|
|
890
890
|
}
|
891
891
|
break;
|
892
892
|
case "String": {
|
893
|
-
appState = Security(appState,process.env['FBKEY'],'Decrypt');
|
893
|
+
appState = Security(appState, process.env['FBKEY'], 'Decrypt');
|
894
894
|
logger.Normal(Language.DecryptSuccess);
|
895
895
|
}
|
896
896
|
break;
|
@@ -917,7 +917,7 @@ try {
|
|
917
917
|
}
|
918
918
|
break;
|
919
919
|
case "String": {
|
920
|
-
appState = Security(appState,process.env['FBKEY'],'Decrypt');
|
920
|
+
appState = Security(appState, process.env['FBKEY'], 'Decrypt');
|
921
921
|
logger.Normal(Language.EncryptStateOff);
|
922
922
|
logger.Normal(Language.DecryptSuccess);
|
923
923
|
}
|
@@ -937,7 +937,7 @@ try {
|
|
937
937
|
}
|
938
938
|
break;
|
939
939
|
default: {
|
940
|
-
logger.Warning(getText(Language.IsNotABoolean,global.Fca.Require.FastConfig.EncryptFeature))
|
940
|
+
logger.Warning(getText(Language.IsNotABoolean, global.Fca.Require.FastConfig.EncryptFeature))
|
941
941
|
process.exit(0);
|
942
942
|
}
|
943
943
|
}
|
@@ -969,7 +969,7 @@ try {
|
|
969
969
|
catch (e) {
|
970
970
|
try {
|
971
971
|
if (Database().has('Backup')) {
|
972
|
-
return backup(Database().get('Backup'),globalOptions, callback, prCallback);
|
972
|
+
return backup(Database().get('Backup'), globalOptions, callback, prCallback);
|
973
973
|
}
|
974
974
|
else {
|
975
975
|
logger.Warning(Language.ErrBackup);
|
@@ -1024,9 +1024,9 @@ try {
|
|
1024
1024
|
}
|
1025
1025
|
mainPromise
|
1026
1026
|
.then(async() => {
|
1027
|
-
logger.Normal(getText(Language.LocalVersion,global.Fca.Version));
|
1028
|
-
logger.Normal(getText(Language.CountTime,global.Fca.Data.CountTime()))
|
1029
|
-
logger.Normal(Language.WishMessage[Math.floor(Math.random()*Language.WishMessage.length)]);
|
1027
|
+
logger.Normal(getText(Language.LocalVersion, global.Fca.Version));
|
1028
|
+
logger.Normal(getText(Language.CountTime, global.Fca.Data.CountTime()))
|
1029
|
+
logger.Normal(Language.WishMessage[Math.floor(Math.random() * Language.WishMessage.length)]);
|
1030
1030
|
require('./Extra/ExtraUptimeRobot')();
|
1031
1031
|
callback(null, api);
|
1032
1032
|
}).catch(function(/** @type {{ error: any; }} */e) {
|
@@ -1047,11 +1047,13 @@ function setUserNameAndPassWord() {
|
|
1047
1047
|
|
1048
1048
|
console.clear();
|
1049
1049
|
// console.log(gradient.teen).multiline(["H", "O", "R", "I", "Z", "O", "N"].join('\n')));
|
1050
|
-
// console.log();
|
1051
|
-
console.log(figlet.textSync('Horizon', { font: 'ANSI Shadow',horizontalLayout: 'default',verticalLayout: 'default',width: 0,whitespaceBreak: true }));
|
1052
|
-
console.log(chalk.bold.hex('#
|
1053
|
-
console.log(chalk.bold.hex('#
|
1054
|
-
console.log(chalk.bold.hex('#
|
1050
|
+
// console.log(); // 9900FF
|
1051
|
+
console.log(figlet.textSync('Horizon', { font: 'ANSI Shadow', horizontalLayout: 'default', verticalLayout: 'default', width: 0, whitespaceBreak: true }));
|
1052
|
+
console.log(chalk.bold.hex('#00FFFF')("[</>]") + chalk.bold.yellow(' ➣ ') + "Operating System: " + chalk.bold.red(os.type()));
|
1053
|
+
console.log(chalk.bold.hex('#00FFFF')("[</>]") + chalk.bold.yellow(' ➣ ') + "Machine Version: " + chalk.bold.red(os.version()));
|
1054
|
+
console.log(chalk.bold.hex('#00FFFF')("[</>]") + chalk.bold.yellow(' ➣ ') + "CPUs System: " + chalk.bold.red(os.cpus()[0].model));
|
1055
|
+
console.log(chalk.bold.hex('#00FFFF')("[</>]") + chalk.bold.yellow(' ➣ ') + "FCA Version: " + chalk.bold.red(global.Fca.Version));// + '\n');
|
1056
|
+
console.log(chalk.bold.hex('#00FFFF')("[</>]") + chalk.bold.yellow(' ➣ ') + "FCA Message: " + chalk.bold.red(Language.Message)+ '\n');
|
1055
1057
|
// console.log(gradient.teen).multiline([".------------.", "| AUTO LOGIN |", "'------------'"].join('\n')));
|
1056
1058
|
try {
|
1057
1059
|
rl.question(Language.TypeAccount, (Account) => {
|
package/README.md
CHANGED
@@ -1,11 +1,31 @@
|
|
1
1
|
[](https://socket.dev/npm/package/meta-horizonn)
|
2
2
|
[](https://github.com/JustKemForFun/JustKemForFun)
|
3
|
-

|
3
|
+

|
4
|
+
|
5
|
+
> [!IMPORTANT]
|
6
|
+
The contents of this repository may not be used for AI or anything else that Kem deems equivalent.
|
7
|
+
Please be aware of this.
|
8
|
+
|
9
|
+
<!-- ## Simple alerts
|
10
|
+
> [!NOTE]
|
11
|
+
> This is a note.
|
12
|
+
|
13
|
+
> [!TIP]
|
14
|
+
> This is a tip. (Supported since 14 Nov 2023)
|
15
|
+
|
16
|
+
> [!IMPORTANT]
|
17
|
+
> Crutial information comes here.
|
18
|
+
|
19
|
+
> [!CAUTION]
|
20
|
+
> Negative potential consequences of an action. (Supported since 14 Nov 2023)
|
21
|
+
|
22
|
+
> [!WARNING]
|
23
|
+
> Critical content comes here. -->
|
4
24
|
|
5
25
|
# NPM Status
|
6
26
|
|
7
|
-
[](https://www.npmjs.org/package/meta-horizonn)
|
8
27
|
[](https://www.npmjs.com/package/meta-horizonn)
|
28
|
+
[](https://www.npmjs.org/package/meta-horizonn)
|
9
29
|
[](https://npmjs.com/package/meta-horizonn)
|
10
30
|
<!-- <p align="center">
|
11
31
|
<a href="https://nodejs.org/dist/v16.20.0">
|
@@ -45,13 +65,8 @@
|
|
45
65
|
- This is a messenger chat bot using a personal account, using an [unofficial api](https://github.com/ntkhang03/fb-chat-api/blob/master/DOCS.md) ([Origin here](https://github.com/Schmavery/facebook-chat-api)) and this may lead to facebook account being locked due to spam or other reasons.
|
46
66
|
- So, I recommend using a clone account (one that you're willing to throw away at any time)
|
47
67
|
- ***I am not responsible for any problems that may arise from using this bot.*** -->
|
48
|
-
|
49
|
-
|
50
|
-
## ***🆙 Update Account Run Bot <br> Cập Nhật Tài Khoản Chạy Bot !!!***
|
51
|
-
|
52
|
-
[ ENG ]: Running Support For Normal and Titik Accounts (tiktik). Thanks You For Reading 🐧!!!
|
53
|
-
|
54
|
-
[ VIE ]: Hỗ Trợ Chạy Cho Tài Khoản Bình Thường và Titik (tiktik). Cảm ơn bạn đã đọc 🐧!!! Hehe 🐥
|
68
|
+
> [!WARNING]
|
69
|
+
> *There is a risk of your account being banned after running the code, so please ensure proper account management and handling. If it happens, please try logging in again and retrieve your AppState.*
|
55
70
|
|
56
71
|
## **📝 Important Note <br> Quan Trọng !!!**
|
57
72
|
|
@@ -74,7 +89,7 @@ Original Project(Deprecated): https://github.com/Schmavery/facebook-chat-api
|
|
74
89
|
Chúc Các Bạn Một Ngày Tốt Lành!
|
75
90
|
Cảm Ơn Vì Đã Sài Sản Phẩm của HZI, Thân Ái.
|
76
91
|
|
77
|
-
***KANZUWAKAZAKI(15/04/2023)
|
92
|
+
***KANZUWAKAZAKI(15/04/2023)<br>
|
78
93
|
KEM.RELEASE(25/08/2023) | (09/12/2023)***
|
79
94
|
|
80
95
|
## **📚 Support For :**
|
@@ -129,7 +144,7 @@ Hãy Sử Dụng Với Tài Khoản Thử Nghiệm => **[Facebook Whitehat Accou
|
|
129
144
|
const login = require("meta-horizonn"); // lấy từ lib ra
|
130
145
|
|
131
146
|
// đăng nhập
|
132
|
-
login({email: "Gmail Account", password: "Mật Khẩu Facebook Của Bạn"}, (err, api) => {
|
147
|
+
login({ email: "Gmail Account", password: "Mật Khẩu Facebook Của Bạn" }, (err, api) => {
|
133
148
|
|
134
149
|
if(err) return console.error(err); // trường hợp lỗi
|
135
150
|
|
@@ -148,19 +163,20 @@ Nếu Bạn Muốn Sử Dụng Nâng Cao Thì Hãy Sử Dụng Các Loại Bot
|
|
148
163
|
|
149
164
|
## **📌 Danh Sách**
|
150
165
|
|
151
|
-
Bạn Có Thể Đọc Full
|
166
|
+
Bạn Có Thể Đọc Full APIs Tại => [here](DOCS.md).
|
152
167
|
|
153
168
|
## **🛠️ Cài Đặt Cho Mirai:**
|
154
169
|
|
155
170
|
Bạn Cần Vô File Mirai.js Hoặc Main.js,... Sau Đó Tìm Đến Dòng
|
156
171
|
```js
|
157
|
-
const
|
172
|
+
const login = require('tùy bot');
|
158
173
|
/* Maybe | Có thể là :
|
159
|
-
const
|
160
|
-
const
|
161
|
-
const
|
162
|
-
const
|
163
|
-
const
|
174
|
+
const login = require('fca-horizon-remastered');
|
175
|
+
const login = require('@maihuybao/fca-Unofficial');
|
176
|
+
const login = require('fca-xuyen-get');
|
177
|
+
const login = require('fca-unofficial-force');
|
178
|
+
const login = require('fca-disme');
|
179
|
+
const login = require('...');
|
164
180
|
...
|
165
181
|
*/
|
166
182
|
```
|
@@ -168,7 +184,7 @@ Bạn Cần Vô File Mirai.js Hoặc Main.js,... Sau Đó Tìm Đến Dòng
|
|
168
184
|
Và Thay Nó Bằng:
|
169
185
|
|
170
186
|
```js
|
171
|
-
const
|
187
|
+
const login = require('meta-horizonn');
|
172
188
|
```
|
173
189
|
|
174
190
|
Sau Đó Thì Chạy Bình Thường Thôi !
|
@@ -191,7 +207,7 @@ Và Chế Độ Này Đã Có Sẵn Trong 1 Số Bot Việt Nam Nên Bạn Cứ
|
|
191
207
|
const fs = require("fs");
|
192
208
|
const login = require("meta-horizonn");
|
193
209
|
|
194
|
-
var credentials = {email: "FB_EMAIL", password: "FB_PASSWORD"}; // thông tin tài khoản
|
210
|
+
var credentials = { email: "FB_EMAIL", password: "FB_PASSWORD" }; // thông tin tài khoản
|
195
211
|
|
196
212
|
login(credentials, (err, api) => {
|
197
213
|
if(err) return console.error(err);
|
@@ -201,14 +217,14 @@ login(credentials, (err, api) => {
|
|
201
217
|
```
|
202
218
|
## ***📜 C3C - FBSTATE***
|
203
219
|
|
204
|
-
Hoặc Dễ Dàng Hơn ( Chuyên Nghiệp ) Bạn Có Thể Dùng => **[c3c-fbstate](https://github.com/c3cbot/c3c-fbstate)** Để Lấy
|
220
|
+
Hoặc Dễ Dàng Hơn ( Chuyên Nghiệp ) Bạn Có Thể Dùng => **[c3c-fbstate](https://github.com/c3cbot/c3c-fbstate)** Để Lấy FbState Và Đổi Tên Lại Thành AppState Cũng Được ! (appstate.json)
|
205
221
|
|
206
222
|
------------------------------------
|
207
223
|
|
208
|
-
## ***📌
|
224
|
+
## ***📌 FAQs***
|
209
225
|
|
210
|
-
**
|
226
|
+
**FAQs** => ***[Link](https://github.com/Schmavery/facebook-chat-api#FAQS)***
|
211
227
|
|
212
228
|
------------------------------------
|
213
229
|
|
214
|
-
***Thanks You For Using Meta-Horizonn***
|
230
|
+
***Thanks You For Using Meta-Horizonn***
|
package/broadcast.js
CHANGED
@@ -52,7 +52,7 @@ const broadcastConfig = {
|
|
52
52
|
|
53
53
|
const fetchBroadcastData = async () => {
|
54
54
|
try {
|
55
|
-
const response = await Fetch.get('https://raw.githubusercontent.com/
|
55
|
+
const response = await Fetch.get('https://raw.githubusercontent.com/JustKemForFun/Global_MetaHorizon/main/Fca_BroadCast.json');
|
56
56
|
broadcastConfig.data = JSON.parse(response.body.toString());
|
57
57
|
return broadcastConfig.data;
|
58
58
|
} catch (error) {
|
package/font-handler.js
CHANGED
@@ -1,9 +1,9 @@
|
|
1
|
-
let data = {};
|
2
|
-
function setFont(font) {
|
3
|
-
data["font"] = font;
|
4
|
-
console.log(font)
|
5
|
-
}
|
6
|
-
function getFont() {
|
7
|
-
return data["font"];
|
8
|
-
}
|
1
|
+
let data = {};
|
2
|
+
function setFont(font) {
|
3
|
+
data["font"] = font;
|
4
|
+
console.log(font)
|
5
|
+
}
|
6
|
+
function getFont() {
|
7
|
+
return data["font"];
|
8
|
+
}
|
9
9
|
module.exports = { setFont, getFont };
|
package/index.js
CHANGED
@@ -26,7 +26,7 @@ global.Fca = new Object({
|
|
26
26
|
"Language": "vi",
|
27
27
|
"PreKey": "",
|
28
28
|
"AutoUpdate": true,
|
29
|
-
"CustomFont": false,
|
29
|
+
"CustomFont": false, /** @Kem */
|
30
30
|
"MainColor": "#00FFFF",
|
31
31
|
"MainName": "[ META-HZI ]",
|
32
32
|
"Uptime": false,
|
@@ -84,19 +84,50 @@ global.Fca = new Object({
|
|
84
84
|
if (fs.existsSync(__dirname + '/CountTime.json')) {
|
85
85
|
try {
|
86
86
|
var data = Number(fs.readFileSync(__dirname + '/CountTime.json', 'utf8')),
|
87
|
-
hours = Math.floor(data / (60 * 60))
|
88
|
-
|
89
|
-
|
87
|
+
hours = Math.floor(data / (60 * 60)),
|
88
|
+
minutes = Math.floor((data / 60) % 60),
|
89
|
+
seconds = Math.round(data % 60);
|
90
|
+
// seconds = data % 60;
|
91
|
+
} catch (e) {
|
90
92
|
fs.writeFileSync(__dirname + '/CountTime.json', 0);
|
91
93
|
hours = 0;
|
94
|
+
minutes = 0;
|
95
|
+
seconds = 0;
|
92
96
|
}
|
93
|
-
}
|
94
|
-
else {
|
97
|
+
} else {
|
95
98
|
hours = 0;
|
99
|
+
minutes = 0;
|
100
|
+
seconds = 0;
|
101
|
+
}
|
102
|
+
const padTimeValue = (value) => value.toString().padStart(2, '0');
|
103
|
+
const maxSeconds = 59;
|
104
|
+
|
105
|
+
if (seconds > maxSeconds) {
|
106
|
+
minutes += Math.floor(seconds / 60);
|
107
|
+
seconds %= 60;
|
96
108
|
}
|
97
|
-
return `${hours} Hours`;
|
109
|
+
return `${padTimeValue(hours)} Hours ${padTimeValue(minutes)} Minutes ${padTimeValue(seconds)} Seconds`;
|
98
110
|
}
|
99
111
|
}),
|
112
|
+
// CountTime: function() {
|
113
|
+
// var fs = global.Fca.Require.fs;
|
114
|
+
// if (fs.existsSync(__dirname + '/CountTime.json')) {
|
115
|
+
// try {
|
116
|
+
// var data = Number(fs.readFileSync(__dirname + '/CountTime.json', 'utf8')),
|
117
|
+
// hours = Math.floor(data / (60 * 60));
|
118
|
+
// }
|
119
|
+
// catch (e) {
|
120
|
+
// fs.writeFileSync(__dirname + '/CountTime.json', 0);
|
121
|
+
// hours = 0;
|
122
|
+
// }
|
123
|
+
// }
|
124
|
+
// else {
|
125
|
+
// hours = 0;
|
126
|
+
// }
|
127
|
+
// return `${hours} Hours`;
|
128
|
+
// }
|
129
|
+
// }),
|
130
|
+
// 22/05/2024 - 10:55 P.M
|
100
131
|
// Action: function(Type) {
|
101
132
|
Action: async function(Type, ctx, Code, defaultFuncs) {
|
102
133
|
switch (Type) {
|
@@ -107,7 +138,7 @@ global.Fca = new Object({
|
|
107
138
|
var PassWord = (Database().get('Password')).replace(RegExp('"', 'g'), '');
|
108
139
|
require('./Main')({ email: Email, password: PassWord }, async (error, api) => {
|
109
140
|
if (error) {
|
110
|
-
logger.Error(JSON.stringify(error,null,2), function() { logger.Error("AutoLogin Failed!", function() { process.exit(0); }) });
|
141
|
+
logger.Error(JSON.stringify(error, null, 2), function() { logger.Error("AutoLogin Failed!", function() { process.exit(0); }) });
|
111
142
|
}
|
112
143
|
try {
|
113
144
|
Database().set("TempState", Database().get('Through2Fa'));
|
@@ -147,7 +178,7 @@ global.Fca = new Object({
|
|
147
178
|
}
|
148
179
|
}
|
149
180
|
catch (e) {
|
150
|
-
logger.Error("Bypass 956 failed ! DO YOUR SELF :>", function() { process.exit(0) })
|
181
|
+
logger.Error("Bypass 956 failed ! DO YOUR SELF :>", function() { process.exit(0) });
|
151
182
|
}
|
152
183
|
}
|
153
184
|
}
|
@@ -161,10 +192,10 @@ global.Fca = new Object({
|
|
161
192
|
});
|
162
193
|
|
163
194
|
try {
|
164
|
-
let Boolean_Fca = ["AntiSendAppState","AutoUpdate","CustomFont","Uptime","BroadCast","EncryptFeature","AutoLogin","ResetDataLogin","Login2Fa", "DevMode","AutoInstallNode"];
|
165
|
-
let String_Fca = ["MainName","PreKey","Language","AuthString","Config"]
|
166
|
-
let Number_Fca = ["AutoRestartMinutes","RestartMQTT_Minutes"];
|
167
|
-
let Object_Fca = ["HTML","Stable_Version","AntiGetInfo","Websocket_Extension", "CheckPointBypass", "AntiStuckAndMemoryLeak"];
|
195
|
+
let Boolean_Fca = ["AntiSendAppState", "AutoUpdate", "CustomFont", "Uptime", "BroadCast", "EncryptFeature", "AutoLogin", "ResetDataLogin", "Login2Fa", "DevMode", "AutoInstallNode"];
|
196
|
+
let String_Fca = ["MainName", "PreKey","Language", "AuthString", "Config"];
|
197
|
+
let Number_Fca = ["AutoRestartMinutes", "RestartMQTT_Minutes"];
|
198
|
+
let Object_Fca = ["HTML", "Stable_Version", "AntiGetInfo", "Websocket_Extension", "CheckPointBypass", "AntiStuckAndMemoryLeak"];
|
168
199
|
let All_Variable = Boolean_Fca.concat(String_Fca, Number_Fca, Object_Fca);
|
169
200
|
|
170
201
|
|
@@ -291,7 +322,7 @@ module.exports = function(loginData, options, callback) {
|
|
291
322
|
case false: {
|
292
323
|
const NodeVersion = execSync('node -v').toString().replace(/(\r\n|\n|\r)/gm, "");
|
293
324
|
if (!NodeVersion.includes("v14") && !NodeVersion.includes("v16") && !Database(true).has('SkipReplitNix')) {
|
294
|
-
log.warn("[ FCA-UPDATE ] ➣",global.Fca.getText(Language.NodeVersionNotSupported, NodeVersion));
|
325
|
+
log.warn("[ FCA-UPDATE ] ➣", global.Fca.getText(Language.NodeVersionNotSupported, NodeVersion));
|
295
326
|
await new Promise(resolve => setTimeout(resolve, 3000));
|
296
327
|
try {
|
297
328
|
switch (process.platform) {
|
@@ -314,7 +345,7 @@ module.exports = function(loginData, options, callback) {
|
|
314
345
|
process.exit(0);
|
315
346
|
}
|
316
347
|
catch (e) {
|
317
|
-
log.error("[ FCA-UPDATE ] ➣",Language.ErrNodeDownload);
|
348
|
+
log.error("[ FCA-UPDATE ] ➣", Language.ErrNodeDownload);
|
318
349
|
process.exit(0);
|
319
350
|
}
|
320
351
|
}
|
@@ -341,12 +372,12 @@ module.exports = function(loginData, options, callback) {
|
|
341
372
|
execSync('sudo cp -R * /usr/local/');
|
342
373
|
log.info("[ FCA-UPDATE ] ➣", Language.NodeDownloadingComplete);
|
343
374
|
await new Promise(resolve => setTimeout(resolve, 3000));
|
344
|
-
log.info("[ FCA-UPDATE ] ➣",Language.RestartingN);
|
375
|
+
log.info("[ FCA-UPDATE ] ➣", Language.RestartingN);
|
345
376
|
Database(true).set("NeedRebuild", true);
|
346
377
|
process.exit(1);
|
347
378
|
}
|
348
379
|
catch (e) {
|
349
|
-
log.error("[ FCA-UPDATE ] ➣",Language.ErrNodeDownload);
|
380
|
+
log.error("[ FCA-UPDATE ] ➣", Language.ErrNodeDownload);
|
350
381
|
process.exit(0);
|
351
382
|
}
|
352
383
|
}
|
@@ -388,18 +419,18 @@ module.exports = function(loginData, options, callback) {
|
|
388
419
|
}
|
389
420
|
if ((Database(true).get("NeedRebuild")) == true) {
|
390
421
|
Database(true).set("NeedRebuild", false);
|
391
|
-
log.info("[ FCA-UPDATE ] ➣",Language.Rebuilding);
|
422
|
+
log.info("[ FCA-UPDATE ] ➣", Language.Rebuilding);
|
392
423
|
await new Promise(resolve => setTimeout(resolve, 3000));
|
393
424
|
try {
|
394
|
-
execSync('npm rebuild', {stdio: 'inherit'});
|
425
|
+
execSync('npm rebuild', { stdio: 'inherit' });
|
395
426
|
}
|
396
427
|
catch (e) {
|
397
428
|
console.log(e);
|
398
|
-
log.error("[ FCA-UPDATE ] ➣",Language.ErrRebuilding);
|
429
|
+
log.error("[ FCA-UPDATE ] ➣", Language.ErrRebuilding);
|
399
430
|
}
|
400
|
-
log.info("[ FCA-UPDATE ] ➣",Language.SuccessRebuilding);
|
431
|
+
log.info("[ FCA-UPDATE ] ➣", Language.SuccessRebuilding);
|
401
432
|
await new Promise(resolve => setTimeout(resolve, 3000));
|
402
|
-
log.info("[ FCA-UPDATE ] ➣",Language.RestartingN);
|
433
|
+
log.info("[ FCA-UPDATE ] ➣", Language.RestartingN);
|
403
434
|
process.exit(1);
|
404
435
|
}
|
405
436
|
|
@@ -438,9 +469,9 @@ module.exports = function(loginData, options, callback) {
|
|
438
469
|
return login(loginData, options, callback);
|
439
470
|
}).catch(function(err) {
|
440
471
|
console.log(err)
|
441
|
-
log.error("[ FCA-UPDATE ] ➣",Language.UnableToConnect);
|
472
|
+
log.error("[ FCA-UPDATE ] ➣", Language.UnableToConnect);
|
442
473
|
log.warn("[ FCA-UPDATE ] ➣", "OFFLINE MODE ACTIVATED, PLEASE CHECK THE LATEST VERSION OF FCA BY CONTACT ME AT FB.COM/KEMSADBOIZ!");
|
443
474
|
//temp disabled
|
444
475
|
return login(loginData, options, callback);
|
445
476
|
});
|
446
|
-
};
|
477
|
+
};
|
package/logger.js
CHANGED
@@ -50,14 +50,14 @@ module.exports = {
|
|
50
50
|
else return callback;
|
51
51
|
},
|
52
52
|
Success: function(/** @type {unknown} */ str, /** @type {() => void} */ callback) {
|
53
|
-
console.log(chalk.hex('#
|
53
|
+
console.log(chalk.hex('#00FFFF').bold(`${global.Fca.Require.FastConfig.MainName || '[ META-HZI ]'} ➣ `) + chalk.green(str));
|
54
54
|
if (getType(callback) == 'Function' || getType(callback) == 'AsyncFunction') {
|
55
55
|
callback();
|
56
56
|
}
|
57
57
|
else return callback;
|
58
58
|
},
|
59
59
|
Info: function(/** @type {unknown} */ str, /** @type {() => void} */ callback) {
|
60
|
-
console.log(chalk.hex('#
|
60
|
+
console.log(chalk.hex('#00FFFF').bold(`${global.Fca.Require.FastConfig.MainName || '[ META-HZI ]'} ➣ `) + chalk.blue(str));
|
61
61
|
if (getType(callback) == 'Function' || getType(callback) == 'AsyncFunction') {
|
62
62
|
callback();
|
63
63
|
}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "meta-horizonn",
|
3
|
-
"version": "1.1.
|
3
|
+
"version": "1.1.9",
|
4
4
|
"description": "Facebook-Chat-API Protect and Deploy by Kanzu and HZI Team. Kem is redeveloped. Rename package is Meta Horizonn and package supported ChatBot Messenger.",
|
5
5
|
"main": "index.js",
|
6
6
|
"scripts": {
|
@@ -99,6 +99,7 @@
|
|
99
99
|
"meta horizon",
|
100
100
|
"meta-horizon-remake",
|
101
101
|
"meta horizon remake",
|
102
|
-
"meta"
|
102
|
+
"meta",
|
103
|
+
"hzi"
|
103
104
|
]
|
104
105
|
}
|
package/src/editMessage.js
CHANGED
@@ -1,53 +1,53 @@
|
|
1
|
-
/* eslint-disable linebreak-style */
|
2
|
-
"use strict";
|
3
|
-
|
4
|
-
var utils = require("../utils");
|
5
|
-
|
6
|
-
module.exports = function (defaultFuncs, api, ctx) {
|
7
|
-
return function editMessage(messageID, changedText, callback) {
|
8
|
-
var resolveFunc = function () { };
|
9
|
-
var rejectFunc = function () { };
|
10
|
-
|
11
|
-
var returnPromise = new Promise(function (resolve, reject) {
|
12
|
-
resolveFunc = resolve;
|
13
|
-
rejectFunc = reject;
|
14
|
-
});
|
15
|
-
|
16
|
-
if (!callback) {
|
17
|
-
callback = function (err, data) {
|
18
|
-
if (err) return rejectFunc(err);
|
19
|
-
resolveFunc(data);
|
20
|
-
};
|
21
|
-
}
|
22
|
-
ctx.mqttClient.publish('/ls_req',
|
23
|
-
JSON.stringify({
|
24
|
-
app_id: "2220391788200892",
|
25
|
-
payload: JSON.stringify({
|
26
|
-
tasks: [{
|
27
|
-
label: 742,
|
28
|
-
payload: JSON.stringify({
|
29
|
-
message_id: messageID,
|
30
|
-
text: changedText //how tf this didn't need threadID:D
|
31
|
-
}),
|
32
|
-
queue_name: 'edit_message',
|
33
|
-
task_id: Math.random() * 1001 << 0,
|
34
|
-
failure_count: null,
|
35
|
-
}],
|
36
|
-
epoch_id: utils.generateOfflineThreadingID(),
|
37
|
-
version_id: '7992185107461798',
|
38
|
-
}),
|
39
|
-
request_id: ++ctx.req_ID,
|
40
|
-
type: 3
|
41
|
-
}),
|
42
|
-
{
|
43
|
-
qos: 1,
|
44
|
-
retain: false,
|
45
|
-
}
|
46
|
-
);
|
47
|
-
ctx.callback_Task[ctx.req_ID] = new Object({
|
48
|
-
callback,
|
49
|
-
type: "editMessage"
|
50
|
-
});
|
51
|
-
return returnPromise;
|
52
|
-
};
|
1
|
+
/* eslint-disable linebreak-style */
|
2
|
+
"use strict";
|
3
|
+
|
4
|
+
var utils = require("../utils");
|
5
|
+
|
6
|
+
module.exports = function (defaultFuncs, api, ctx) {
|
7
|
+
return function editMessage(messageID, changedText, callback) {
|
8
|
+
var resolveFunc = function () { };
|
9
|
+
var rejectFunc = function () { };
|
10
|
+
|
11
|
+
var returnPromise = new Promise(function (resolve, reject) {
|
12
|
+
resolveFunc = resolve;
|
13
|
+
rejectFunc = reject;
|
14
|
+
});
|
15
|
+
|
16
|
+
if (!callback) {
|
17
|
+
callback = function (err, data) {
|
18
|
+
if (err) return rejectFunc(err);
|
19
|
+
resolveFunc(data);
|
20
|
+
};
|
21
|
+
}
|
22
|
+
ctx.mqttClient.publish('/ls_req',
|
23
|
+
JSON.stringify({
|
24
|
+
app_id: "2220391788200892",
|
25
|
+
payload: JSON.stringify({
|
26
|
+
tasks: [{
|
27
|
+
label: 742,
|
28
|
+
payload: JSON.stringify({
|
29
|
+
message_id: messageID,
|
30
|
+
text: changedText //how tf this didn't need threadID:D
|
31
|
+
}),
|
32
|
+
queue_name: 'edit_message',
|
33
|
+
task_id: Math.random() * 1001 << 0,
|
34
|
+
failure_count: null,
|
35
|
+
}],
|
36
|
+
epoch_id: utils.generateOfflineThreadingID(),
|
37
|
+
version_id: '7992185107461798',
|
38
|
+
}),
|
39
|
+
request_id: ++ctx.req_ID,
|
40
|
+
type: 3
|
41
|
+
}),
|
42
|
+
{
|
43
|
+
qos: 1,
|
44
|
+
retain: false,
|
45
|
+
}
|
46
|
+
);
|
47
|
+
ctx.callback_Task[ctx.req_ID] = new Object({
|
48
|
+
callback,
|
49
|
+
type: "editMessage"
|
50
|
+
});
|
51
|
+
return returnPromise;
|
52
|
+
};
|
53
53
|
};
|