问题描述
我正在编写自己的Discord机器人,简而言之,我需要代码方面的帮助。 当我使用!roll或!dice之类的命令时,我需要我的机器人选择随机响应(例如1/10),并且一旦使用,用户需要冷却6天才能被添加(即该命令不能由该用户使用6天后,并会在几天,几小时和几分钟之内回复)
我对代码很陌生,但是我发现了一些
const Discord = require ("discord.js")
const Bot = new Discord.Client();
const token = "my token"
Bot.login('my token');
Bot.on('message' , function (message){
if(message.content == '!roll')
var roll =(Math.floor(Math.random()*200)+1);
if (roll = 1 )
{message.reply('Wowza!');
}
else {message.reply('lol!');
}
每当我滚动时,机器人就会显示其中一个输出,然后显示另一个输出,然后对这两个输出发送垃圾邮件,直到将其关闭。
1楼
不要在诸如if
的比较语句中使用单个=
。
单个equals是一个赋值运算符,这意味着当您编写roll = 1
,您会将roll设置为1而不是检查其是否为1。
做比较语句时,请始终使用==
或===
。
因此,您可能想使用roll == 1
或roll === 1
。
if (roll == 1 ) {
message.reply('Wowza!');
}
else {
message.reply('lol!');
}
另外,在进一步查看代码之后,您还会遇到其他问题。
如果要将第一个花括号括起来, if
需要将其包装起来,因为它应该包含以下代码行。
Bot.on('message' , function (message){
if (message.content == '!roll')
{
var roll =(Math.floor(Math.random()*200)+1);
if (roll == 1)
{
message.reply('Wowza!');
}
else
{
message.reply('lol!');
}
}
}