[英]Discord.js V13 Set Button Cooldown
我最近制作了我的工单机器人,但我需要为“关闭工单”按钮添加一个冷却时间,以防止有人淹没该按钮并发送多条消息,我还没有找到任何可能的方法来做到这一点。 我如何在特定按钮上添加冷却时间?
我的按钮代码:
const row = new client.discord.MessageActionRow()
.addComponents(
new client.discord.MessageButton()
.setCustomId('confirm-close')
.setLabel('Fechar o Ticket')
.setStyle('DANGER'),
new client.discord.MessageButton()
.setCustomId('no')
.setLabel('Cancelar Fechamento')
.setStyle('SECONDARY'),
);
const verif = await interaction.reply({
content: 'Tem certeza de que deseja fechar o ticket?',
components: [row]
});
对于用户识别,我使用interaction.user.id
一般来说,你可以做这样的事情来冷却:
let cooldownTime = 5000; //five seconds let semaphore = true; //green function doSomeStuff() { if (semaphore) { //your logic console.log("GREEN"); semaphore = false; //red setTimeout(() => {semaphore = true;}, cooldownTime); } else { console.log("RED"); } }
<input type="button" value="CLICK ME!" onclick="doSomeStuff()">
这只会影响逻辑,但您也可以添加禁用/启用按钮。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.