Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Discord.js:member.guild.channels.find不是一个函数_Javascript_Node.js_Bots_Discord - Fatal编程技术网

Javascript Discord.js:member.guild.channels.find不是一个函数

Javascript Discord.js:member.guild.channels.find不是一个函数,javascript,node.js,bots,discord,Javascript,Node.js,Bots,Discord,因此,我现在正试图为我的discord机器人发送一条欢迎消息,但不知何故,我遇到了一个非常奇怪的问题,显然members.guild.channels.find()不是一个函数 client.on('guildMemberAdd', member =>{ const channel = member.guild.channels.find(channel => channel.name === "welcome"); if(!channel) return;

因此,我现在正试图为我的discord机器人发送一条欢迎消息,但不知何故,我遇到了一个非常奇怪的问题,显然members.guild.channels.find()不是一个函数

client.on('guildMemberAdd', member =>{

    const channel = member.guild.channels.find(channel => channel.name === "welcome");

    if(!channel) return;

    const welcomeEmbed = new Discord.MessageEmbed()
        .setColor(pink)
        .setAuthor('IdealBot', 'https://hypixel.net/attachments/ideal-png.1417277/', 'https://hypixel.net/threads/ideal-ideal-%E2%9D%96-level-52-%E2%9D%96-sweaty-skyblock-guild-%E2%9D%96-top-10-sb-guild-%E2%9D%96-splashes-%E2%9D%96-events-%E2%9D%96-recruiting.2500755/')
        .setTitle('Welcome!')
        .setDescription(`${member} just joined the discord! Make sure to read #rules!`)
        .setThumbnail(message.user.avatarURL)
        .setFooter('Note: The maximum amount of answers is 9.')
        .setTimestamp();

    channel.send(welcomeEmbed);
});
然而,当我试图运行它时,我得到了一个错误:TypeError:cannotread属性'find'的undefined


我很确定我以前用过这个,有人知道这个错误是从哪里来的吗?

您键入了
member.guild.channel.find
。将其更改为
member.guild.channels.cache.find
,因为它不久前已更改。有关更多信息,请参阅。

Hm,我猜您尝试访问的属性不存在。看起来必须使用
频道
而不是
频道
,请参见以下内容:

const channel=member.guild.channels.find(channel=>channel.name==“欢迎”);


另请参见示例,该属性也可以通过
.channels

访问。我也遇到了这个问题,要解决这个问题,请尝试member.guild.channels.find()

此外,message.user.avatarURL将不起作用,除非您有括号- i、 e message.user.avatarURL()作为函数

client.on('guildMemberAdd', member =>{

    const channel = member.guild.channels.find(channel => channel.name === "welcome");

    if(!channel) return;

    const welcomeEmbed = new Discord.MessageEmbed()
        .setColor(pink)
        .setAuthor('IdealBot', 'https://hypixel.net/attachments/ideal-png.1417277/', 'https://hypixel.net/threads/ideal-ideal-%E2%9D%96-level-52-%E2%9D%96-sweaty-skyblock-guild-%E2%9D%96-top-10-sb-guild-%E2%9D%96-splashes-%E2%9D%96-events-%E2%9D%96-recruiting.2500755/')
        .setTitle('Welcome!')
        .setDescription(`${member} just joined the discord! Make sure to read #rules!`)
        .setThumbnail(message.user.avatarURL)
        .setFooter('Note: The maximum amount of answers is 9.')
        .setTimestamp();

    channel.send(welcomeEmbed);
});

让我知道这是否有效

我正在使用频道,只是postNo问题上的一个输入错误-也许可以尝试通过帮会id查找频道?@Ramiz Wachtler已经通过添加member.guild.channels.cache..find()解决了这一问题
const channel = member.guild.channels.cache.find(channel => channel.name === 'welcome');