aboutsummaryrefslogtreecommitdiff
path: root/src/commands/moderation/warn.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/commands/moderation/warn.ts')
-rw-r--r--src/commands/moderation/warn.ts10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/commands/moderation/warn.ts b/src/commands/moderation/warn.ts
index 3d353ca..d5bf009 100644
--- a/src/commands/moderation/warn.ts
+++ b/src/commands/moderation/warn.ts
@@ -28,6 +28,11 @@ export default class WarnCommand extends BushCommand {
retry: '{error} Choose a valid warn reason.',
optional: true
}
+ },
+ {
+ id: 'force',
+ flag: '--force',
+ match: 'flag'
}
],
slash: true,
@@ -52,10 +57,11 @@ export default class WarnCommand extends BushCommand {
}
public async exec(
message: BushMessage | BushSlashMessage,
- { user, reason }: { user: BushUser; reason: string }
+ { user, reason, force }: { user: BushUser; reason: string; force: boolean }
): Promise<unknown> {
const member = message.guild.members.cache.get(user.id) as BushGuildMember;
- const canModerateResponse = this.client.util.moderationPermissionCheck(message.member, member, 'warn');
+ const useForce = force && message.author.isOwner();
+ const canModerateResponse = this.client.util.moderationPermissionCheck(message.member, member, 'warn', true, useForce);
const victimBoldTag = `**${member.user.tag}**`;
if (canModerateResponse !== true) {