aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/commands/moderation/purge.ts1
-rw-r--r--src/commands/moderation/role.ts2
-rw-r--r--src/commands/utilities/decode.ts11
-rw-r--r--src/lib/extensions/discord-akairo/BushClient.ts7
-rw-r--r--src/lib/extensions/global.d.ts4
5 files changed, 19 insertions, 6 deletions
diff --git a/src/commands/moderation/purge.ts b/src/commands/moderation/purge.ts
index f4a53a8..4f1a5a6 100644
--- a/src/commands/moderation/purge.ts
+++ b/src/commands/moderation/purge.ts
@@ -52,6 +52,7 @@ export default class PurgeCommand extends BushCommand {
if (args.bot) {
shouldFilter.push(filterMessage.author.bot);
}
+ return shouldFilter.filter((bool) => bool === false).length === 0;
};
const purged = await message.channel.bulkDelete(messages, true).catch(() => {});
diff --git a/src/commands/moderation/role.ts b/src/commands/moderation/role.ts
index 1371ee8..0118f22 100644
--- a/src/commands/moderation/role.ts
+++ b/src/commands/moderation/role.ts
@@ -32,7 +32,7 @@ export default class RoleCommand extends BushCommand {
id: 'role',
type: 'role',
prompt: {
- start: `What role do you want to add/remove to/from the user.?`,
+ start: `What role do you want to add/remove to/from the user?`,
retry: `{error} Choose a valid role to add/remove.`
}
},
diff --git a/src/commands/utilities/decode.ts b/src/commands/utilities/decode.ts
index 3fb340d..9f56cfc 100644
--- a/src/commands/utilities/decode.ts
+++ b/src/commands/utilities/decode.ts
@@ -60,7 +60,8 @@ export default class DecodeCommand extends BushCommand {
{ name: 'latin1', value: 'latin1' },
{ name: 'binary', value: 'binary' },
{ name: 'hex', value: 'hex' }
- ]
+ ],
+ required: true
},
{
name: 'to',
@@ -77,12 +78,14 @@ export default class DecodeCommand extends BushCommand {
{ name: 'latin1', value: 'latin1' },
{ name: 'binary', value: 'binary' },
{ name: 'hex', value: 'hex' }
- ]
+ ],
+ required: true
},
{
name: 'data',
description: 'What you would like to decode.',
- type: 'STRING'
+ type: 'STRING',
+ required: true
}
]
});
@@ -92,7 +95,7 @@ export default class DecodeCommand extends BushCommand {
message: BushMessage | AkairoMessage,
{ from, to, data }: { from: BufferEncoding; to: BufferEncoding; data: string }
): Promise<unknown> {
- const encodeOrDecode = util.capitalizeFirstLetter(message?.util?.parsed?.alias) || 'Decoded';
+ const encodeOrDecode = util.capitalizeFirstLetter(message?.util?.parsed?.alias || 'decoded');
const decodedEmbed = new MessageEmbed()
.setTitle(`${encodeOrDecode} Information`)
.addField('📥 Input', await util.inspectCleanRedactCodeblock(data, null));
diff --git a/src/lib/extensions/discord-akairo/BushClient.ts b/src/lib/extensions/discord-akairo/BushClient.ts
index 8de630f..5b9ac1b 100644
--- a/src/lib/extensions/discord-akairo/BushClient.ts
+++ b/src/lib/extensions/discord-akairo/BushClient.ts
@@ -15,7 +15,9 @@ import {
Structures,
WebhookEditMessageOptions
} from 'discord.js';
-import * as path from 'path';
+import JSON5 from 'json5';
+import 'json5/lib/register';
+import path from 'path';
import { exit } from 'process';
import readline from 'readline';
import { Sequelize } from 'sequelize';
@@ -100,6 +102,8 @@ type If<T extends boolean, A, B = null> = T extends true ? A : T extends false ?
export class BushClient<Ready extends boolean = boolean> extends AkairoClient<Ready> {
public static preStart(): void {
+ global.JSON5 = JSON5;
+
Structures.extend('GuildEmoji', () => BushGuildEmoji);
Structures.extend('DMChannel', () => BushDMChannel);
Structures.extend('TextChannel', () => BushTextChannel);
@@ -180,6 +184,7 @@ export class BushClient<Ready extends boolean = boolean> extends AkairoClient<Re
directory: path.join(__dirname, '..', '..', '..', 'commands'),
prefix: async ({ guild }: { guild: Guild }) => {
if (this.config.isDevelopment) return 'dev ';
+ if (!guild) return this.config.prefix;
const row = await GuildModel.findByPk(guild.id);
return (row?.prefix ?? this.config.prefix) as string;
},
diff --git a/src/lib/extensions/global.d.ts b/src/lib/extensions/global.d.ts
index d4c5f61..10869d0 100644
--- a/src/lib/extensions/global.d.ts
+++ b/src/lib/extensions/global.d.ts
@@ -1,12 +1,16 @@
+import { parse, stringify } from 'json5';
import { BushClient } from './discord-akairo/BushClient';
import { BushClientUtil } from './discord-akairo/BushClientUtil';
declare global {
+ type JSON5 = { parse: typeof parse; stringify: typeof stringify };
namespace NodeJS {
export interface Global {
client: BushClient;
util: BushClientUtil;
+ JSON5: JSON5;
}
}
const client: BushClient;
const util: BushClientUtil;
+ const JSON5: JSON5;
}