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

标签 javascript bots discord dice

我正在编写自己的不和谐机器人,简而言之,我需要一些代码方面的帮助。 当我使用像 !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

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

关于javascript - 如何在不和谐机器人上发出命令来随机生成报价?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54658058/

相关文章:

javascript - WordPress - 排队脚本/CSS 的问题

javascript - 在 ASP.Net MVC 中使用成员资格会引发异常

javascript - Fullcalendar 不断更改 CSS 规则

node.js - Messenger Bot 无法响应

javascript - Discord.js 机器人离开公会

javascript - 在 React 渲染 svg 之前,以编程方式将样式添加到 svg 中?

javascript - Node.js .match() 方法正确使用吗?

facebook - Microsoft BotConnectorBot 中发送消息错误 500

javascript - .joinedAt 属性总是在discord.js 中返回未定义

python - discord.py 的颜色代码