我正在制作一个不和谐的bot机器人,并且我希望它发送一条消息,当发出适当的命令时,它会重复五次消息!赞美.
所有其他命令都可以正常运行(下面我以一个这样的命令!saviour为例),但是,!praise命令从不提供任何输出.
我希望它可以遍历循环,每次发送一条消息,就像您对for循环所期望的那样.
什么会阻止循环运行,我该如何解决?
bot.on('message', function(user, userID, channelID, message, evt) {
if (message.substring(0, 1) === '!') {
let args = message.substring(1).split(' ');
let cmd = args[0];
args = args.splice(1);
switch (cmd) {
case 'saviour':
bot.sendMessage({
to: channelID,
message: 'Our current lord and saviour is named asghjahero'
});
break; //the above case works fine
case 'praise':
for (let i = 1; i === 5; i++) {
bot.sendMessage({
to: channelID,
message: 'All Hail!'
});
}
break;
}
}
});
解决方法:
看一下您的for循环中的条件(i === 5).只要是真的,循环就会执行.但是,您可以通过分配i = 1来开始循环,即使1的值较大,1也不等于5.