aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/commands/info/snowflake.ts (renamed from src/commands/info/snowflakeInfo.ts)2
-rw-r--r--src/commands/moderation/removeReactionEmoji.ts2
-rw-r--r--src/commands/moulberry-bush/moulHammerCommand.ts38
-rw-r--r--src/listeners/commands/commandCooldown.ts27
-rw-r--r--src/listeners/commands/slashNotFound.ts15
5 files changed, 82 insertions, 2 deletions
diff --git a/src/commands/info/snowflakeInfo.ts b/src/commands/info/snowflake.ts
index 603993a..8d6129b 100644
--- a/src/commands/info/snowflakeInfo.ts
+++ b/src/commands/info/snowflake.ts
@@ -17,7 +17,7 @@ import {
} from 'discord.js';
import { BushCommand, BushMessage, BushSlashMessage } from '../../lib';
-export default class SnowflakeInfoCommand extends BushCommand {
+export default class SnowflakeCommand extends BushCommand {
public constructor() {
super('snowflake', {
aliases: ['snowflake', 'info', 'sf'],
diff --git a/src/commands/moderation/removeReactionEmoji.ts b/src/commands/moderation/removeReactionEmoji.ts
index 34073e6..d4c0cb6 100644
--- a/src/commands/moderation/removeReactionEmoji.ts
+++ b/src/commands/moderation/removeReactionEmoji.ts
@@ -3,7 +3,7 @@ import { Emoji, Snowflake } from 'discord.js';
export default class RemoveReactionEmojiCommand extends BushCommand {
public constructor() {
- super('removereactionemoji', {
+ super('removeReactionEmoji', {
aliases: ['removereactionemoji', 'rre'],
category: 'moderation',
description: {
diff --git a/src/commands/moulberry-bush/moulHammerCommand.ts b/src/commands/moulberry-bush/moulHammerCommand.ts
new file mode 100644
index 0000000..bc60372
--- /dev/null
+++ b/src/commands/moulberry-bush/moulHammerCommand.ts
@@ -0,0 +1,38 @@
+import { MessageEmbed, User } from 'discord.js';
+import { BushCommand, BushMessage } from '../../lib';
+
+export default class MoulHammerCommand extends BushCommand {
+ public constructor() {
+ super('moulHammer', {
+ aliases: ['moulhammer'],
+ category: "Moulberry's Bush",
+ description: {
+ content: 'A command to moul hammer members.',
+ usage: 'moulHammer <user>',
+ examples: ['moulHammer @IRONM00N']
+ },
+ clientPermissions: ['EMBED_LINKS', 'SEND_MESSAGES'],
+ userPermissions: ['SEND_MESSAGES'],
+ args: [
+ {
+ id: 'user',
+ type: 'user',
+ prompt: {
+ start: 'What user would you like to moul hammer?',
+ retry: '{error} Choose a valid user to moul hammer'
+ }
+ }
+ ],
+ restrictedGuilds: ['516977525906341928']
+ });
+ }
+
+ public override async exec(message: BushMessage, { user }: { user: User }): Promise<void> {
+ await message.delete();
+ const embed = new MessageEmbed()
+ .setTitle('L')
+ .setDescription(`${user.username} got moul'ed <:wideberry1:756223352598691942><:wideberry2:756223336832303154>`)
+ .setColor(this.client.util.colors.purple);
+ await message.util.send({ embeds: [embed] });
+ }
+}
diff --git a/src/listeners/commands/commandCooldown.ts b/src/listeners/commands/commandCooldown.ts
new file mode 100644
index 0000000..5cb3fa9
--- /dev/null
+++ b/src/listeners/commands/commandCooldown.ts
@@ -0,0 +1,27 @@
+import { Message } from 'discord.js';
+import { BushCommandHandlerEvents, BushListener } from '../../lib';
+
+export default class CommandCooldownListener extends BushListener {
+ public constructor() {
+ super('commandCooldown', {
+ emitter: 'commandHandler',
+ event: 'cooldown',
+ category: 'commands'
+ });
+ }
+
+ public override async exec(...[message, command, remaining]: BushCommandHandlerEvents['cooldown']): Promise<void> {
+ void client.console.info(
+ 'commandCooldown',
+ `<<${message.author.tag}>> tried to run <<${
+ command ?? message.util!.parsed?.command
+ }>> but it is on cooldown for <<${Math.round(remaining / 1000)}>> seconds.`
+ );
+ message.util!.isSlash
+ ? message.util?.reply({
+ content: `⏳ This command is on cooldown for ${Math.round(remaining / 1000)} seconds.`,
+ ephemeral: true
+ })
+ : await (message as Message).react('⏳').catch(() => null);
+ }
+}
diff --git a/src/listeners/commands/slashNotFound.ts b/src/listeners/commands/slashNotFound.ts
new file mode 100644
index 0000000..118d549
--- /dev/null
+++ b/src/listeners/commands/slashNotFound.ts
@@ -0,0 +1,15 @@
+import { BushCommandHandlerEvents, BushListener } from '../../lib';
+
+export default class SlashNotFoundListener extends BushListener {
+ public constructor() {
+ super('slashNotFound', {
+ emitter: 'commandHandler',
+ event: 'slashNotFound',
+ category: 'commands'
+ });
+ }
+
+ public override async exec(...[interaction]: BushCommandHandlerEvents['slashNotFound']): Promise<void> {
+ void client.console.info('slashNotFound', `<<${interaction?.commandName}>> could not be found.`);
+ }
+}