This repository has been archived on 2024-03-06. You can view files and clone it, but cannot push or open issues or pull requests.
discord.js-rr-bot/Src/Structures/CommandOptions/Cooldown.js
2022-06-18 23:28:38 -04:00

30 lines
No EOL
1.4 KiB
JavaScript

const db = require("quick.db")
module.exports = async function (client, message, command, isInteraction, interactionType, Discord) {
if (!command.cooldown) return false;
const currentTime = Date.now()
const user = message.member.user
const cooldown = command.cooldown
const oldTime = await db.get(`CooldownSystem.${message.guild.id}.${command.name}.${interactionType ?? "Normal"}.${user.id}`) ?? 0
if (Math.floor(currentTime - oldTime) >= cooldown || oldTime == 0) {
await db.set(`CooldownSystem.${message.guild.id}.${command.name}.${interactionType ?? "Normal"}.${user.id}`, currentTime)
return false;
} else {
if (command.returnCooldown == false || command.returnNoErrors) return true;
else {
message.reply({
embeds: [new Discord.MessageEmbed()
.setAuthor({
name: message.member.user.tag,
iconURL: message.member.user.displayAvatarURL({ dynamic: true })
})
.setTimestamp()
.setColor("RANDOM")
.setDescription(`You are currently at cooldown until <t:${Math.floor(Math.floor(oldTime + cooldown) / 1000)}>`)],
allowedMentions: {
repliedUser: false
}
})
return true
}
}
}