Discord.js 连接读取和#x27;发送';未定义的

Discord.js 连接读取和#x27;发送';未定义的,discord.js,message,Discord.js,Message,我使用不和谐。js@12.2.0 代码: 让reviewChannel=client.channels.cache.get(reviewChannel ID) reviewChannel.send(嵌入) 错误: A:\GhostBot\src\cmds\utility\review.js:62 reviewChannel.send(嵌入) ^ TypeError:无法读取未定义的属性“send” 在声明中。(A:\GhostBot\src\cmds\utility\review.js:62

我使用不和谐。js@12.2.0


代码: 让reviewChannel=client.channels.cache.get(reviewChannel ID)

reviewChannel.send(嵌入)


错误: A:\GhostBot\src\cmds\utility\review.js:62 reviewChannel.send(嵌入) ^

TypeError:无法读取未定义的属性“send” 在声明中。(A:\GhostBot\src\cmds\utility\review.js:62:27) at Statement.replacement(A:\GhostBot\node\u modules\sqlite3\lib\trace.js:25:27)



假设
client
是一个对象,
client.channels.cache
返回一组通道,其键在其中。如果使用无效键调用
集合
,则它将按照文档返回
未定义
。在您的情况下,您的
reviewChannel
变量实际上是
未定义的
而不是a,因为您的错误表明它不能
.send()
关闭
未定义的

因此,即使没有包含定义
reviewChannel ID
的代码部分,该变量也可能有问题。
Snowflake
文档中列出的类型为。有可能你写了这样的东西:

let reviewChannelID = 123456789012345678; //number type
而不是:

let reviewChannelID = "123456789012345678"; //string type

因此,如果我没有错的话,添加一些引号将
reviewChannel ID
定义为字符串应该是一个简单的修复方法。

这个错误意味着它找不到频道。可能您使用的ID不正确,或者bot不在正确的服务器中。您的代码是什么?