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), /** @param { import('discord.js').ChatInputCommandInteraction } interaction */ 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) } }