-
Notifications
You must be signed in to change notification settings - Fork 2
/
tools.js
67 lines (67 loc) · 2.6 KB
/
tools.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
let data = {
config: require('./config.json'),
colors: require('./colors.js')
}
/**
* @module Tools
* @name Tools
* @description Script toolkit
* @method log Log message to console
*/
class Tools {
constructor() {
/**
* Console logger
* @param {Number} level Level of log (lower = more important)
* @param {String} message Message to show
* @param {String} foreground Foreground color from colors.js
* @param {String} background Background color from colors.js
* @returns response data
*/
};
log = (level, message, foreground, background) => {
let reject = (reason) => {
response.rejected = reason;
return response;
};
let response = {
level,
message,
foreground,
background,
date: new Date().toUTCString()
};
if (data.config.debug < level)
return reject("Lower debug level (config.json)");
else if (level < 0)
return reject("Level can't be lower than 0 (log)");
else if (data.config.debug < 0)
return reject("Level can't be lower than 1 (config.json)");
let colors = {
fg: data.colors.fg[foreground] || data.colors.fg.green,
bg: data.colors.bg[background] || false
};
for (let colorID of Object.keys(data.colors)) {
let color = data.colors[colorID];
if(typeof color == "string") for(let i = 0; i < message.length; i++) message = message.replace(`$(gb-${colorID})`, color);
}
for (let colorID of Object.keys(data.colors.fg)) {
let color = data.colors.fg[colorID];
for(let i = 0; i < message.length; i++) message = message.replace(`$(fg-${colorID})`, color);
}
for (let colorID of Object.keys(data.colors.bg)) {
let color = data.colors.bg[colorID];
for(let i = 0; i < message.length; i++) message = message.replace(`$(bg-${colorID})`, color);
}
console.log(`${data.colors.reset}${response.date} | ${data.colors.bright}${data.config.name} ${data.colors.reset}> ${colors.fg}${colors.bg||""}${message}${data.colors.reset}`);
return response;
};
randomString = (length) => {
var result = "";
var characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
var charactersLength = characters.length;
for (var i = 0; i < length; i++) result += characters.charAt(Math.floor(Math.random() * charactersLength));
return result;
}
}
module.exports = Tools;