Я искал везде, искал по всему Интернету, и независимо от того, что я делаю, я просто не могу заставить его работать. Код, который у меня есть, работает, но добавление более двух ответов не работает:
client.on('message' , function (message){
if (message.content == 'hi')
{
var roll =(Math.floor(Math.random()*3)+1);
if (roll == 1)
{
message.reply('hello');
}
else
{
message.reply('hey');
}
Я хочу иметь возможность добавлять больше ответов, чем только этот
Спасибо
редактировать: я только что заметил еще одну проблему, когда мой бот говорит все доступные ответы по команде, а не только один случайным образом. Как мне исправить и это?
Вам нужен массив возможных ответов и функция, которая может получить из него случайный элемент. Например, этот:
function randomElementOf(array) {
return array[Math.floor(Math.random() * array.length)]
}
И используйте его, чтобы получить ответ от массива. Так:
const responses = ["hello", "hey", "hi", "sup"];
// ...
message.reply(randomElementOf(responses));
Я бы рекомендовал создать массив ответов, а затем выбрать случайный элемент из этого массива:
// inside the 'message' event handler
const responses = ["Hey", "Hi", "Hello", "Hey"];
const randomResponse = responses[Math.floor(Math.random() * responses.length)];
message.reply(randomResponse);
Поскольку мы используем responses.length
при определении индекса случайного массива, все, что вам нужно сделать, чтобы добавить новый ответ в пул, — это добавить в массив.