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

Posted

技术标签:

【中文标题】TypeError:无法读取未定义 discord.js v12 的属性“发送”【英文标题】:TypeError: Cannot read property 'send' of undefined discord.js v12 【发布时间】:2021-06-27 19:34:16 【问题描述】:

我有这个反应角色系统,一切正常,直到颜色选择发生的最后一部分

      async run(message, client, con) 
    await message.channel.send("Give the color for the embed.")
        answer = await message.channel.awaitMessages(answer => answer.author.id === message.author.id,max: 1);
        var color = (answer.map(answers => answers.content).join()).toUpperCase()
        if(color.toUpperCase()==='CANCEL') return (message.channel.send("The Process Has Been Cancelled!"))
    function embstr()
        var finalString = '';
        for(var i =0;i<n;i++)
            
            finalString += b[i]+ ' - '+a[i] +'\n';
        
        return finalString;
    
    const botmsg = message.client.channels.cache.get(channel => channel.id === reactChannel)
    
    const embed = new MessageEmbed()
        .setTitle(embtitle)
        .setColor(color)
        .setDescription(embstr());
        
        botmsg.send(embed);
        message.channel.send("Reaction Role has been created successfully")
    

   

这是错误信息


  "stack": "TypeError: Cannot read property 'send' of undefined
    at SlowmodeCommand.run (B:\\stuff\\Downloads\\Admeeeeeen bot\\src\\commands\\reactionroles\\createreactionrole.js:100:22)
    at processTicksAndRejections (node:internal/process/task_queues:93:5)"

【问题讨论】:

【参考方案1】:

.get() 方法接受雪花作为其参数。 AKA 某个对象的 ID。它不是一个迭代器,这意味着您当前尝试做的不是正确的 javascript

我们只需要传入我们想要获取的频道的 ID,而不是传入一个参数来表示频道对象。或者,您可以将 .get() 替换为 .find() 那里,这实际上是一个使用这种形式的回调的迭代器,尽管考虑到我们可以只使用 .get() ,这在我们的例子中是不够的ID。

    /**
    * Insufficient code:
    * const botmsg = message.client.channels.cache.find(channel => channel.id === reactChannel)
    */
    const botmsg = message.client.channels.cache.get(reactChannel /* assuming that reactChannel represents a channel ID */)


【讨论】:

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

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

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

discord.js UnhandledPromiseRejectionWarning:TypeError:无法读取未定义的属性“可踢”

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

Discord.JS UnhandledPromiseRejectionWarning:TypeError:无法读取未定义的属性“startsWith”

“TypeError:无法读取未定义的属性‘split’” discord.js v12