如何在不和谐的机器人上发出命令以随机生成报价?

How to make a command on a discord bot to randomly generate a quote?

我正在编写我自己的 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 等比较语句中使用单个 =。单个等号是一个赋值运算符,这意味着当您编写 roll = 1 时,您 将 roll 设置为 1 而不是检查它持有的值是否为 1。

在进行比较语句时始终使用 =====。因此,您可能希望使用 roll == 1roll === 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!');
        }
    }
}