Discord.js V13 设置按钮冷却时间
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()">
这只会影响逻辑,但您也可以向其添加按钮 disabling/enabling。
我最近制作了我的工单机器人,但我需要为“关闭工单”按钮添加冷却时间以防止有人淹没该按钮并发送多条消息,我还没有找到任何可能的方法来做到这一点.我如何在特定按钮上添加冷却时间?
我的按钮代码:
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()">
这只会影响逻辑,但您也可以向其添加按钮 disabling/enabling。