欢迎信息的问题 |不和谐.js

Posted

技术标签:

【中文标题】欢迎信息的问题 |不和谐.js【英文标题】:Issues With Welcome Message | Discord.js 【发布时间】:2021-01-29 13:12:13 【问题描述】:

我有一个欢迎消息机器人,每次有人加入时都会发送一条欢迎消息,但有时,它会在控制台中抛出一个错误:

    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.**"));
)

我该如何解决这个问题?

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

【参考方案2】:

我的猜测是,如果找不到该频道,则会发生该错误。未找到的频道将返回未定义。 DiscordJS website 中的这段代码将检查通道是否存在,如果不存在,它将不会运行其余的函数。

【讨论】:

我可以只输入频道ID吗?【参考方案3】:

也许试试这个?:

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.**"));
)

如果这不起作用,可能是机器人找不到・???? 频道。

【讨论】:

以上是关于欢迎信息的问题 |不和谐.js的主要内容,如果未能解决你的问题,请参考以下文章

欢迎/再见脚本不和谐 js bot 错误

不和谐用户加入时不显示欢迎消息

我的机器人加入并离开不和谐机器人 heroku

不和谐.JS |如何使用 **channel.client** 功能而不显示机器人客户端信息?

我将如何“刷新”嵌入 discord.js 的不和谐?更多信息下来 vv

Discord bot,嵌入欢迎消息不起作用