首页 > 解决方案 > “无法读取未定义的属性‘用户’” discord.js 问题

问题描述

目前我的代码有问题,我discord bot正试图让我bot有能力从服务器中踢出用户。

每次我尝试我的代码时,错误都会显示:

无法读取未定义的属性“用户”

这是代码:

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

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

    switch (args[0]) {
        case 'kick':

            const user = msg.mention.user.first();

            if (user) {
                const member = member.guild.member(user);

                if (member){
                    member.kick('You have been kicked from the server').then(() =>{
                        msg.reply(`The user ${user.tag} has been kick from the server`);
                    }).catch(err => {
                        msg.reply(`I was unable to kick this user`);
                        console.log(err);
                    });
                } else {
                    msg.reply(`This user isn\'t in the server`)
                }
            } else {
                msg.reply(`You need to specify a person`)
            }

            break;

    }
})

标签: javascriptdiscorddiscord.js

解决方案


原因是它mentions不支持mention

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

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

switch (args[0]) {
    case 'kick':

        const user = msg.mentions.user.first();

        if (user) {
            const member = member.guild.member(user);

            if (member){
                member.kick('You have been kicked from the server').then(() =>{
                    msg.reply(`The user ${user.tag} has been kick from the server`);
                }).catch(err => {
                    msg.reply(`I was unable to kick this user`);
                    console.log(err);
                });
            } else {
                msg.reply(`This user isn\'t in the server`)
            }
        } else {
            msg.reply(`You need to specify a person`)
        }

        break;

}
})

不和谐文档

另见:Discord 官方文档


推荐阅读