我最近更新到discord.js v12的版本,此后我对该命令有问题。 该错误可能从何而来? 我想我根据新版本更新了
Cannot read property 'cache' of undefined
let guild = await message.guild.members.fetch();
let trstRole = '-';
let memberCountTrst = guild.roles.cache.get(trstRole).members.size;
let onlineMembersCount = guild.members.cache.filter(member => member.presence.status !== "offline").size;
let offlineMembersCount = guild.members.cache.filter(member => member.presence.status == "offline").size;
const embed = new Discord.MessageEmbed()
.setColor(colours.red_light)
.setTitle("Stats")
.addField("Trst role members: ", memberCountTrst)
.addField("Online Members: ", onlineMembersCount)
.addField("Offline Members: ", offlineMembersCount)
答案 0 :(得分:0)
Guild
对象的错误表示是这里发生的问题。
在第一行中,将其定义为行会(await message.guild.members.fetch()
)的成员集合。
由于它不是实际的行会结构,因此没有GuildMemberManager
或RoleManager
。
我认为你的意思是
await guild.members.fetch()
//caches all members
const guild = message.guild //pretty redundant but... you do you
const memberCountTrst = guild.roles.cache.get(trstRole).members.size
// and further code here