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.
Files changed (53) hide show
  1. package/.replit +14 -1
  2. package/Extra/Balancer.js +49 -0
  3. package/Extra/ExtraAddons.js +4 -4
  4. package/Extra/ExtraGetThread.js +27 -27
  5. package/Extra/ExtraScreenShot.js +3 -3
  6. package/Extra/ExtraUptimeRobot.js +4 -4
  7. package/Extra/Src/Change_Environment.js +2 -2
  8. package/Extra/Src/Check_Update.js +3 -3
  9. package/Extra/Src/Instant_Update.js +2 -2
  10. package/Extra/Src/Premium.js +7 -7
  11. package/Extra/Src/Release_Memory.js +7 -7
  12. package/Extra/Src/Websocket.js +12 -12
  13. package/Func/ClearCache.js +2 -2
  14. package/LICENSE +21 -0
  15. package/Language/index.json +22 -16
  16. package/Main.js +515 -349
  17. package/README.md +198 -0
  18. package/SECURITY.md +17 -0
  19. package/broadcast.js +44 -0
  20. package/index.js +215 -31
  21. package/logger.js +51 -122
  22. package/package.json +17 -15
  23. package/src/Dev_Horizon_Data.js +2 -2
  24. package/src/editMessage.js +45 -38
  25. package/src/listenMqtt.js +395 -373
  26. package/src/listenMqttV1.js +11 -11
  27. package/src/sendMessage.js +2 -2
  28. package/src/sendMqttMessage.js +51 -251
  29. package/src/setMessageReaction.js +64 -66
  30. package/src/shareContact.js +50 -75
  31. package/src/unsendMessage.js +32 -126
  32. package/src/unsendMqttMessage.js +66 -0
  33. package/test/data/shareAttach.js +146 -0
  34. package/test/data/something.mov +0 -0
  35. package/test/data/test.png +0 -0
  36. package/test/data/test.txt +7 -0
  37. package/test/example-config.json +18 -0
  38. package/test/test-page.js +140 -0
  39. package/test/test.js +385 -0
  40. package/test/testv2.js +3 -0
  41. package/utils.js +50 -11
  42. package/.cache/replit/env/latest +0 -49
  43. package/.cache/replit/env/latest.json +0 -1
  44. package/.cache/replit/modules/nodejs-20.res +0 -1
  45. package/.cache/replit/modules/replit.res +0 -1
  46. package/.cache/replit/modules.stamp +0 -0
  47. package/.cache/replit/toolchain.json +0 -1
  48. package/CountTime.json +0 -1
  49. package/src/followUser.js +0 -171
  50. package/src/getFacebookInfo.js +0 -69
  51. package/src/listenMqtt.jk +0 -732
  52. package/src/postStory.js +0 -122
  53. 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
- var Main = (Data.splice(0,1)).toString();
70
- for (let i = 0; i < Data.length; i++) Main = Main.replace(RegExp(`%${i + 1}`, 'g'), Data[i]);
71
- return Main;
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
- Normal: function(/** @type {string} */ Str, /** @type {() => any} */ Data, /** @type {() => void} */ Callback) {
83
- if (isHexcolor(global.Fca.Require.ShankarConfig.MainColor) != true) {
84
- this.Warning(getText(global.Fca.Require.Language.Index.InvaildMainColor, global.Fca.Require.ShankarConfig.MainColor), process.exit(0));
85
- }
86
- else {
87
- const prefix = chalk.hex(global.Fca.Require.ShankarConfig.MainColor).bold(`${global.Fca.Require.ShankarConfig.MainName || '[ FCA-SHANKAR ]'} > `);
88
- const gradientMessage = createMultiGradientText(Str);
89
- console.log(prefix + gradientMessage);
90
- }
91
- if (getType(Data) == 'Function' || getType(Data) == 'AsyncFunction') {
92
- return Data();
93
- }
94
- if (Data) {
95
- return Data;
96
- }
97
- if (getType(Callback) == 'Function' || getType(Callback) == 'AsyncFunction') {
98
- Callback();
99
- }
100
- else return Callback;
101
- },
102
- Warning: function(/** @type {unknown} */ str, /** @type {() => void} */ callback) {
103
- const gradientMessage = createGradientText(String(str), '#FFD700', '#FFA500'); // Gradient từ vàng sang cam
104
- console.log(chalk.magenta.bold('[ FCA-WARNING ] > ') + gradientMessage);
105
- if (getType(callback) == 'Function' || getType(callback) == 'AsyncFunction') {
106
- callback();
107
- }
108
- else return callback;
109
- },
110
- Error: function(/** @type {unknown} */ str, /** @type {() => void} */ callback) {
111
- if (!str) {
112
- console.log(chalk.magenta.bold('[ FCA-ERROR ] > ') + createGradientText("Already Faulty, Please Contact: Facebook.com/शंकर.सिंघानिया", '#FF0000', '#8B0000'));
113
- }
114
- const gradientMessage = createGradientText(String(str), '#FF0000', '#8B0000'); // Gradient từ đỏ sáng sang đỏ đậm
115
- console.log(chalk.magenta.bold('[ FCA-ERROR ] > ') + gradientMessage);
116
- if (getType(callback) == 'Function' || getType(callback) == 'AsyncFunction') {
117
- callback();
118
- }
119
- else return callback;
120
- },
121
- Success: function(/** @type {unknown} */ str, /** @type {() => void} */ callback) {
122
- const gradientMessage = createGradientText(String(str), '#00FF00', '#006400'); // Gradient từ xanh sáng sang xanh đậm
123
- console.log(chalk.hex('#9900FF').bold(`${global.Fca.Require.ShankarConfig.MainName || '[ FCA-SHANKAR ]'} > `) + gradientMessage);
124
- if (getType(callback) == 'Function' || getType(callback) == 'AsyncFunction') {
125
- callback();
126
- }
127
- else return callback;
128
- },
129
- Info: function(/** @type {unknown} */ str, /** @type {() => void} */ callback) {
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.2.0",
4
- "description": "Facebook-chat-api protect and deploy by Shankar Singhaniya",
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 Singhaniya ",
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": "latest",
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
- "totp-generator": "latest",
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": ">=14.x"
57
+ "node": ">=20.x <22.x"
56
58
  },
57
59
  "devDependencies": {
58
- "eslint": "^8.40.0",
60
+ "eslint": "latest",
59
61
  "mocha": "latest",
60
62
  "prettier": "latest"
61
63
  },
@@ -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/Kolkata"});
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/Kolkata"});
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',
@@ -4,43 +4,50 @@
4
4
  var utils = require("../utils");
5
5
 
6
6
  module.exports = function (defaultFuncs, api, ctx) {
7
- return function editMessage(messageID, changedText, threadID, callback) {
8
- if (!messageID || !changedText || !threadID) {
9
- throw new Error("Missing required parameters.");
10
- }
7
+ return function editMessage(messageID, changedText, callback) {
8
+ var resolveFunc = function () { };
9
+ var rejectFunc = function () { };
11
10
 
12
- try {
13
- ctx.mqttClient.publish('/ls_req',
14
- JSON.stringify({
15
- app_id: "2220391788200892",
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
- if (callback) callback(null);
40
- return true;
41
- } catch (error) {
42
- if (callback) callback(error);
43
- return false;
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
+ };