当前位置: 代码迷 >> JavaScript >> 如何在Discord机器人上发出命令以随机生成报价?
  详细解决方案

如何在Discord机器人上发出命令以随机生成报价?

热度:41   发布时间:2023-06-12 14:09:32.0

我正在编写自己的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!');
    }

每当我滚动时,机器人就会显示其中一个输出,然后显示另一个输出,然后对这两个输出发送垃圾邮件,直到将其关闭。

不要在诸如if的比较语句中使用单个= 单个equals是一个赋值运算符,这意味着当您编写roll = 1 ,您会将roll设置为1而不是检查其是否为1。

做比较语句时,请始终使用===== 因此,您可能想使用roll == 1roll === 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!');
        }
    }
}