【问题标题】:Discord.js TypeError: Cannot read property 'cache' of undefinedDiscord.js TypeError:无法读取未定义的属性“缓存”
【发布时间】:2021-02-27 05:03:02
【问题描述】:

首先对不起我的英语, 我正在开发一个 Discord 机器人,但我遇到了一些问题,每当我在聊天中写任何单词时,我都会看到很多错误。谁能帮我?谢谢你。 这是我的代码;

const Discord = require('discord.js');
const client = new Discord.Client();
var set = require('./settings.json');

client.once('ready', () => {
   console.log('Ready!');
   client.user.setActivity ("Deneme");
});


client.on('message', message => {

const role = client.roles.cache.find(role => role.name === 'Pascal');
const member = message.mentions.members.first();
member.roles.add(role);

if (message.content === 'Hi') {

    message.channel.send('Hi!');
}
});

client.login(set.token);

这就是我在终端上的错误代码;

Visual Studio Code terminal

【问题讨论】:

  • client 没有 roles 属性。您需要找出原因。
  • client改成message就可以了。
  • 我确实像这样编辑过 const role = message.roles.cache.find(role => role.name === 'Pascal');但还是一样
  • 哦,我的错,也加入一个公会。 message.guild.roles.cache.find
  • @WorthyAlpaca 它工作正常,但我像往常一样有新错误member.roles.add(role); ^ TypeError: Cannot read property 'roles' of undefined 我经常将其视为“未定义”。我一般如何解决这个问题。你有资料吗?

标签: javascript visual-studio-code discord.js


【解决方案1】:

别这样

const role = client.roles.cache.find(role => role.name === 'Pascal');

试试这个代码

const role = message.guild.roles.cache.find((role) => role.name === rolename);

关于会员的其他错误,请使用以下代码初始化会员。

const member = msg.mentions.members.first();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-23
    • 2021-04-19
    • 2021-03-15
    • 1970-01-01
    • 2021-05-10
    • 1970-01-01
    • 2023-01-14
    • 2020-07-14
    相关资源
    最近更新 更多