So I am updating my bot to discord.js v12. But I am getting an error like TypeError: Cannot read property ‘cache’ of undefined.
The code is below
const { MessageEmbed } = require("discord.js");
const { stripIndents } = require("common-tags");
const { getMember, formatDate } = require("../../functions.js");
module.exports = {
config:{
name: "whois",
aliases: ["who", "user", "info"],
category: "info",
description: "Returns user information",
usage: "[username | id | mention]"
},
run: (client, message, args) => {
const member = getMember(message, args.join(" "));
// Member variables
const joined = formatDate(member.joinedAt);
const roles = member.roles.cache.filter(r => r.id !== message.guild.id).map(r => r).join(", ") || 'none';
// User variables
const created = formatDate(member.user.createdAt);
const embed = new MessageEmbed()
.setFooter(member.displayName, member.user.displayAvatarURL({ dynamic:true }))
.setThumbnail(member.user.displayAvatarURL({ dynamic:true }))
.setColor(member.displayHexColor === '#000000' ? '#ffffff' : member.displayHexColor)
.setAuthor(`${member.displayName} | WHOIS`, member.user.displayAvatarURL())
.addField('Member information:', stripIndents`** Display name:** ${member.displayName}
** Joined at:** ${joined}
** Roles:** user.`, true)
.addField('User information:', stripIndents`** ID:** ${member.user.id}
** Username**: ${member.user.username}
** Tag**: ${member.user.tag}
** Created at**: ${created}`, true)
.setTimestamp()
if (member.user.presence.game)
embed.addField('Currently playing', stripIndents`** Name:** ${member.user.presence.activity.name}`);
message.channel.send(embed);
}
}
I don’t know what I need to do but this is all I have.