Возникли проблемы с этим кодом. Команда очистки продувки в js - PullRequest
0 голосов
/ 16 февраля 2020

Я работал над ботом Discord в качестве небольшого эксперимента (так как я новичок в программировании). Оказывается, у меня проблема с этим кодом:

  // delete from 2-100.

  const deleteCount = parseInt(args[0], 10);

  if(!deleteCount){ 
    return message.reply("Un numero del 2-100"); //"a number from 2-100"
  }

  const fetched = await message.channel.fetchMessages({limit: deleteCount});
  message.channel.bulkDelete(fetched)
    .catch(error => message.reply(`Error: ${error}`)) }

Этот код работает: он удаляет указанное количество сообщений и отправляет сообщение «Введите число от 2 до 100», только когда! Purge или! ясно дано. Тем не менее, сообщение ... оно также отправляется, когда я набираю команду! Скажем, или после того, как бот пинает кого-то и отправляет успешно удаленное пользовательское сообщение. Он даже отправляется, когда дано! Shop или! F (которые не являются частью его кода).

Как я могу заставить бота отправлять только "Un Numberro Del 2-100" когда команда дается без значения?

1 Ответ

0 голосов
/ 16 февраля 2020

Вы должны использовать оператор if, чтобы проверить, является ли сообщение командой, поэтому вы можете разрешить выполнение этого кода, только если это команда. Например: if (msg.startsWith(prefix + 'purge') || msg.startsWith(prefix + 'clear') {}

Из того, что я вижу, весь этот код выполняется независимо от указанной команды, поэтому эта строка выводится независимо от вызываемой команды.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...