Skip to content

Commit 1072abf

Browse files
committed
Enforce prefix permissions and wire config wizard modRole for moderation commands
1 parent 52b306a commit 1072abf

16 files changed

Lines changed: 409 additions & 51 deletions

src/commands/Moderation/cases.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@ export default {
3131
.setMaxValue(50)
3232
),
3333

34+
category: 'moderation',
35+
3436
async execute(interaction, config, client) {
3537
const deferSuccess = await InteractionHelper.safeDefer(interaction);
3638
if (!deferSuccess) {

src/commands/Moderation/dm.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ export default {
2929
)
3030
.setDefaultMemberPermissions(PermissionFlagsBits.ModerateMembers)
3131
.setDMPermission(false),
32-
category: "Moderation",
32+
category: "moderation",
3333

3434
async execute(interaction, config, client) {
3535
const deferSuccess = await InteractionHelper.safeDefer(interaction);

src/commands/Moderation/kick.js

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,6 @@ export default {
2323

2424
async execute(interaction, config, client) {
2525
try {
26-
if (!interaction.member.permissions.has(PermissionFlagsBits.KickMembers)) {
27-
throw new TitanBotError(
28-
"User lacks permission",
29-
ErrorTypes.PERMISSION,
30-
"You do not have permission to kick members."
31-
);
32-
}
33-
3426
const targetUser = interaction.options.getUser("target");
3527
const member = interaction.options.getMember("target");
3628
const reason = interaction.options.getString("reason") || "No reason provided";

src/commands/Moderation/lock.js

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,6 @@ export default {
2525
return;
2626
}
2727

28-
if (!interaction.member.permissions.has(PermissionFlagsBits.ManageChannels))
29-
return await replyUserError(interaction, { type: ErrorTypes.PERMISSION, message: 'You need the `Manage Channels` permission to lock channels.' });
30-
3128
const channel = interaction.channel;
3229
const everyoneRole = interaction.guild.roles.everyone;
3330

src/commands/Moderation/massban.js

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,6 @@ export default {
4444
return;
4545
}
4646

47-
if (!interaction.member.permissions.has(PermissionFlagsBits.BanMembers)) {
48-
return await replyUserError(interaction, { type: ErrorTypes.PERMISSION, message: 'You do not have permission to ban members.' });
49-
}
50-
5147
const usersInput = interaction.options.getString("users");
5248
const reason = interaction.options.getString("reason") || "Mass ban - No reason provided";
5349
const deleteDays = interaction.options.getInteger("delete_days") || 0;

src/commands/Moderation/masskick.js

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,6 @@ export default {
3636
return;
3737
}
3838

39-
if (!interaction.member.permissions.has(PermissionFlagsBits.KickMembers)) {
40-
return await replyUserError(interaction, { type: ErrorTypes.PERMISSION, message: 'You do not have permission to kick members.' });
41-
}
42-
4339
const usersInput = interaction.options.getString("users");
4440
const reason = interaction.options.getString("reason") || "Mass kick - No reason provided";
4541

src/commands/Moderation/purge.js

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,6 @@ export default {
3232
return;
3333
}
3434

35-
if (!interaction.member.permissions.has(PermissionFlagsBits.ManageMessages))
36-
return await replyUserError(interaction, { type: ErrorTypes.PERMISSION, message: 'You need the `Manage Messages` permission to purge messages.' });
37-
3835
const amount = interaction.options.getInteger("amount");
3936
const channel = interaction.channel;
4037

src/commands/Moderation/timeout.js

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -51,14 +51,6 @@ export default {
5151
}
5252

5353
try {
54-
if (!interaction.member.permissions.has(PermissionFlagsBits.ModerateMembers)) {
55-
throw new TitanBotError(
56-
"User lacks permission",
57-
ErrorTypes.PERMISSION,
58-
"You need the `Moderate Members` permission to set a timeout."
59-
);
60-
}
61-
6254
const targetUser = interaction.options.getUser("target");
6355
const member = interaction.options.getMember("target");
6456
const durationMinutes = interaction.options.getInteger("duration");

src/commands/Moderation/unlock.js

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,6 @@ export default {
2525
return;
2626
}
2727

28-
if (
29-
!interaction.member.permissions.has(
30-
PermissionFlagsBits.ManageChannels,
31-
)
32-
)
33-
return await replyUserError(interaction, { type: ErrorTypes.PERMISSION, message: 'You need the `Manage Channels` permission to unlock channels.' });
34-
3528
const channel = interaction.channel;
3629
const everyoneRole = interaction.guild.roles.everyone;
3730

src/commands/Moderation/usernotes.js

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -90,10 +90,6 @@ export default {
9090
category: "moderation",
9191

9292
async execute(interaction, config, client) {
93-
if (!interaction.member.permissions.has(PermissionFlagsBits.ManageMessages)) {
94-
return await replyUserError(interaction, { type: ErrorTypes.PERMISSION, message: 'You do not have permission to manage user notes.' });
95-
}
96-
9793
const subcommand = interaction.options.getSubcommand();
9894
const targetUser = interaction.options.getUser("target");
9995
const guildId = interaction.guild.id;

0 commit comments

Comments
 (0)