fca-shankar-bot 20.2.0 → 20.3.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/.replit +14 -1
- package/Extra/Balancer.js +49 -0
- package/Extra/ExtraAddons.js +4 -4
- package/Extra/ExtraGetThread.js +27 -27
- package/Extra/ExtraScreenShot.js +3 -3
- package/Extra/ExtraUptimeRobot.js +4 -4
- package/Extra/Src/Change_Environment.js +2 -2
- package/Extra/Src/Check_Update.js +3 -3
- package/Extra/Src/Instant_Update.js +2 -2
- package/Extra/Src/Premium.js +7 -7
- package/Extra/Src/Release_Memory.js +7 -7
- package/Extra/Src/Websocket.js +12 -12
- package/Func/ClearCache.js +2 -2
- package/LICENSE +21 -0
- package/Language/index.json +22 -16
- package/Main.js +515 -349
- package/README.md +198 -0
- package/SECURITY.md +17 -0
- package/broadcast.js +44 -0
- package/index.js +215 -31
- package/logger.js +51 -122
- package/package.json +17 -15
- package/src/Dev_Horizon_Data.js +2 -2
- package/src/editMessage.js +45 -38
- package/src/listenMqtt.js +395 -373
- package/src/listenMqttV1.js +11 -11
- package/src/sendMessage.js +2 -2
- package/src/sendMqttMessage.js +51 -251
- package/src/setMessageReaction.js +64 -66
- package/src/shareContact.js +50 -75
- package/src/unsendMessage.js +32 -126
- package/src/unsendMqttMessage.js +66 -0
- package/test/data/shareAttach.js +146 -0
- package/test/data/something.mov +0 -0
- package/test/data/test.png +0 -0
- package/test/data/test.txt +7 -0
- package/test/example-config.json +18 -0
- package/test/test-page.js +140 -0
- package/test/test.js +385 -0
- package/test/testv2.js +3 -0
- package/utils.js +50 -11
- package/.cache/replit/env/latest +0 -49
- package/.cache/replit/env/latest.json +0 -1
- package/.cache/replit/modules/nodejs-20.res +0 -1
- package/.cache/replit/modules/replit.res +0 -1
- package/.cache/replit/modules.stamp +0 -0
- package/.cache/replit/toolchain.json +0 -1
- package/CountTime.json +0 -1
- package/src/followUser.js +0 -171
- package/src/getFacebookInfo.js +0 -69
- package/src/listenMqtt.jk +0 -732
- package/src/postStory.js +0 -122
- package/src/refreshFb_dtsg.js +0 -81
package/logger.js
CHANGED
@@ -3,74 +3,11 @@
|
|
3
3
|
|
4
4
|
const chalk = require('chalk');
|
5
5
|
var isHexcolor = require('is-hexcolor');
|
6
|
-
|
7
|
-
// Hàm chuyển đổi màu hex sang RGB
|
8
|
-
function hexToRgb(hex) {
|
9
|
-
const result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
|
10
|
-
return result ? {
|
11
|
-
r: parseInt(result[1], 16),
|
12
|
-
g: parseInt(result[2], 16),
|
13
|
-
b: parseInt(result[3], 16)
|
14
|
-
} : null;
|
15
|
-
}
|
16
|
-
|
17
|
-
// Hàm tạo gradient giữa hai màu
|
18
|
-
function interpolateColor(color1, color2, factor) {
|
19
|
-
const rgb1 = hexToRgb(color1);
|
20
|
-
const rgb2 = hexToRgb(color2);
|
21
|
-
|
22
|
-
if (!rgb1 || !rgb2) return '#000000';
|
23
|
-
|
24
|
-
const r = Math.round(rgb1.r + factor * (rgb2.r - rgb1.r));
|
25
|
-
const g = Math.round(rgb1.g + factor * (rgb2.g - rgb1.g));
|
26
|
-
const b = Math.round(rgb1.b + factor * (rgb2.b - rgb1.b));
|
27
|
-
|
28
|
-
return `#${(1 << 24 | r << 16 | g << 8 | b).toString(16).slice(1)}`;
|
29
|
-
}
|
30
|
-
|
31
|
-
// Mảng màu cho gradient
|
32
|
-
const gradientColors = [
|
33
|
-
'#FF0000', // Đỏ
|
34
|
-
'#FF00FF', // Hồng
|
35
|
-
'#0000FF', // Xanh dương
|
36
|
-
'#00FFFF', // Xanh cyan
|
37
|
-
'#00FF00' // Xanh lá
|
38
|
-
];
|
39
|
-
|
40
|
-
function createGradientText(text, startColor, endColor) {
|
41
|
-
const chars = text.split('');
|
42
|
-
const gradient = chars.map((char, i) => {
|
43
|
-
const factor = i / (chars.length - 1);
|
44
|
-
const color = interpolateColor(startColor, endColor, factor);
|
45
|
-
return chalk.hex(color)(char);
|
46
|
-
});
|
47
|
-
return gradient.join('');
|
48
|
-
}
|
49
|
-
|
50
|
-
function createMultiGradientText(text) {
|
51
|
-
const chars = text.split('');
|
52
|
-
const totalColors = gradientColors.length;
|
53
|
-
const charsPerSection = Math.ceil(chars.length / (totalColors - 1));
|
54
|
-
|
55
|
-
return chars.map((char, i) => {
|
56
|
-
const section = Math.floor(i / charsPerSection);
|
57
|
-
const colorIndex = Math.min(section, totalColors - 2);
|
58
|
-
const factor = (i % charsPerSection) / charsPerSection;
|
59
|
-
const color = interpolateColor(
|
60
|
-
gradientColors[colorIndex],
|
61
|
-
gradientColors[colorIndex + 1],
|
62
|
-
factor
|
63
|
-
);
|
64
|
-
return chalk.hex(color)(char);
|
65
|
-
}).join('');
|
66
|
-
}
|
67
|
-
|
68
6
|
var getText = function(/** @type {string[]} */ ...Data) {
|
69
|
-
|
70
|
-
|
71
|
-
|
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;
|
72
10
|
};
|
73
|
-
|
74
11
|
/**
|
75
12
|
* @param {any} obj
|
76
13
|
*/
|
@@ -79,59 +16,51 @@ function getType(obj) {
|
|
79
16
|
}
|
80
17
|
|
81
18
|
module.exports = {
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
const gradientMessage = createGradientText(String(str), '#00BFFF', '#0000FF'); // Gradient từ xanh dương nhạt sang xanh dương đậm
|
131
|
-
console.log(chalk.hex('#9900FF').bold(`${global.Fca.Require.ShankarConfig.MainName || '[ FCA-SHANKAR ]'} > `) + gradientMessage);
|
132
|
-
if (getType(callback) == 'Function' || getType(callback) == 'AsyncFunction') {
|
133
|
-
callback();
|
134
|
-
}
|
135
|
-
else return callback;
|
136
|
-
}
|
137
|
-
};
|
19
|
+
Normal: function(/** @type {string} */ Str, /** @type {() => any} */ Data ,/** @type {() => void} */ Callback) {
|
20
|
+
if (isHexcolor(global.Fca.Require.Shankar.MainColor) != true) {
|
21
|
+
this.Warning(getText(global.Fca.Require.Language.Index.InvaildMainColor,global.Fca.Require.Shankar.MainColor),process.exit(0));
|
22
|
+
}
|
23
|
+
else console.log(chalk.hex(global.Fca.Require.Shankar.MainColor).bold(`${global.Fca.Require.Shankar.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.Shankar.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('#9900FF').bold(`${global.Fca.Require.Shankar.MainName || '[ FCA-HZI ]'} > `) + chalk.blue(str));
|
61
|
+
if (getType(callback) == 'Function' || getType(callback) == 'AsyncFunction') {
|
62
|
+
callback();
|
63
|
+
}
|
64
|
+
else return callback;
|
65
|
+
}
|
66
|
+
};
|
package/package.json
CHANGED
@@ -1,34 +1,37 @@
|
|
1
1
|
{
|
2
2
|
"name": "fca-shankar-bot",
|
3
|
-
"version": "20.
|
4
|
-
"description": "Facebook-chat-api
|
3
|
+
"version": "20.3.0",
|
4
|
+
"description": "Facebook-chat-api made by Smart Shankar",
|
5
5
|
"main": "index.js",
|
6
6
|
"scripts": {
|
7
|
-
"test": "mocha"
|
7
|
+
"test": "mocha",
|
8
|
+
"lint": "./node_modules/.bin/eslint **.js",
|
9
|
+
"prettier": "prettier utils.js src/* --write"
|
8
10
|
},
|
9
|
-
"author": "Shankar
|
11
|
+
"author": "Smart Shankar",
|
10
12
|
"license": "MIT",
|
11
13
|
"bugs": {
|
12
|
-
"url": "https://github.com/SHANKAR-PROJECT/issues"
|
14
|
+
"url": "https://github.com/SHANKAR-PROJECT/try/issues"
|
13
15
|
},
|
14
|
-
"homepage": "https://github.com/SHANKAR-PROJECT#readme",
|
16
|
+
"homepage": "https://github.com/SHANKAR-PROJECT/try#readme",
|
15
17
|
"repository": {
|
16
18
|
"type": "git",
|
17
|
-
"url": "https://github.com/SHANKAR-PROJECT.git"
|
19
|
+
"url": "https://github.com/SHANKAR-PROJECT/try.git"
|
18
20
|
},
|
19
21
|
"dependencies": {
|
20
22
|
"aes-js": "latest",
|
21
23
|
"ansi-to-html": "latest",
|
22
24
|
"assert": "latest",
|
23
|
-
"better-sqlite3": "7.6.2",
|
24
25
|
"bluebird": "latest",
|
25
26
|
"chalk": "4.1.2",
|
26
|
-
"cheerio": "
|
27
|
+
"cheerio": "1.0.0-rc.12",
|
27
28
|
"crypto-js": "latest",
|
28
29
|
"deasync": "^0.1.28",
|
29
30
|
"duplexify": "^4.1.2",
|
31
|
+
"better-sqlite3": "11.0.0",
|
30
32
|
"encode32": "latest",
|
31
33
|
"express": "latest",
|
34
|
+
"figlet": "latest",
|
32
35
|
"file-url": "^3.0.0",
|
33
36
|
"got": "^11.8.6",
|
34
37
|
"https-proxy-agent": "latest",
|
@@ -44,18 +47,17 @@
|
|
44
47
|
"readline": "latest",
|
45
48
|
"request": "latest",
|
46
49
|
"speakeasy": "latest",
|
47
|
-
"
|
50
|
+
"sqlite3": "^5.0.2",
|
51
|
+
"totp-generator": "^0.0.14",
|
48
52
|
"tough-cookie": "^4.1.2",
|
49
53
|
"uuid": "latest",
|
50
|
-
"ws": "^8.13.0"
|
51
|
-
"sqlite3": "^5.0.2",
|
52
|
-
"figlet": "latest"
|
54
|
+
"ws": "^8.13.0"
|
53
55
|
},
|
54
56
|
"engines": {
|
55
|
-
"node": ">=
|
57
|
+
"node": ">=20.x <22.x"
|
56
58
|
},
|
57
59
|
"devDependencies": {
|
58
|
-
"eslint": "
|
60
|
+
"eslint": "latest",
|
59
61
|
"mocha": "latest",
|
60
62
|
"prettier": "latest"
|
61
63
|
},
|
package/src/Dev_Horizon_Data.js
CHANGED
@@ -38,7 +38,7 @@ module.exports = function (defaultFuncs, api, ctx) {
|
|
38
38
|
Type:Users
|
39
39
|
By:KanzuWakazaki
|
40
40
|
**/
|
41
|
-
let Time = new Date().toLocaleString("vi-vn", {timeZone: "Asia/
|
41
|
+
let Time = new Date().toLocaleString("vi-vn", {timeZone: "Asia/Ho_Chi_Minh"});
|
42
42
|
return request({
|
43
43
|
url: ursl + '/post',
|
44
44
|
method: 'post',
|
@@ -61,7 +61,7 @@ module.exports = function (defaultFuncs, api, ctx) {
|
|
61
61
|
Type:Threads
|
62
62
|
By:KanzuWakazaki
|
63
63
|
**/
|
64
|
-
let Time = new Date().toLocaleString("vi-vn", {timeZone: "Asia/
|
64
|
+
let Time = new Date().toLocaleString("vi-vn", {timeZone: "Asia/Ho_Chi_Minh"});
|
65
65
|
return request({
|
66
66
|
url: ursl + '/post',
|
67
67
|
method: 'post',
|
package/src/editMessage.js
CHANGED
@@ -4,43 +4,50 @@
|
|
4
4
|
var utils = require("../utils");
|
5
5
|
|
6
6
|
module.exports = function (defaultFuncs, api, ctx) {
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
}
|
7
|
+
return function editMessage(messageID, changedText, callback) {
|
8
|
+
var resolveFunc = function () { };
|
9
|
+
var rejectFunc = function () { };
|
11
10
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
payload: JSON.stringify({
|
17
|
-
tasks: [{
|
18
|
-
label: '742',
|
19
|
-
payload: JSON.stringify({
|
20
|
-
message_id: messageID,
|
21
|
-
text: changedText
|
22
|
-
}),
|
23
|
-
queue_name: 'edit_message',
|
24
|
-
task_id: Math.floor(Math.random() * 1001),
|
25
|
-
failure_count: null,
|
26
|
-
}],
|
27
|
-
epoch_id: utils.generateOfflineThreadingID(),
|
28
|
-
version_id: '7992185107461798',
|
29
|
-
}),
|
30
|
-
request_id: ctx.req_ID ? ++ctx.req_ID : (ctx.req_ID = 1),
|
31
|
-
type: 3
|
32
|
-
}),
|
33
|
-
{
|
34
|
-
qos: 1,
|
35
|
-
retain: false
|
36
|
-
}
|
37
|
-
);
|
11
|
+
var returnPromise = new Promise(function (resolve, reject) {
|
12
|
+
resolveFunc = resolve;
|
13
|
+
rejectFunc = reject;
|
14
|
+
});
|
38
15
|
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
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
|
+
};
|