mirror of
https://github.com/JonnyBro/JaBa.git
synced 2024-11-25 22:55:00 +05:00
47 lines
No EOL
1.7 KiB
JavaScript
47 lines
No EOL
1.7 KiB
JavaScript
const Command = require("../../base/Command.js"),
|
|
ms = require("ms");
|
|
|
|
class Slowmode extends Command {
|
|
constructor (client) {
|
|
super(client, {
|
|
name: "slowmode",
|
|
dirname: __dirname,
|
|
enabled: true,
|
|
guildOnly: true,
|
|
aliases: [ "slowmotion" ],
|
|
memberPermissions: [ "MANAGE_GUILD" ],
|
|
botPermissions: [ "SEND_MESSAGES", "EMBED_LINKS" ],
|
|
nsfw: false,
|
|
ownerOnly: false,
|
|
cooldown: 3000
|
|
});
|
|
}
|
|
|
|
async run (message, args, data) {
|
|
const channel = message.mentions.channels.filter((ch) => ch.type === "text" && ch.guild.id === message.guild.id).first();
|
|
if (!channel) return message.error("misc:INVALID_CHANNEL");
|
|
|
|
const time = args[1];
|
|
if (!time) {
|
|
if (!data.guild.slowmode.channels.find((ch) => ch.id === channel.id)) return message.error("misc:INVALID_TIME");
|
|
|
|
data.guild.slowmode.channels = data.guild.slowmode.channels.filter((ch) => ch.id !== channel.id);
|
|
data.guild.markModified("slowmode.channels");
|
|
data.guild.save();
|
|
message.success("administration/slowmode:DISABLED", { prefix: data.guild.prefix, channel: `#${channel.name}` });
|
|
} else {
|
|
if (isNaN(ms(time))) return message.error("misc:INVALID_TIME");
|
|
if (data.guild.slowmode.channels.find((ch) => ch.id === channel.id)) data.guild.slowmode.channels = data.guild.slowmode.channels.filter((ch) => ch.id !== channel.id);
|
|
|
|
data.guild.slowmode.channels.push({
|
|
id: channel.id,
|
|
time: ms(time)
|
|
});
|
|
data.guild.markModified("slowmode.channels");
|
|
data.guild.save();
|
|
message.success("administration/slowmode:ENABLED", { prefix: data.guild.prefix, channel: `#${channel.name}`, time: this.client.functions.convertTime(message.guild, ms(time)) });
|
|
};
|
|
}
|
|
};
|
|
|
|
module.exports = Slowmode; |