Пусть бот-дискорд отправит много сообщений одной командой - PullRequest
0 голосов
/ 10 января 2019

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

Все остальные команды выполняются правильно (ниже я поставил одну такую ​​команду, ! Savior , в качестве примера), однако команда ! Praise никогда не дает никакого вывода.

Я надеялся, что он будет повторяться в цикле, посылая сообщение каждый раз, как вы ожидаете от цикла for.

Что мешает запуску цикла и как я могу это исправить?

bot.on('message', function(user, userID, channelID, message, evt) {
  if (message.substring(0, 1) === '!') {
    let args = message.substring(1).split(' ');
    let cmd = args[0];

    args = args.splice(1);
    switch (cmd) {
      case 'saviour':
        bot.sendMessage({
          to: channelID,
          message: 'Our current lord and saviour is named asghjahero'
        });
        break; //the above case works fine
      case 'praise':
        for (let i = 1; i === 5; i++) {
          bot.sendMessage({
            to: channelID,
            message: 'All Hail!'
          });
        }
        break;
    }
  }
});

Ответы [ 2 ]

0 голосов
/ 11 января 2019

Чтобы ответить на вопрос в заголовке, вы просто запускаете bot.sendMessage дважды в своем слушателе.

0 голосов
/ 10 января 2019

Посмотрите на условие в вашей петле for (i === 5). Цикл будет выполняться до тех пор, пока это правда. Но вы запускаете цикл, назначая i = 1, и 1 не равно 5, даже для больших значений 1.

...