Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果在javascript中启动后满足条件,则中断设置超时倒计时_Javascript_Settimeout_Bots_Discord - Fatal编程技术网

如果在javascript中启动后满足条件,则中断设置超时倒计时

如果在javascript中启动后满足条件,则中断设置超时倒计时,javascript,settimeout,bots,discord,Javascript,Settimeout,Bots,Discord,我正试图为不和谐制造一个微不足道的机器人。我有一个工作系统,当用户输入一条以“?平凡”开头的消息时,从数组中随机询问一个问题,并在5秒钟后给出列表中相应的答案。现在,如果任何用户在倒计时运行时给出了正确答案,我想让倒计时停止,并显示一条消息。这是我尝试过的,但它不起作用,给出正确的答案不会产生错误,只是什么也不会发生,倒计时会一直持续到它自然结束 if (message.content.startsWith(config.prefix + "trivial")) { var number =

我正试图为不和谐制造一个微不足道的机器人。我有一个工作系统,当用户输入一条以“?平凡”开头的消息时,从数组中随机询问一个问题,并在5秒钟后给出列表中相应的答案。现在,如果任何用户在倒计时运行时给出了正确答案,我想让倒计时停止,并显示一条消息。这是我尝试过的,但它不起作用,给出正确的答案不会产生错误,只是什么也不会发生,倒计时会一直持续到它自然结束

if (message.content.startsWith(config.prefix + "trivial")) {
 var number = Math.floor(Math.random() * Questions.length);
 if(number % 2 == 0){
number = number;
} else
number = number +1
var question = Questions[number];
var answer = Questions[number +1]; 
message.channel.send(question);
function giveanswer(){
message.channel.send("Correct Answer: " + answer) 
}
myVar = setTimeout (giveanswer, 5000)
if (message.content.startsWith('answer')){
  clearTimeout (myVar);
  message.channel.send('Congrats!')
  }
}

我已经尝试过这个和其他一些类似的变体,但我开始认为我没有走上正确的轨道。

如果(message.content.startsWith('answer')){
你是想对照文本字符串
检查“answer”吗
或变量
answer
中包含的字符串?感谢您的回复!当discord服务器中的任何人写入“?trifole”(这是包含其他游戏的bot的代码的一部分)时,将运行此代码,这很好。这意味着要检查变量“answer”中包含的字符串。然后需要删除它周围的引号,即
startsWith(answer)
还有,每次有人输入除
以外的内容时?琐碎的
您正在更改您的
问题
答案
正确!谢谢!但是我已经更改了,它仍然不起作用:(