泛舟湖上清波郎朗
2023-06-29 22:37:01
例如,每當(dāng)有人說(shuō)“早上好”時(shí),我希望我的機(jī)器人回復(fù)“早上好”。我已經(jīng)弄清楚了所有這些,但現(xiàn)在我想在上面放一個(gè)計(jì)時(shí)器,它變得有點(diǎn)復(fù)雜。我希望計(jì)時(shí)器適用于服務(wù)器上的所有人。例如,如果有人說(shuō)早上好,那么我們讓機(jī)器人等待 3 秒鐘。我嘗試了幾種不同的解決方案,但沒(méi)有一個(gè)有效,所以我想看看是否可以在這里獲得任何幫助。let goodmorning = true;client.on("message", (message) => {if (!message.author.bot) { if (message.content == "good morning") { if (goodmorning == true) { message.channel.send("Good morning"); setInterval(() => goodmorning = false, 3000); } else { setTimeout(goodmorning = true, 3000); } }}});我還嘗試了在網(wǎng)上找到的其他解決方案。我在第 3 行收到“語(yǔ)法錯(cuò)誤:意外標(biāo)識(shí)符”,盡管第 5 行非常相似:client.on("message", (message) => {if (!message.author.bot) {long lastTrueTime;boolean timedgm() { long now = System.currentTimeMillis(); if (message.content == "good morning") { lastTrueTime = now; return true; } if (lastTrueTime+3000<now) return false; return true;} message.channel.send("Good morning"); }});感謝您提前提供的所有幫助。
1 回答

寶慕林4294392
TA貢獻(xiàn)2021條經(jīng)驗(yàn) 獲得超8個(gè)贊
看來(lái)您想要此命令的全局冷卻時(shí)間。
這可以通過(guò)立即將值設(shè)置為 false,然后 3000 毫秒后將值恢復(fù)為 true 來(lái)輕松完成
let goodmorning = true;
client.on("message", (message) => {
if (!message.author.bot) {
if (message.content == "good morning") {
if (goodmorning == true) {
message.channel.send("Good morning");
goodmorning = false;
setTimeout(() => goodmorning = true, 3000);
}
}
}
});
添加回答
舉報(bào)
0/150
提交
取消