Discord.js TypeError:无法读取未定义的属性“get”

Posted

技术标签:

【中文标题】Discord.js TypeError:无法读取未定义的属性“get”【英文标题】:Discord.js TypeError: Cannot read property 'get' of undefined 【发布时间】:2020-07-14 20:29:03 【问题描述】:

收到一条消息“TypeError: Cannot read property 'get' of undefined”我输入的任何频道 id 都很烦人,这是我的代码(非常简单的 atm)

   bot.on('guildMemberAdd',user => 
        user.guild.channels.get("[existing channel ID]").send("SomeText")
    );

我做错了吗?我尝试使用.find("name","channel_name") 得到了同样的错误,并尝试使用控制台日志作为“缓存”并得到 awnser“未定义”,因为它是我的机器人的一个关键功能,能够在特定频道中发布它很烦人...... ^^' 提前 TY 为您的帮助会继续努力使它工作^... ^^'

【问题讨论】:

【参考方案1】:

你需要使用.cache 来访问公会频道,所以在你的情况下它是user.guild.channels.cache.get("[existing channel ID]").send("SomeText")

【讨论】:

【参考方案2】:

你可以测试一下:

bot.on('guildMemberAdd',user => 
     const channelWelcome = user.guild.channels.cache.get("[channel's ID]"
     channelWelcome.send("Your text")
);

【讨论】:

以上是关于Discord.js TypeError:无法读取未定义的属性“get”的主要内容,如果未能解决你的问题,请参考以下文章

TypeError:无法读取未定义的“获取”函数(discord.js)

Discord.js:TypeError:无法读取未定义的属性“删除”

(Discord.js)TypeError:无法读取未定义的属性“添加”

Discord.js:TypeError:无法读取未定义的属性“get”

discord.js TypeError:无法读取未定义的属性“发送”

node.js/discord.js:TypeError:无法读取 null 的属性“setPresence”