Discord. js "канал" не определен, сообщение об ошибке - PullRequest
0 голосов
/ 06 мая 2020

Недавно я заинтересовался созданием бота Discord с использованием Javascript и node.js. Я пытаюсь создать команду, которая запускает виртуальную «лотерею» и отправляет сообщение, сообщающее пользователю, получили ли они что-нибудь. (Вот мой код :)

`

function lotteryCommand(arguments, receivedMessage){


/*note: receivedMessage is defined as the command (for my bot, it's e!spin) 
  and arguments is the part following the command (for this particular bit of code, 
  it's merits, so the user sends "e!spin merits")*/

    if (arguments == "merits"){
        setTimeout(randomlottery1, 1000);
    }
    else{receivedMessage.channel.send("Message here")}
    }

вот другая функция. Здесь он перестает работать

  function randomlottery1(arguments, receivedMessage){
    let respond;
    let responses = [
        //some random phrases here
    ]
    respond = responses[Math.floor(Math.random() * responses.length)]
    receivedMessage.channel.send(respond)
}

По какой-то причине я не могу понять, он не распознает channel в receivedMessage.channel.send времени секунд , в функции randomlottery1, но он распознал команду ранее в коде. Что я здесь делаю не так? Спасибо.

1 Ответ

2 голосов
/ 07 мая 2020

Я думаю, ваша проблема в том, что вы не передаете какие-либо параметры своей функции, вы можете легко исправить это, сделав это:

function lotteryCommand(arguments, receivedMessage){


/*note: receivedMessage is defined as the command (for my bot, it's e!spin) 
  and arguments is the part following the command (for this particular bit of code, 
  it's merits, so the user sends "e!spin merits")*/

    if (arguments == "merits"){
            // dont forget to pass in the required parameters while executing your function (parameter1, parameter2)
            setTimeout(randomlottery1(arguments, receivedMessage), 1000);
    }
    else{receivedMessage.channel.send("Message here")}
    }
...