From 372718e567e060cead16dde5d6d190666b4dd575 Mon Sep 17 00:00:00 2001 From: TymanWasTaken Date: Sun, 16 May 2021 20:30:34 -0400 Subject: add colored logging and improved logging code, fix a few moderation command issues, add more logging, and make ban check run every 30s not 60s --- src/lib/utils/Logger.ts | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 src/lib/utils/Logger.ts (limited to 'src/lib/utils') diff --git a/src/lib/utils/Logger.ts b/src/lib/utils/Logger.ts new file mode 100644 index 0000000..455ba36 --- /dev/null +++ b/src/lib/utils/Logger.ts @@ -0,0 +1,44 @@ +import { TextChannel } from 'discord.js'; +import { BotClient } from '../extensions/BotClient'; +import chalk from 'chalk'; + +export class Logger { + private client: BotClient; + public constructor(client: BotClient) { + this.client = client; + } + private stripColor(text: string): string { + return text.replace( + // eslint-disable-next-line no-control-regex + /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g, + '' + ); + } + public getChannel(channel: 'log' | 'error' | 'dm'): Promise { + return this.client.channels.fetch( + this.client.config.channels[channel] + ) as Promise; + } + public async log(message: string, sendChannel = false): Promise { + console.log(chalk`{bgCyan LOG} ` + message); + if (sendChannel) { + const channel = await this.getChannel('log'); + await channel.send('[LOG] ' + this.stripColor(message)); + } + } + public async verbose(message: string, sendChannel = false): Promise { + if (!this.client.config.verbose) return; + console.log(chalk`{bgMagenta VERBOSE} ` + message); + if (sendChannel) { + const channel = await this.getChannel('log'); + await channel.send('[VERBOSE] ' + this.stripColor(message)); + } + } + public async error(message: string, sendChannel = false): Promise { + console.log(chalk`{bgRed ERROR} ` + message); + if (sendChannel) { + const channel = await this.getChannel('error'); + await channel.send('[ERROR] ' + this.stripColor(message)); + } + } +} -- cgit