“类型错误:无法读取未定义的属性‘缓存’”和其他

时间:2021-07-01 09:41:34

标签: javascript node.js discord discord.js

我正在尝试向特定频道发送消息,但该选项对我不起作用。下面是测试这个最简单的命令:

module.exports.run = async (bot, message, args) => {
    const channel = message.channels.cache.get('458524389936201730');
    channel.send('test');
};

module.exports.help = {
  name: "xxx"
};

我收到了类似的错误或其他类似的错误:

TypeError: Cannot read property 'cache' of undefined

在 const 变量中将“消息”更改为“bot”没有帮助:(

2 个答案:

答案 0 :(得分:0)

PopupWindow 对象没有 Message 属性。相反,您应该使用 channels 对象,它是消息对象的一个​​属性,并且包含一个 channels 属性。

Guild

答案 1 :(得分:0)

这个问题太笼统,如果你不提供更多关于预期结果的细节,我真的无能为力。

我可以看到您可能希望它以两种方式工作:

  1. 如果您想向具有特定 ID 的频道发送消息:
   module.exports.run = async (bot, message, args) => {
        const channel = message.guild?.channels.resolve('458524389936201730');
        channel.send('test').catch();
    };
  1. 如果您想向同一频道发送消息:
    module.exports.run = async (bot, message, args) => {
        message.channel.send('test').catch();
    };