Я хочу сделать случайный вопрос ботом для раздора, но я не могу понять, что не так - PullRequest
0 голосов
/ 02 июня 2019

Я хочу создать бот-дискорд, который задает лучшие вопросы, чем тот, который у нас есть.Намерение состоит в том, чтобы я мог регулярно обновлять вопросы.Я разработал хостинг своего бота и подключил его к тестовому серверу.Но я не могу придумать, как вызвать случайный вопрос из списка.Все, что я могу сделать, это заставить его отвечать заданным словом после ввода? Q.

Кроме того, извините, если это слишком много для публикации, я только что присоединился к StackOverflow.

Я пытался использоватьгенератор случайных чисел, имеющий его результат, может использоваться как переменная, тогда эта переменная является вопросом.То есть.случайное число от 1 до 100, если случайное число равно #, то msg.question.Я знаю, по крайней мере, что мне нужно было бы иметь номера для каждого вопроса, поэтому, если бы это было число 50, результатом которого был бы вопрос, с которым связано 50.

var magic8Ball = {};
magic8Ball.listofquestions = ["It is certain.", "It is decidedly so.", "Without a doubt.", "Yes, definitely.", "You may rely on it.", "As I see it, yes.", "Most likely.", "Outlook good.", "Yes.", "Signs point to yes.", "Reply hazy, try again.", "Ask again later.", "Better not tell you now.", "Cannot predict now.", "Concentrate and ask again.", "Don't count on it.", "My reply is no.", "My sources say no.", "Outlook not so good.", "Very doubtful."];

magic8Ball.getAnswer = function(question) {
  var randomNumber = Math.random();
  var randomAnswer = Math.floor(randomNumber * this.listofquestions.length);
  var answer = this.listofquestions[randomAnswer];

client.on('ready', () => {
  console.log(`Logged in as ${client.user.tag}!`);
});

client.on('message', msg => {
  if (msg.content === '?q') {
    // msg.reply('pong');
    function() {
      magic8Ball.getAnswer(question);
    };
  }
});

client.login(auth.token);

Я хотел егопоказывать случайные вопросы, но я получаю эту ошибку в моем cmd при развертывании бота

1 Ответ

0 голосов
/ 02 июня 2019

Я пересмотрел и отредактировал ваш код.

listofquestions = ["It is certain.", "It is decidedly so.", "Without a doubt.", "Yes, definitely.", "You may rely on it.", "As I see it, yes.", "Most likely.", "Outlook good.", "Yes.", "Signs point to yes.", "Reply hazy, try again.", "Ask again later.", "Better not tell you now.", "Cannot predict now.", "Concentrate and ask again.", "Don't count on it.", "My reply is no.", "My sources say no.", "Outlook not so good.", "Very doubtful."];

client.on('ready', () => {
  console.log(`Logged in as ${client.user.tag}!`);
});

client.on('message', msg => {
  if (msg.content === '?q') {
     msg.reply(listofquestions[Math.floor(Math.random() * listofquestions.length)]);

  }

client.login(auth.token);

Если вам нужна какая-либо другая помощь или разъяснения по чему-либо, не стесняйтесь спрашивать, и я отредактирую свой ответ для ваших нужд.

...