TypeError:无法读取未定义的 guild.roles 的属性“获取”
Posted
技术标签:
【中文标题】TypeError:无法读取未定义的 guild.roles 的属性“获取”【英文标题】:TypeError: Cannot read property 'get' of undefined guild.roles 【发布时间】:2021-01-05 15:18:13 【问题描述】:我想制作一个非常简单的机器人,如果成员发送 'ping' ,那么机器人将发送具有该角色的人数。但是,它给了我那里的错误。
TypeError: 无法读取未定义的属性“get”
client.on('message', async(msg) =>
if (msg.content === 'ping')
let guild = await msg.guild.members.fetch();
let roleID = '755766619229388800';
let memberCount = guild.roles.get(roleID).members.size;
msg.channel.send(memberCount + " members have this role!");
console.log(memberCount)
msg.reply('Pong!');
);
请告诉我要更改什么并向我解释为什么要进行更改。
【问题讨论】:
这能回答你的问题吗? How can I migrate my code to Discord.js v12 from v11? 【参考方案1】:在最新版本的 Discord.js 中,您不能再直接在角色之外使用 get()
。另外,我不明白您为什么要获取成员并将其分配为公会?您可以通过msg.guild
访问公会。考虑到这一点,您需要改用msg.guild.roles.cache.get(roleId).members.size
查看Updating from v11 to v12页面查看版本之间的差异
【讨论】:
以上是关于TypeError:无法读取未定义的 guild.roles 的属性“获取”的主要内容,如果未能解决你的问题,请参考以下文章
(Discord.js)TypeError:无法读取未定义的属性“添加”
类型错误:无法读取未定义的属性“获取”。 (制作音乐机器人)