我如何进行命令冷却?

时间:2020-05-06 07:01:28

标签: bots discord discord.js

我想知道如何对单个命令而不是对所有其他命令进行命令冷却?如果有人帮我解决这个问题,将不胜感激,谢谢您。

1 个答案:

答案 0 :(得分:2)

您将必须创建一个Collection(),其中将包含已执行命令的用户,然后具有client.setTimeout()功能,以便在设置的时间后从{{1} },以便他们可以再次使用命令。

以下是this guide中的一个示例:

Collection()
const cooldowns = new Discord.Collection();

if (!cooldowns.has(command.name)) {
    cooldowns.set(command.name, new Discord.Collection());
}

const now = Date.now();
const timestamps = cooldowns.get(command.name);
const cooldownAmount = (command.cooldown || 3) * 1000;

if (timestamps.has(message.author.id)) {
    // ...
}