【问题标题】:How to make a command on a discord bot to randomly generate a quote?如何在不和谐机器人上发出命令以随机生成报价?
【发布时间】:2019-02-13 04:45:45
【问题描述】:

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

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

【问题讨论】:

    标签: javascript bots discord dice


    【解决方案1】:

    不要在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!');
            }
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2021-07-28
      • 2021-03-11
      • 2019-06-08
      • 2018-07-21
      • 1970-01-01
      • 1970-01-01
      • 2022-01-21
      • 2017-05-31
      • 2018-11-10
      相关资源
      最近更新 更多