【问题标题】:Getting error "TypeError: Cannot read property 'channel' of undefined"收到错误“TypeError:无法读取未定义的属性‘通道’”
【发布时间】:2021-07-06 17:21:02
【问题描述】:

我遇到了这个错误

TypeError: 无法读取未定义的属性“通道”

let channel = message.guild.channel.cache.find('830754717108797450')

这是我的代码:

const MinecraftCommand = require('../../contracts/MinecraftCommand')
const Discord = require('discord.js-light');
const { Message } = require('discord.js-light');
const ms = require('pretty-ms');
const client = require ('discord.js-light')

class GuildMemberReportCommand extends MinecraftCommand {
  onCommand(username, message) {
    
let args = this.getArgs(message)
let reason = args[1];

let guild = message.guild.cache.get('')
    
let channel = message.guild.channel.cache.find('830754717108797450')

let reporteduser = args[0];

let embed = new Discord.MessageEmbed()
.setTitle("Guild Member Report!")
.addField("Reason", reason)
.addField("Reported By", username)
.addField("Reported User", reporteduser)
.setColor("#f49542")
            if (!reason) return this.send('Report reason needs to be specified!', username);
            if (!username) return this.send ('Reported member was not speified!', username);
    this.send(`${username}, $args[0] has been reported!, Please be patient when staff checks your report!`)
channel.send(embed).then(i => i.react("⏳"))
  }
}

module.exports = GuildMemberReportCommand```

【问题讨论】:

  • 你真的只是在你的问题中添加随机垃圾来填充最小长度吗?请不要在标题中使用“尽快需要帮助”之类的字眼

标签: javascript discord.js


【解决方案1】:

你必须检查这个变量:

let guild = message.guild.cache.get('')

在此声明后只需提供console.log('guild', guild)。可能您可能必须捕获正确的字段才能在公会中获取通道对象。

【讨论】:

  • 它现在没有给我这个错误let guild = message.guild.cache.get('649307150207942687') ^ TypeError: Cannot read property 'cache' of undefined
【解决方案2】:

.find() 方法接受一个函数。对于您的情况,您可以使用箭头功能。例如:..cache.find(ch=>ch.id==='yourid') 其中ch 在您的情况下是一个通道对象。

【讨论】:

    猜你喜欢
    • 2021-10-01
    • 1970-01-01
    • 2021-11-17
    • 2021-04-26
    • 2021-01-01
    • 2021-10-20
    • 2022-12-24
    • 1970-01-01
    相关资源
    最近更新 更多