Не работает проверка DiscordJS

Задача состоит в том, чтобы выдавать предупреждения пользователям на сервере в дискорде

module.exports.run = async (bot,message,args) => {
    if(!message.member.hasPermission('KICK_MEMBERS')) return message.channel.send('У вас нет прав');
    let wUser = message.guild.member(message.mentions.users.first()) || message.guild.members.get(args[0]);
}

module.exports.help = {
    name: 'warn'
}

но ничего не происходит, а в консоль выводится ошибка:

1) message.guild.members.get is not a function
2) message.guild.members.get is not a function

Полный код:

const Discord = require('discord.js');
const fs = require('fs');
const profile = require('../profile.json');

module.exports.run = async (bot,message,args) => {
    try{
        function send(msg){message.channel.send(msg)}
    if(!message.member.hasPermission('KICK_MEMBERS')) return message.channel.send('У вас нет прав');
    let wUser = message.guild.member(message.mentions.users.first()) || message.guild.members.get(args[0]);
    if(!args[0]){return send('Пользователь не указан')};
    if(!wUser){return send('Пользователь не найден')}

    profile[wUser.id].warns++;
    fs.writeFile('./profile.json',JSON.stringify(profile), (err) => {
        if(err){console.log(err)}
    })
    if(profile[wUser.id].warns >=3){
        message.guild.member(wUser).kick('Увы');
    }
    let embed = new Discord.RichEmbed()
    .setDescription('Предупреждение')
    .addField('Администратор', message.author.username)
    .addField('Выдал предупреждение',`${wUser.user.username}`)
    .addField('Кол-во предупреждений',`${profile[wUser.id].warns}/3`)
    message.channel.send(embed);
    }catch(err){
        console.log(`${err.name}\n2.${err.message}\n3.${err.stack}`)
    }
}
module.exports.help = {
    name: 'warn'
}

Ответы (2 шт):

Автор решения: wilddip

Измените message.guild.members.get(args[0]) на message.guild.members.resolve(args[0]). Также, рекомендую периодически ознакамливаться с документацией

Полный код:

const Discord = require('discord.js');
const fs = require('fs');
const profile = require('../profile.json');

module.exports.run = async (bot,message,args) => {
    try{
        function send(msg){message.channel.send(msg)}
    if(!message.member.hasPermission('KICK_MEMBERS')) return message.channel.send('У вас нет прав');
    let wUser = message.guild.member(message.mentions.users.first()) || message.guild.members.resolve(args[0]);
    if(!args[0]){return send('Пользователь не указан')};
    if(!wUser){return send('Пользователь не найден')}

    profile[wUser.id].warns++;
    fs.writeFile('./profile.json',JSON.stringify(profile), (err) => {
        if(err){console.log(err)}
    })
    if(profile[wUser.id].warns >=3){
        message.guild.member(wUser).kick('Увы');
    }
    let embed = new Discord.RichEmbed()
    .setDescription('Предупреждение')
    .addField('Администратор', message.author.username)
    .addField('Выдал предупреждение',`${wUser.user.username}`)
    .addField('Кол-во предупреждений',`${profile[wUser.id].warns}/3`)
    message.channel.send(embed);
    }catch(err){
        console.log(`${err.name}\n2.${err.message}\n3.${err.stack}`)
    }
}
module.exports.help = {
    name: 'warn'
}
→ Ссылка
Автор решения: Ahegao

Все участники сервера хранятся в кеше: guild.members.cache.get(). На 5 января 2021 работает!

→ Ссылка