首页 > 解决方案 > 为什么会有一个名为'send' of undefined 的错误?

问题描述

为什么会有一个名为'send' of undefined 的错误?

에라 모르겠다 한글로 써야지。

错误:无法读取未定义 이런 오류가 왜 날까요 的属性“发送”?

我的代码:

const discord = require('discord.js')
const client = new discord.Client()
const { prefix, token } = require("./config.json")
console.log("켜짐")

client.on('ready', () =>{
    client.user.setActivity(",help")
})

client.on('message', (message) =>{



    if(message.author.bot) return;

    if(!message.content.startsWith(prefix)) return

    else if(message.content.startsWith(`${prefix}help`)) {
        const embed = new discord.MessageEmbed()
        .setColor(`#adsjk2`)
        .setDescription("도움말")
    message.channel.send(embed)
    } 
    
})
client.on('guildMemberAdd', (member) => {
    const welcomeChannel = member.guild.channels.cache.find(channel => channel.topic === '#welcome')
    if(!welcomeChannel) return
    
    if(welcomeChannel) {
    welcomeChannel.send(`<@${member.id}>님 환영합니다!`)
    return
    } else {
        return undefined
    }


})
client.on('guildMemberRemove', (member) =>{
    const welcomeChannel = member.guild.channels.cache.find(channel => channel.name === 'welcome')

    welcomeChannel.send(`<@${member.id}>님이 나가셨습니다...`)
    return
})
client.login(token) 

错误:无法读取未定义的属性“发送”

标签: javascriptnode.jsdiscord.js

解决方案


我觉得你这里有问题

const welcomeChannel = member.guild.channels.cache.find(channel => channel.topic === '#welcome')

将其更改为,

const welcomeChannel = member.guild.channels.cache.find(channel => channel.name === 'welcome')

在这我channel.topic改为channel.name

这应该工作

我认为这是您遇到错误的行,因为您没有具体告诉我该行


推荐阅读