aboutsummaryrefslogtreecommitdiff
path: root/src/lib/utils
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/utils')
-rw-r--r--src/lib/utils/AllowedMentions.ts6
-rw-r--r--src/lib/utils/Console.ts93
-rw-r--r--src/lib/utils/Logger.ts12
3 files changed, 99 insertions, 12 deletions
diff --git a/src/lib/utils/AllowedMentions.ts b/src/lib/utils/AllowedMentions.ts
index 47e440b..68c44d7 100644
--- a/src/lib/utils/AllowedMentions.ts
+++ b/src/lib/utils/AllowedMentions.ts
@@ -34,11 +34,7 @@ export default class AllowedMentions {
}
public toObject(): MessageMentionOptions {
return {
- parse: [
- ...(this.users ? ['users'] : []),
- ...(this.roles ? ['roles'] : []),
- ...(this.everyone ? ['everyone'] : [])
- ] as MessageMentionTypes[]
+ parse: [...(this.users ? ['users'] : []), ...(this.roles ? ['roles'] : []), ...(this.everyone ? ['everyone'] : [])] as MessageMentionTypes[]
};
}
}
diff --git a/src/lib/utils/Console.ts b/src/lib/utils/Console.ts
new file mode 100644
index 0000000..b74ea07
--- /dev/null
+++ b/src/lib/utils/Console.ts
@@ -0,0 +1,93 @@
+// import chalk from 'chalk';
+// import { BushClient } from '../extensions/BushClient';
+
+// export class CustomConsole {
+// private client: BushClient;
+// public constructor(client: BushClient) {
+// this.client = client;
+// }
+
+// private parseColors(content: any, color: 'blueBright' | 'blackBright' | 'redBright' | 'yellowBright' | 'greenBright'): string | any {
+// if (typeof content === 'string') {
+// const newContent: Array<string> = content.split(/<<|>>/);
+// const tempParsedArray: Array<string> = [];
+// newContent.forEach((value, index) => {
+// if (index % 2 !== 0) {
+// tempParsedArray.push(chalk[color](value));
+// } else {
+// tempParsedArray.push(value);
+// }
+// });
+// return tempParsedArray.join('');
+// } else {
+// return content;
+// }
+// }
+
+// private timeStamp(): string {
+// const now = new Date();
+// const hours = now.getHours();
+// const minute = now.getMinutes();
+// let hour = hours;
+// let amOrPm: 'AM' | 'PM' = 'AM';
+// if (hour > 12) {
+// amOrPm = 'PM';
+// hour = hour - 12;
+// }
+
+// return `${hour >= 10 ? hour : `0${hour}`}:${minute >= 10 ? minute : `0${minute}`} ${amOrPm}`;
+// }
+
+// /**
+// * Logs debug information.
+// * @param content - The content to log.
+// */
+// public debug(content: any): void {
+// console.log(`${chalk.bgGrey(this.timeStamp())} ${chalk.grey('[Debug]')}`, content);
+// }
+
+// /**
+// * Logs verbose information. Highlight information by surrounding it in `<<>>`.
+// * @param header - The header displayed before the content, displayed in grey.
+// * @param content - The content to log, highlights displayed in bright black.
+// */
+// public verbose(header: string, content: string): void {
+// return console.info(`${chalk.bgGrey(this.timeStamp())} ${chalk.grey(`[${header}]`)} ` + this.parseColors(content, 'blackBright'));
+// }
+
+// /**
+// * Logs information. Highlight information by surrounding it in `<<>>`.
+// * @param header - The header displayed before the content, displayed in cyan.
+// * @param content - The content to log, highlights displayed in bright blue.
+// */
+// public info(header: string, content: string): void {
+// return console.info(`${chalk.bgCyan(this.timeStamp())} ${chalk.cyan(`[${header}]`)} ` + this.parseColors(content, 'blueBright'));
+// }
+
+// /**
+// * Logs warnings. Highlight information by surrounding it in `<<>>`.
+// * @param header - The header displayed before the content, displayed in yellow.
+// * @param content - The content to log, highlights displayed in bright yellow.
+// */
+// public warn(header: string, content: string): void {
+// return console.warn(`${chalk.bgYellow(this.timeStamp())} ${chalk.yellow(`[${header}]`)} ` + this.parseColors(content, 'yellowBright'));
+// }
+
+// /**
+// * Logs errors. Highlight information by surrounding it in `<<>>`.
+// * @param header - The header displayed before the content, displayed in bright red.
+// * @param content - The content to log, highlights displayed in bright red.
+// */
+// public error(header: string, content: string): void {
+// return console.error(`${chalk.bgRedBright(this.timeStamp())} ${chalk.redBright(`[${header}]`)} ` + this.parseColors(content, 'redBright'));
+// }
+
+// /**
+// * Logs successes. Highlight information by surrounding it in `<<>>`.
+// * @param header - The header displayed before the content, displayed in green.
+// * @param content - The content to log, highlights displayed in bright green.
+// */
+// public success(header: string, content: string): void {
+// return console.log(`${chalk.bgGreen(this.timeStamp())} ${chalk.greenBright(`[${header}]`)} ` + this.parseColors(content, 'greenBright'));
+// }
+// }
diff --git a/src/lib/utils/Logger.ts b/src/lib/utils/Logger.ts
index f38365e..96837b6 100644
--- a/src/lib/utils/Logger.ts
+++ b/src/lib/utils/Logger.ts
@@ -1,10 +1,10 @@
import { TextChannel } from 'discord.js';
-import { BotClient } from '../extensions/BotClient';
+import { BushClient } from '../extensions/BushClient';
import chalk from 'chalk';
export class Logger {
- private client: BotClient;
- public constructor(client: BotClient) {
+ private client: BushClient;
+ public constructor(client: BushClient) {
this.client = client;
}
private stripColor(text: string): string {
@@ -15,9 +15,7 @@ export class Logger {
);
}
public getChannel(channel: 'log' | 'error' | 'dm'): Promise<TextChannel> {
- return this.client.channels.fetch(
- this.client.config.channels[channel]
- ) as Promise<TextChannel>;
+ return this.client.channels.fetch(this.client.config.channels[channel]) as Promise<TextChannel>;
}
public async log(message: string, sendChannel = false): Promise<void> {
console.log(chalk`{bgCyan LOG} ` + message);
@@ -28,7 +26,7 @@ export class Logger {
}
public async verbose(message: string, sendChannel = false): Promise<void> {
- if (!this.client.config.verbose) return;
+ if (!this.client.config.logging.verbose) return;
console.log(chalk`{bgMagenta VERBOSE} ` + message);
if (sendChannel) {
const channel = await this.getChannel('log');