Как сделать команду на бот-дискордеру случайным образом сгенерировать цитату? - PullRequest
0 голосов
/ 12 февраля 2019

Я пишу свой собственный бот-дискорд, и в двух словах мне нужна помощь с кодом.Мне нужно, чтобы мой бот выбрал случайный ответ (например, 1/10), когда я использую команду, подобную! Roll или! Dice, и после ее использования добавляется охлаждение пользователя на 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!');
    }

всякий раз, когдаЯ бросаю, бот отображает один из выходов, затем другой, а затем спамит два, пока не отключится.

1 Ответ

0 голосов
/ 12 февраля 2019

Не используйте один = в выражении сравнения, например if.Одиночное равенство - это оператор присваивания, который означает, что когда вы пишете roll = 1, вы устанавливаете значение 1 вместо того, чтобы проверять, имеет ли оно значение 1.

Всегда использовать ==или === при выполнении сравнений.Итак, вы хотели бы использовать roll == 1 или roll === 1.

Вот хорошая статья о двойных равных и тройных равных в 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!');
        }
    }
}
...