Bot 在加入服务器时发送嵌入

Bot sends a embed when joins a server

我试图让我的机器人在它加入的服务器中发送嵌入(例如,感谢您的邀请以及机器人可以做什么)。这是我遇到的错误。


const channel = message.guild.channels.cache.find(channel => channel.type === 'text' &&  client.user.me.permissions.has("send_messages"))
                                  ^

TypeError: Cannot read properties of undefined (reading 'channels')

这是我在 index.js 文件中使用的代码

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

    const channel = message.guild.channels.cache.find(channel => channel.type === 'text' &&  client.user.me.permissions.has("send_messages"))

    const embed = new MessageEmbed()
    .setColor('GREEN')
    .setTitle('Thank You')
    .setDescription("Thank you for inviting Rynwin to your server. To get the command list please do /help.\n \n The default Bot prefix is ```<```")        
    .addFields([
        {
            name: "Our Support Server",
            value: "If you require assistance or would like to get daily bot updates please join our support discord [here] ()"
        },
        
        {
        name: "Commands",
        value: "Try some of these commands; \n\n**/prefix <prefix>** - Sets the server prefix\n\n**/help** -  Get the command list or information on a command \n\n**/botinfo** - Shows info on the bot"
        },



    channel.send({ embeds: [embed] })

    ])

前两行有几处错误。首先,guildCreate 给出了一个 Guild 实例,而不是消息。其次,您没有检查正确的频道类型或权限。这是固定代码:

client.on('guildCreate', guild => {

    const channel = guild.channels.cache.find(channel => channel.type === 'GUILD_TEXT' &&  guild.me.permissions.has("SEND_MESSAGES"))
// GUILD_TEXT channel type, guild.me for client guild member, and uppercase permission
// rest of code...
}