From 1546da359646b89f13d17784eb7653a52ca61efd Mon Sep 17 00:00:00 2001 From: TymanWasTaken Date: Thu, 27 May 2021 14:58:21 -0600 Subject: Fix file naming --- src/listeners/client/ready.ts | 18 ++++++++ src/listeners/client/readyListener.ts | 18 -------- src/listeners/client/syncSlashCommands.ts | 22 ++++++++++ src/listeners/client/syncSlashCommandsListener.ts | 22 ---------- src/listeners/commands/commandBlocked.ts | 34 +++++++++++++++ src/listeners/commands/commandBlockedListener.ts | 34 --------------- src/listeners/commands/commandError.ts | 48 ++++++++++++++++++++++ src/listeners/commands/commandErrorListener.ts | 48 ---------------------- src/listeners/commands/commandStarted.ts | 24 +++++++++++ src/listeners/commands/commandStartedListener.ts | 24 ----------- src/listeners/commands/slashCommandError.ts | 48 ++++++++++++++++++++++ .../commands/slashCommandErrorListener.ts | 48 ---------------------- src/listeners/guild/syncUnban.ts | 24 +++++++++++ src/listeners/guild/syncUnbanListener.ts | 24 ----------- src/listeners/message/level.ts | 40 ++++++++++++++++++ src/listeners/message/levelListener.ts | 40 ------------------ 16 files changed, 258 insertions(+), 258 deletions(-) create mode 100644 src/listeners/client/ready.ts delete mode 100644 src/listeners/client/readyListener.ts create mode 100644 src/listeners/client/syncSlashCommands.ts delete mode 100644 src/listeners/client/syncSlashCommandsListener.ts create mode 100644 src/listeners/commands/commandBlocked.ts delete mode 100644 src/listeners/commands/commandBlockedListener.ts create mode 100644 src/listeners/commands/commandError.ts delete mode 100644 src/listeners/commands/commandErrorListener.ts create mode 100644 src/listeners/commands/commandStarted.ts delete mode 100644 src/listeners/commands/commandStartedListener.ts create mode 100644 src/listeners/commands/slashCommandError.ts delete mode 100644 src/listeners/commands/slashCommandErrorListener.ts create mode 100644 src/listeners/guild/syncUnban.ts delete mode 100644 src/listeners/guild/syncUnbanListener.ts create mode 100644 src/listeners/message/level.ts delete mode 100644 src/listeners/message/levelListener.ts (limited to 'src/listeners') diff --git a/src/listeners/client/ready.ts b/src/listeners/client/ready.ts new file mode 100644 index 0000000..8d4ac6a --- /dev/null +++ b/src/listeners/client/ready.ts @@ -0,0 +1,18 @@ +import chalk from 'chalk'; +import { BushListener } from '../../lib/extensions/BushListener'; + +export default class ReadyListener extends BushListener { + public constructor() { + super('ready', { + emitter: 'client', + event: 'ready' + }); + } + + public async exec(): Promise { + await this.client.logger.log( + chalk`{green Sucessfully logged in as {cyan ${this.client.user.tag}}.}`, + true + ); + } +} diff --git a/src/listeners/client/readyListener.ts b/src/listeners/client/readyListener.ts deleted file mode 100644 index 8d4ac6a..0000000 --- a/src/listeners/client/readyListener.ts +++ /dev/null @@ -1,18 +0,0 @@ -import chalk from 'chalk'; -import { BushListener } from '../../lib/extensions/BushListener'; - -export default class ReadyListener extends BushListener { - public constructor() { - super('ready', { - emitter: 'client', - event: 'ready' - }); - } - - public async exec(): Promise { - await this.client.logger.log( - chalk`{green Sucessfully logged in as {cyan ${this.client.user.tag}}.}`, - true - ); - } -} diff --git a/src/listeners/client/syncSlashCommands.ts b/src/listeners/client/syncSlashCommands.ts new file mode 100644 index 0000000..7835136 --- /dev/null +++ b/src/listeners/client/syncSlashCommands.ts @@ -0,0 +1,22 @@ +import { BushListener } from '../../lib/extensions/BushListener'; + +export default class SyncSlashCommandsListener extends BushListener { + constructor() { + super('syncslashcommands', { + emitter: 'client', + event: 'ready' + }); + } + async exec(): Promise { + if (this.client.config.dev && this.client.config.devGuild) { + // Use guild slash commands for instant registration in dev + await this.client.util.syncSlashCommands( + false, + this.client.config.devGuild + ); + } else { + // Use global in production + await this.client.util.syncSlashCommands(); + } + } +} diff --git a/src/listeners/client/syncSlashCommandsListener.ts b/src/listeners/client/syncSlashCommandsListener.ts deleted file mode 100644 index 7835136..0000000 --- a/src/listeners/client/syncSlashCommandsListener.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { BushListener } from '../../lib/extensions/BushListener'; - -export default class SyncSlashCommandsListener extends BushListener { - constructor() { - super('syncslashcommands', { - emitter: 'client', - event: 'ready' - }); - } - async exec(): Promise { - if (this.client.config.dev && this.client.config.devGuild) { - // Use guild slash commands for instant registration in dev - await this.client.util.syncSlashCommands( - false, - this.client.config.devGuild - ); - } else { - // Use global in production - await this.client.util.syncSlashCommands(); - } - } -} diff --git a/src/listeners/commands/commandBlocked.ts b/src/listeners/commands/commandBlocked.ts new file mode 100644 index 0000000..dee1319 --- /dev/null +++ b/src/listeners/commands/commandBlocked.ts @@ -0,0 +1,34 @@ +import { BushListener } from '../../lib/extensions/BushListener'; +import { Command } from 'discord-akairo'; +import { Message } from 'discord.js'; + +export default class CommandBlockedListener extends BushListener { + public constructor() { + super('commandBlocked', { + emitter: 'commandHandler', + event: 'commandBlocked' + }); + } + + public async exec( + message: Message, + command: Command, + reason: string + ): Promise { + switch (reason) { + case 'owner': { + await message.util.send( + `You must be an owner to run command \`${message.util.parsed.command}\`` + ); + break; + } + case 'blacklist': { + // pass + break; + } + default: { + await message.util.send(`Command blocked with reason \`${reason}\``); + } + } + } +} diff --git a/src/listeners/commands/commandBlockedListener.ts b/src/listeners/commands/commandBlockedListener.ts deleted file mode 100644 index dee1319..0000000 --- a/src/listeners/commands/commandBlockedListener.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { BushListener } from '../../lib/extensions/BushListener'; -import { Command } from 'discord-akairo'; -import { Message } from 'discord.js'; - -export default class CommandBlockedListener extends BushListener { - public constructor() { - super('commandBlocked', { - emitter: 'commandHandler', - event: 'commandBlocked' - }); - } - - public async exec( - message: Message, - command: Command, - reason: string - ): Promise { - switch (reason) { - case 'owner': { - await message.util.send( - `You must be an owner to run command \`${message.util.parsed.command}\`` - ); - break; - } - case 'blacklist': { - // pass - break; - } - default: { - await message.util.send(`Command blocked with reason \`${reason}\``); - } - } - } -} diff --git a/src/listeners/commands/commandError.ts b/src/listeners/commands/commandError.ts new file mode 100644 index 0000000..518545a --- /dev/null +++ b/src/listeners/commands/commandError.ts @@ -0,0 +1,48 @@ +import { BushCommand } from '../../lib/extensions/BushCommand'; +import { BushListener } from '../../lib/extensions/BushListener'; +import { stripIndents } from 'common-tags'; +import { Message } from 'discord.js'; +import { MessageEmbed } from 'discord.js'; +import { TextChannel } from 'discord.js'; + +export default class CommandErrorListener extends BushListener { + constructor() { + super('error', { + emitter: 'commandHandler', + event: 'error' + }); + } + async exec( + error: Error, + message: Message, + command?: BushCommand + ): Promise { + const errorNumber = Math.floor(Math.random() * 6969696969) + 69; // hehe funy numbers + const errorDevEmbed = this.client.util + .createEmbed(this.client.util.colors.error) + .setTitle(`Error # \`${errorNumber}\`: An error occurred`) + .setDescription( + stripIndents`**User:** ${message.author} (${message.author.tag}) + **Command:** ${command} + **Channel:** ${message.channel} (${message.channel.id}) + **Message:** [link](${message.url})` + ) + .addField('Error', `${await this.client.util.haste(error.stack)}`); + let errorUserEmbed: MessageEmbed; + if (command) { + errorUserEmbed = this.client.util + .createEmbed(this.client.util.colors.error) + .setTitle('An error occurred') + .setDescription( + stripIndents`Whoops! It appears like something broke. + The developers have been notified of this. If you contact them, give them code \`${errorNumber}\`. + ` + ); + } + const channel = (await this.client.channels.fetch( + this.client.config.channels.log + )) as TextChannel; + await channel.send(errorDevEmbed); + if (errorUserEmbed) await message.reply(errorUserEmbed); + } +} diff --git a/src/listeners/commands/commandErrorListener.ts b/src/listeners/commands/commandErrorListener.ts deleted file mode 100644 index 518545a..0000000 --- a/src/listeners/commands/commandErrorListener.ts +++ /dev/null @@ -1,48 +0,0 @@ -import { BushCommand } from '../../lib/extensions/BushCommand'; -import { BushListener } from '../../lib/extensions/BushListener'; -import { stripIndents } from 'common-tags'; -import { Message } from 'discord.js'; -import { MessageEmbed } from 'discord.js'; -import { TextChannel } from 'discord.js'; - -export default class CommandErrorListener extends BushListener { - constructor() { - super('error', { - emitter: 'commandHandler', - event: 'error' - }); - } - async exec( - error: Error, - message: Message, - command?: BushCommand - ): Promise { - const errorNumber = Math.floor(Math.random() * 6969696969) + 69; // hehe funy numbers - const errorDevEmbed = this.client.util - .createEmbed(this.client.util.colors.error) - .setTitle(`Error # \`${errorNumber}\`: An error occurred`) - .setDescription( - stripIndents`**User:** ${message.author} (${message.author.tag}) - **Command:** ${command} - **Channel:** ${message.channel} (${message.channel.id}) - **Message:** [link](${message.url})` - ) - .addField('Error', `${await this.client.util.haste(error.stack)}`); - let errorUserEmbed: MessageEmbed; - if (command) { - errorUserEmbed = this.client.util - .createEmbed(this.client.util.colors.error) - .setTitle('An error occurred') - .setDescription( - stripIndents`Whoops! It appears like something broke. - The developers have been notified of this. If you contact them, give them code \`${errorNumber}\`. - ` - ); - } - const channel = (await this.client.channels.fetch( - this.client.config.channels.log - )) as TextChannel; - await channel.send(errorDevEmbed); - if (errorUserEmbed) await message.reply(errorUserEmbed); - } -} diff --git a/src/listeners/commands/commandStarted.ts b/src/listeners/commands/commandStarted.ts new file mode 100644 index 0000000..d81ed59 --- /dev/null +++ b/src/listeners/commands/commandStarted.ts @@ -0,0 +1,24 @@ +import chalk from 'chalk'; +import { Message, DMChannel } from 'discord.js'; +import { BushCommand } from '../../lib/extensions/BushCommand'; +import { BushListener } from '../../lib/extensions/BushListener'; + +export default class CommandStartedListener extends BushListener { + constructor() { + super('logCommands', { + emitter: 'commandHandler', + event: 'commandStarted' + }); + } + exec(message: Message, command: BushCommand): void { + this.client.logger.verbose( + chalk`{cyan {green ${message.author.tag}} is running {green ${ + command.aliases[0] + }} in {green ${ + message.channel instanceof DMChannel + ? 'DMs' + : `#${message.channel.name} (Server: ${message.guild.name})` + }}.}` + ); + } +} diff --git a/src/listeners/commands/commandStartedListener.ts b/src/listeners/commands/commandStartedListener.ts deleted file mode 100644 index d81ed59..0000000 --- a/src/listeners/commands/commandStartedListener.ts +++ /dev/null @@ -1,24 +0,0 @@ -import chalk from 'chalk'; -import { Message, DMChannel } from 'discord.js'; -import { BushCommand } from '../../lib/extensions/BushCommand'; -import { BushListener } from '../../lib/extensions/BushListener'; - -export default class CommandStartedListener extends BushListener { - constructor() { - super('logCommands', { - emitter: 'commandHandler', - event: 'commandStarted' - }); - } - exec(message: Message, command: BushCommand): void { - this.client.logger.verbose( - chalk`{cyan {green ${message.author.tag}} is running {green ${ - command.aliases[0] - }} in {green ${ - message.channel instanceof DMChannel - ? 'DMs' - : `#${message.channel.name} (Server: ${message.guild.name})` - }}.}` - ); - } -} diff --git a/src/listeners/commands/slashCommandError.ts b/src/listeners/commands/slashCommandError.ts new file mode 100644 index 0000000..a2b7bb7 --- /dev/null +++ b/src/listeners/commands/slashCommandError.ts @@ -0,0 +1,48 @@ +import { BushCommand } from '../../lib/extensions/BushCommand'; +import { BushListener } from '../../lib/extensions/BushListener'; +import { stripIndents } from 'common-tags'; +import { MessageEmbed } from 'discord.js'; +import { TextChannel } from 'discord.js'; +import { CommandInteraction } from 'discord.js'; + +export default class SlashCommandErrorListener extends BushListener { + constructor() { + super('slashError', { + emitter: 'commandHandler', + event: 'slashError' + }); + } + async exec( + error: Error, + message: CommandInteraction, + command: BushCommand + ): Promise { + const errorNumber = Math.floor(Math.random() * 6969696969) + 69; // hehe funy numbers + const errorDevEmbed = this.client.util + .createEmbed(this.client.util.colors.error) + .setTitle(`Slash Error # \`${errorNumber}\`: An error occurred`) + .setDescription( + stripIndents`**User:** <@${message.user.id}> (${message.user.tag}) + **Slash Command:** ${command} + **Channel:** <#${message.channelID}> (${message.channelID}) + **Message:** [link](https://discord.com/${message.guildID}/${message.channelID}/${message.id})` + ) + .addField('Error', `${await this.client.util.haste(error.stack)}`); + let errorUserEmbed: MessageEmbed; + if (command) { + errorUserEmbed = this.client.util + .createEmbed(this.client.util.colors.error) + .setTitle('An error occurred') + .setDescription( + stripIndents`Whoops! It appears like something broke. + The developers have been notified of this. If you contact them, give them code \`${errorNumber}\`. + ` + ); + } + const channel = (await this.client.channels.fetch( + this.client.config.channels.log + )) as TextChannel; + await channel.send(errorDevEmbed); + if (errorUserEmbed) await message.reply(errorUserEmbed); + } +} diff --git a/src/listeners/commands/slashCommandErrorListener.ts b/src/listeners/commands/slashCommandErrorListener.ts deleted file mode 100644 index a2b7bb7..0000000 --- a/src/listeners/commands/slashCommandErrorListener.ts +++ /dev/null @@ -1,48 +0,0 @@ -import { BushCommand } from '../../lib/extensions/BushCommand'; -import { BushListener } from '../../lib/extensions/BushListener'; -import { stripIndents } from 'common-tags'; -import { MessageEmbed } from 'discord.js'; -import { TextChannel } from 'discord.js'; -import { CommandInteraction } from 'discord.js'; - -export default class SlashCommandErrorListener extends BushListener { - constructor() { - super('slashError', { - emitter: 'commandHandler', - event: 'slashError' - }); - } - async exec( - error: Error, - message: CommandInteraction, - command: BushCommand - ): Promise { - const errorNumber = Math.floor(Math.random() * 6969696969) + 69; // hehe funy numbers - const errorDevEmbed = this.client.util - .createEmbed(this.client.util.colors.error) - .setTitle(`Slash Error # \`${errorNumber}\`: An error occurred`) - .setDescription( - stripIndents`**User:** <@${message.user.id}> (${message.user.tag}) - **Slash Command:** ${command} - **Channel:** <#${message.channelID}> (${message.channelID}) - **Message:** [link](https://discord.com/${message.guildID}/${message.channelID}/${message.id})` - ) - .addField('Error', `${await this.client.util.haste(error.stack)}`); - let errorUserEmbed: MessageEmbed; - if (command) { - errorUserEmbed = this.client.util - .createEmbed(this.client.util.colors.error) - .setTitle('An error occurred') - .setDescription( - stripIndents`Whoops! It appears like something broke. - The developers have been notified of this. If you contact them, give them code \`${errorNumber}\`. - ` - ); - } - const channel = (await this.client.channels.fetch( - this.client.config.channels.log - )) as TextChannel; - await channel.send(errorDevEmbed); - if (errorUserEmbed) await message.reply(errorUserEmbed); - } -} diff --git a/src/listeners/guild/syncUnban.ts b/src/listeners/guild/syncUnban.ts new file mode 100644 index 0000000..81a08f8 --- /dev/null +++ b/src/listeners/guild/syncUnban.ts @@ -0,0 +1,24 @@ +import { User, Guild } from 'discord.js'; +import { BushListener } from '../../lib/extensions/BushListener'; +import { Ban } from '../../lib/models'; + +export default class SyncUnbanListener extends BushListener { + public constructor() { + super('guildBanRemove', { + emitter: 'client', + event: 'guildBanRemove' + }); + } + + public async exec(guild: Guild, user: User): Promise { + const bans = await Ban.findAll({ + where: { + user: user.id, + guild: guild.id + } + }); + for (const dbBan of bans) { + await dbBan.destroy(); + } + } +} diff --git a/src/listeners/guild/syncUnbanListener.ts b/src/listeners/guild/syncUnbanListener.ts deleted file mode 100644 index 81a08f8..0000000 --- a/src/listeners/guild/syncUnbanListener.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { User, Guild } from 'discord.js'; -import { BushListener } from '../../lib/extensions/BushListener'; -import { Ban } from '../../lib/models'; - -export default class SyncUnbanListener extends BushListener { - public constructor() { - super('guildBanRemove', { - emitter: 'client', - event: 'guildBanRemove' - }); - } - - public async exec(guild: Guild, user: User): Promise { - const bans = await Ban.findAll({ - where: { - user: user.id, - guild: guild.id - } - }); - for (const dbBan of bans) { - await dbBan.destroy(); - } - } -} diff --git a/src/listeners/message/level.ts b/src/listeners/message/level.ts new file mode 100644 index 0000000..3b23f36 --- /dev/null +++ b/src/listeners/message/level.ts @@ -0,0 +1,40 @@ +import chalk from 'chalk'; +import { Message } from 'discord.js'; +import { BushListener } from '../../lib/extensions/BushListener'; +import { Level } from '../../lib/models'; + +export default class LevelListener extends BushListener { + private levelCooldowns: Set = new Set(); + private blacklistedChannels = ['702456294874808330']; + constructor() { + super('level', { + emitter: 'commandHandler', + event: 'messageInvalid' // Using messageInvalid here so commands don't give xp + }); + } + async exec(message: Message): Promise { + if (message.author.bot) return; + if (message.util?.parsed?.command) return; + if (this.levelCooldowns.has(message.author.id)) return; + if (!this.client.config.dev && message.guild.id != '516977525906341928') + return; + if (this.blacklistedChannels.includes(message.channel.id)) return; + if (!['DEFAULT', 'REPLY'].includes(message.type)) return; //checks for join messages, slash commands, booster messages etc + const [user] = await Level.findOrBuild({ + where: { + id: message.author.id + }, + defaults: { + id: message.author.id + } + }); + const xpToGive = Level.genRandomizedXp(); + user.xp += xpToGive; + await user.save(); + await this.client.logger.verbose( + chalk`{cyan Gave XP to {green ${message.author.tag}}: {green ${xpToGive}xp}.}` + ); + this.levelCooldowns.add(message.author.id); + setTimeout(() => this.levelCooldowns.delete(message.author.id), 60_000); + } +} diff --git a/src/listeners/message/levelListener.ts b/src/listeners/message/levelListener.ts deleted file mode 100644 index 3b23f36..0000000 --- a/src/listeners/message/levelListener.ts +++ /dev/null @@ -1,40 +0,0 @@ -import chalk from 'chalk'; -import { Message } from 'discord.js'; -import { BushListener } from '../../lib/extensions/BushListener'; -import { Level } from '../../lib/models'; - -export default class LevelListener extends BushListener { - private levelCooldowns: Set = new Set(); - private blacklistedChannels = ['702456294874808330']; - constructor() { - super('level', { - emitter: 'commandHandler', - event: 'messageInvalid' // Using messageInvalid here so commands don't give xp - }); - } - async exec(message: Message): Promise { - if (message.author.bot) return; - if (message.util?.parsed?.command) return; - if (this.levelCooldowns.has(message.author.id)) return; - if (!this.client.config.dev && message.guild.id != '516977525906341928') - return; - if (this.blacklistedChannels.includes(message.channel.id)) return; - if (!['DEFAULT', 'REPLY'].includes(message.type)) return; //checks for join messages, slash commands, booster messages etc - const [user] = await Level.findOrBuild({ - where: { - id: message.author.id - }, - defaults: { - id: message.author.id - } - }); - const xpToGive = Level.genRandomizedXp(); - user.xp += xpToGive; - await user.save(); - await this.client.logger.verbose( - chalk`{cyan Gave XP to {green ${message.author.tag}}: {green ${xpToGive}xp}.}` - ); - this.levelCooldowns.add(message.author.id); - setTimeout(() => this.levelCooldowns.delete(message.author.id), 60_000); - } -} -- cgit