簡體   English   中英

TypeError:無法讀取 Discord.js 中未定義的屬性“緩存”

[英]TypeError: Cannot read property 'cache' of undefined in Discord.js

所以,我正在使用 Discord.js 編寫 Discord 機器人。 我做的其中一件事是用戶信息命令。 我希望它顯示成員的角色和他們正在玩的游戲(如果他們在一個游戲中)。 對於角色,我收到TypeError: Cannot read property 'roles' of undefined 請幫忙。 您可以使用以下代碼作為參考。

case 'whois':
            const embed = new Discord.MessageEmbed()
             var user = message.mentions.users.first()            
            if(!args[1]) return message.reply('Apologies! Please specify a particular member!');
                embed.setTitle('User Information')
                embed.addField('Username', user.username)
                embed.addField('User ID', user.id)
                embed.addField('User Tag', user.tag)
                embed.addField('Roles:', member.roles.cache.map(r => `${r}`).join(' | '))
                embed.addField('Created at:', user.createdAt)             
                embed.setColor(0x00FF93)
                embed.setThumbnail(user.avatarURL())
                embed.setFooter('Generated by Salty!')
            message.channel.send(embed);
            break;

首先,當您使用case "whois"打開一個案例時,您不需要冒號 (:)。 其次,這是因為您將成員命名為user而不是成員,反之亦然。 由於之前的member ,它無法讀取角色的屬性,它是未定義的。 如果您將 Roles 部分更改為embed.addField('Roles:', user.roles.cache.map(r => ${r} ).join(' | '))那么它可能會起作用,這都是關於常量命名問題。 我希望它有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM