我正在尝试进行冷却,但它不起作用

时间:2021-07-11 10:31:59

标签: node.js discord.js

我正在尝试使用talkRecently进行冷却,但它不起作用,请帮助我。

type ElementDef struct {
    XMLName  xml.Name
    Name     string       `xml:"name,attr"`
    Id       string       `xml:"id"`
    Elements []ElementDef `xml:"element"`
}

2 个答案:

答案 0 :(得分:0)

那是因为您的 setTimeout 语法错误。 这应该是语法。

setTimeout(() => { talkedRecently.delete(message.author.id); }, 60000);

答案 1 :(得分:0)

首先,我们需要创建一个新集合

var cooldown = new Set()

在你的消息事件中让机器人检查用户是否处于冷却状态

if(cooldown.has(msg.author.id)) return msg.reply("You're in cooldown")

如果用户不在冷却时间,将他加入冷却时间并回复他

cooldown.add(message.author.id)

我们需要在给定时间后将他从冷却中移除,使用 setTimeout

setTimeout(() => {
   cooldown.delete(message.author.id)
},3500)