highrise.bot 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/LICENSE +21 -0
- package/README.md +86 -0
- package/index.js +13 -0
- package/package.json +29 -0
- package/src/classes/Actions/Awaiter.js +203 -0
- package/src/classes/Actions/Channel.js +327 -0
- package/src/classes/Actions/Direct.js +390 -0
- package/src/classes/Actions/Inventory.js +193 -0
- package/src/classes/Actions/Music.js +243 -0
- package/src/classes/Actions/Outfit.js +175 -0
- package/src/classes/Actions/Player.js +604 -0
- package/src/classes/Actions/Public.js +143 -0
- package/src/classes/Actions/Room.js +495 -0
- package/src/classes/Actions/Utils.js +77 -0
- package/src/classes/Actions/lib/AudioStreaming.js +695 -0
- package/src/classes/Caches/MovementCache.js +364 -0
- package/src/classes/Handlers/AxiosErrorHandler.js +68 -0
- package/src/classes/Handlers/ErrorHandler.js +65 -0
- package/src/classes/Handlers/EventHandlers.js +193 -0
- package/src/classes/Handlers/WebSocketHandlers.js +126 -0
- package/src/classes/Managers/CooldownManager.js +516 -0
- package/src/classes/Managers/DanceFloorManagers.js +609 -0
- package/src/classes/Managers/Helpers/CleanupManager.js +130 -0
- package/src/classes/Managers/Helpers/HighriseError.js +107 -0
- package/src/classes/Managers/Helpers/HighriseResponse.js +33 -0
- package/src/classes/Managers/Helpers/LoggerManager.js +171 -0
- package/src/classes/Managers/Helpers/MetricsManager.js +83 -0
- package/src/classes/Managers/Networking/ConnectionManager.js +253 -0
- package/src/classes/Managers/Networking/EventsManager.js +64 -0
- package/src/classes/Managers/Networking/KeepAliveManager.js +58 -0
- package/src/classes/Managers/Networking/MessageHandler.js +123 -0
- package/src/classes/Managers/Networking/Request.js +323 -0
- package/src/classes/Managers/RoleManager.js +322 -0
- package/src/classes/WebApi/Category/Grab.js +98 -0
- package/src/classes/WebApi/Category/Item.js +347 -0
- package/src/classes/WebApi/Category/Post.js +154 -0
- package/src/classes/WebApi/Category/Room.js +137 -0
- package/src/classes/WebApi/Category/User.js +88 -0
- package/src/classes/WebApi/webapi.js +52 -0
- package/src/constants/ErrorConstants.js +109 -0
- package/src/constants/TypesConstants.js +91 -0
- package/src/constants/WebSocketConstants.js +78 -0
- package/src/core/Highrise.js +192 -0
- package/src/core/HighriseWebsocket.js +242 -0
- package/src/utils/ConvertSvgToPng.js +51 -0
- package/src/utils/Job.js +130 -0
- package/src/utils/ModelPool.js +160 -0
- package/src/utils/Models.js +128 -0
- package/src/utils/versionCheck.js +27 -0
- package/src/validators/ConfigValidator.js +195 -0
- package/src/validators/ConnectionValidator.js +65 -0
- package/typings/index.d.ts +5042 -0
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
const RoleManager = require("highrise.js/src/classes/Managers/RoleManager");
|
|
2
|
+
const CooldownManager = require("highrise.js/src/classes/Managers/CooldownManager");
|
|
3
|
+
const DanceFloor = require("highrise.js/src/classes/Managers/DanceFloorManagers");
|
|
4
|
+
const { Logger } = require("highrise.js/src/classes/Managers/Helpers/LoggerManager")
|
|
5
|
+
|
|
6
|
+
class Utils {
|
|
7
|
+
constructor(bot, options) {
|
|
8
|
+
this.bot = bot
|
|
9
|
+
this.logger = new Logger(this, options)
|
|
10
|
+
this.dancefloor = new DanceFloor(this.bot)
|
|
11
|
+
this.cooldown = new CooldownManager()
|
|
12
|
+
|
|
13
|
+
this.roles = new RoleManager(bot, this, {
|
|
14
|
+
dataDir: './Json/permissions',
|
|
15
|
+
filename: 'roles.json',
|
|
16
|
+
customRoles: options.customRoles || [],
|
|
17
|
+
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
async sleep(ms) {
|
|
22
|
+
if (ms < 0) {
|
|
23
|
+
this.logger.warn('bot.utils.sleep', 'Negative delay provided, using 0ms');
|
|
24
|
+
ms = 0;
|
|
25
|
+
}
|
|
26
|
+
return new Promise(resolve => setTimeout(resolve, ms))
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
splitMessages(text, limit) {
|
|
30
|
+
if (!text) return [];
|
|
31
|
+
const regex = new RegExp(`.{1,${limit}}(?:\\s|$)|.{${limit}}`, 'g');
|
|
32
|
+
return text.match(regex).map(line => line.trim());
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
uptime() {
|
|
36
|
+
const connectionTimeMs = this.bot.EpochUptime;
|
|
37
|
+
if (!connectionTimeMs || connectionTimeMs <= 0) {
|
|
38
|
+
return 'Offline';
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
const diffMs = Date.now() - connectionTimeMs;
|
|
42
|
+
|
|
43
|
+
const seconds = Math.floor((diffMs / 1000) % 60);
|
|
44
|
+
const minutes = Math.floor((diffMs / (1000 * 60)) % 60);
|
|
45
|
+
const hours = Math.floor((diffMs / (1000 * 60 * 60)) % 24);
|
|
46
|
+
const days = Math.floor(diffMs / (1000 * 60 * 60 * 24));
|
|
47
|
+
|
|
48
|
+
const parts = [];
|
|
49
|
+
if (days > 0) parts.push(`${days}d`);
|
|
50
|
+
if (hours > 0) parts.push(`${hours}h`);
|
|
51
|
+
if (minutes > 0) parts.push(`${minutes}m`);
|
|
52
|
+
if (seconds > 0 || parts.length === 0) parts.push(`${seconds}s`);
|
|
53
|
+
|
|
54
|
+
return parts.join(' ');
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
sequencingGoldBars(amount) {
|
|
58
|
+
const validAmounts = [10000, 5000, 1000, 500, 100, 50, 10, 5, 1];
|
|
59
|
+
const result = [];
|
|
60
|
+
let remaining = Math.floor(amount);
|
|
61
|
+
|
|
62
|
+
for (const value of validAmounts) {
|
|
63
|
+
const count = Math.floor(remaining / value);
|
|
64
|
+
if (count > 0) {
|
|
65
|
+
for (let i = 0; i < count; i++) {
|
|
66
|
+
result.push(value);
|
|
67
|
+
}
|
|
68
|
+
remaining %= value;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
return result;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
module.exports = Utils
|