Я добавил кое-что, где мой бот будет dm, если кто-то уйдет, но теперь я просто получаю сообщение об ошибке - PullRequest
0 голосов
/ 05 июня 2019

Итак, я новичок в написании кода и столкнулся со стеной.Я искал везде, но не могу понять, как заставить эти команды работать вместе.Я использую код Visual Studio или discord.js, как бы он ни назывался.И я совершенно новичок в кодировании.

Этот код - единственный, который я смог выяснить, чтобы послать мне дм

bot.on("guildMemberRemove", member => {
    bot.users.get("485655477812723712").send(member + 'has left the 
server')
}) 



bot.on("guildMemberRemove", member => {
    bot.users.get("485655477812723712").send(member + 'has left the 
   server')
    }) //.. this will send me a dm informing me that someone left

});

bot.on('message', message=>{

    let args = message.content.substring(PREFIX.length).split(" ");

    let member = message.mentions.members.first();
    switch(args[0]){
//.. these go onto my case '' commands

Так что я могу запустить своего бота.В качестве пробного запуска у меня есть другая учетная запись присоединиться без проблем, а затем я выкинуть эту учетную запись.Но он закрывает бот, говоря:

"TypeError: Невозможно прочитать свойство 'first' из null"

То же самое произойдет, если учетная запись уйдет.Тем не менее, я все еще получаю уведомление, что этот человек ушел.И я заблудился о том, что я должен делать.Помогите пожалуйста

1 Ответ

1 голос
/ 05 июня 2019

Из того, что я вижу, ошибка дает вам именно вашу проблему. Он пытается получить first для нулевого объекта. Чтобы смягчить это, попробуйте сначала убедиться, что объект не является нулевым. Вы можете сделать это с помощью:

//If it is not null
if(message.mentions.members){
    let member = message.mentions.members.first();

    //Insert the rest of the code here
}
...