为了账号安全,请及时绑定邮箱和手机立即绑定

欢迎消息问题 | Discord.js

欢迎消息问题 | Discord.js

FFIVE 2023-05-11 15:58:08
我有一个欢迎消息机器人,它会在每次有人加入时发送欢迎消息,但有时,它会在控制台中抛出一条错误消息:    member.guild.channels.cache.find(ch => ch.name === "・𝘪𝘮𝘴𝘨").send(exampleEmbed).catch(e => co    nsole.error(`Welcome Error in ${message.guild.name}`) | message.channel.send("__**ERROR:**__ ** Someone joined the server but I was le to catch it.**"));                                                                   ^TypeError: Cannot read property 'send' of undefined代码:client.on('guildMemberAdd', member => {    const exampleEmbed = new Discord.MessageEmbed()        .setColor('RANDOM')        .setTitle(`Welcome to lovell <$, **${member.user.username}**`)        .setImage('https://images-ext-1.discordapp.net/external/Gy-micqoX7qrlivnytbmFgfTbxPx_CSvgChFLE3qC7g/https/media.discordapp.net/attachments/755425128635957348/758525058934767617/HaxzUWa46sK5CXKzIR.gif')        .setFooter('Boost Us');    member.guild.channels.cache.find(ch => ch.name === "・𝘪𝘮𝘴𝘨").send(exampleEmbed).catch(e => console.error(`Welcome Error in ${message.guild.name}`) | message.channel.send("__**ERROR:**__ ** Someone joined the server but I was unable to catch it.**"));})我将如何解决这个问题?
查看完整描述

3 回答

?
隔江千里

TA贡献1906条经验 获得超10个赞

有一种更简单的方法来做你想做的事情。复制该频道的 ID,然后像这样在您的代码中获取该频道:

bot.on('guildMemberAdd', (member) => {
    const channel = member.guild.channels.cache.get('channel-id');
    channel.send('Welcome');
});


查看完整回答
反对 回复 2023-05-11
?
一只萌萌小番薯

TA贡献1795条经验 获得超7个赞

我的猜测是,如果找不到该频道,则会发生该错误。未找到的频道将返回未定义。检查频道是否存在,如果不存在,它将不会运行其余的功能。



查看完整回答
反对 回复 2023-05-11
?
慕码人2483693

TA贡献1860条经验 获得超9个赞

也许试试这个?:


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

    

    let welChannel = member.guild.channels.cache.find(ch => ch.name === "・𝘪𝘮𝘴𝘨")


    const exampleEmbed = new Discord.MessageEmbed()

        .setColor('RANDOM')

        .setTitle(`Welcome to lovell <$, **${member.user.username}**`)

        .setImage('https://images-ext-1.discordapp.net/external/Gy-micqoX7qrlivnytbmFgfTbxPx_CSvgChFLE3qC7g/https/media.discordapp.net/attachments/755425128635957348/758525058934767617/HaxzUWa46sK5CXKzIR.gif')

        .setFooter('Boost Us');


    welChannel.send(exampleEmbed).catch(e => console.error(`Welcome Error in ${message.guild.name}`) | message.channel.send("__**ERROR:**__ ** Someone joined the server but I was unable to catch it.**"));

})

如果这不起作用,则可能是机器人找不到频道・𝘪𝘮𝘴𝘨。


查看完整回答
反对 回复 2023-05-11
  • 3 回答
  • 0 关注
  • 128 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信