Javascript &引用;无法读取属性';角色';“未定义”的定义;当没有提供参数时
我有此代码,可以在用户键入Javascript &引用;无法读取属性';角色';“未定义”的定义;当没有提供参数时,javascript,node.js,discord,discord.js,Javascript,Node.js,Discord,Discord.js,我有此代码,可以在用户键入?stream 在输入整个命令时,它工作正常,但仅当?stream if (!member.roles.cache.some(role => role.name === 'streaming')) { ^ TypeError: Cannot read property 'roles' of undefined 我不知道为什么 代码如下: client.on('message', message => {
?stream
在输入整个命令时,它工作正常,但仅当?stream
if (!member.roles.cache.some(role => role.name === 'streaming')) {
^
TypeError: Cannot read property 'roles' of undefined
我不知道为什么
代码如下:
client.on('message', message => {
if (!message.content.startsWith(prefix) || message.author.bot) return;
const args = message.content.slice(prefix.length).trim().split(' ');
const command = args.shift().toLowerCase();
const member = message.mentions.members.first();
if (command === 'stream') {
if(message.member.permissions.has("MANAGE_ROLES")){
if (!member.roles.cache.some(role => role.name === 'streaming')) {
member.roles.add('744292301874135122')
message.channel.send('`Added streaming role.`')
} else
member.roles.remove('744292301874135122') && message.channel.send('`Removed streaming role.`')
} else message.channel.send('`You dont have permission.`')
}
});
Discord.js无法获取您在此方法中定义的成员:
const member = message.mentions.members.first();
因为当您只键入
?stream
时,没有提及。因此,discord.js无法获取成员的角色,因为该成员未定义。什么是member.roles.cache
?在member.roles.cache.some
中,您的成员未定义。调试此行const命令=args.shift().toLowerCase()代码>错误告诉您成员未定义,因此message.indications.members.first()代码>返回未定义的。