我正在编写自己的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!');
}
每当我滚动时,机器人就会显示其中一个输出,然后显示另一个输出,然后对这两个输出进行垃圾邮件处理,直到将其关闭为止。
答案 0 :(得分:1)
请勿在比较语句中使用单个=
,例如if
。单个等于是一个赋值运算符,这意味着当您编写roll = 1
时,您将 roll设置为1 ,而不是检查其持有的值是否为1。
在进行比较语句时始终使用==
或===
。因此,您可能想使用roll == 1
或roll === 1
。
Here's a good article about double equals vs triple equals in JavaScript
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!');
}
}
}