Files
illegitimate-bot/commands/slowmode.js
2023-04-24 23:38:33 +02:00

65 lines
1.9 KiB
JavaScript

const { SlashCommandBuilder, PermissionFlagsBits } = require("discord.js");
const { color } = require("../config/options.json");
module.exports = {
name: "slowmode",
description: "Set the slowmode of a channel.",
type: "slash",
data: new SlashCommandBuilder()
.setName("slowmode")
.setDescription("Set the slowmode of a channel.")
.addIntegerOption((option) =>
option
.setName("seconds")
.setDescription("The amount of seconds to set the slowmode to.")
)
.addChannelOption((option) =>
option
.setName("channel")
.setDescription("The channel to set the slowmode of.")
)
.setDefaultMemberPermissions(PermissionFlagsBits.Administrator)
.setDMPermission(false),
async execute(interaction) {
await interaction.deferReply({ ephermeral: true });
const seconds = interaction.options.getInteger("seconds") ?? 5;
const channel =
interaction.options.getChannel("channel") ?? interaction.channel;
const embedColor = Number(color.replace("#", "0x"));
if (seconds > 21600) {
await channel.setRateLimitPerUser(21600);
await interaction.editReply({
embeds: [
{
description: `Set the slowmode of ${channel} to 21600 seconds.`,
color: embedColor,
footer: {
text: interaction.guild.name + " | Developed by: @Taken#0001",
icon_url: interaction.guild.iconURL({ dynamic: true })
}
}
]
});
return;
}
await interaction.editReply({
embeds: [
{
description: `Set the slowmode of ${channel} to ${seconds} seconds.`,
color: embedColor,
footer: {
text: interaction.guild.name + " | Developed by: @Taken#0001",
icon_url: interaction.guild.iconURL({ dynamic: true })
}
}
]
});
await channel.setRateLimitPerUser(seconds);
}
};