【发布时间】:2020-08-23 18:56:08
【问题描述】:
最近我在 Discord.js 中遇到了一些问题。我不是专家,如果我问一些愚蠢的问题,请原谅我。这是代码:
let rUser = message.guild.member(message.mentions.users.first() || message.guild.members.cache.get(args[0]));
if(!rUser) return message.channel.send('Couldn\'t find this user!');
let rReason = args.join(' ').slice(22);
if(!rReason) return message.channel.send('Insert a reason');
let reportEmbed = new Discord.MessageEmbed()
.setDescription('**User report**')
.addField('Reported user:', `${rUser.displayName} <${rUser.id}>`)
.addField(`Reason:`, `${rReason}`)
.addField('Reported by:', message.author.username)
.setColor(0xf52c2c);
let rChannel = client.channels.cache.get(707956253040574525)
if(!rChannel) return message.channel.send('Not valid report channel');
rChannel.send(reportEmbed)
它给了我这个错误:TypeError: Cannot read property 'send' of undefined
我正在使用:node.js (6.14.4)、discord.js (12.2.0)、ms (2.1.2)
编辑
解决更新 node.js 和更改
let rChannel = message.guild.channels.cache.find(`name`, 'reports')
与
let rChannel = message.guild.channels.cache.find(channel => channel.name === 'reports')
“reports”只是机器人发送消息的频道名称
【问题讨论】:
-
请告诉我错误在哪一行,因为你有更多的 send() 函数。
-
同上。错误消息非常简单,您要在错误消息中指定的行上检查调用 send 的对象
-
是的,抱歉,问题出在最后一个字符串 rChannel.send(reportEmbed)
-
@MattTheDragon,你试过 console.log(rChannel) 吗?
-
@szeb 错误信息说 rChannel 没有定义,但是我在字符串
let rChannel = client.channels.cache.get(707956253040574525)中定义了它 我看了一些视频,也看了一些论坛或网站,每个人都使用这个代码,但和我一起它不工作
标签: javascript discord.js