Ragnar Lothbrok
Ragnar Lothbrok

Reputation: 306

Can't send embed message on join

No idea why it won't work, the exact code worked on my old bot. Code:

client.on("guildMemberAdd", member => {
    const Discord = require("discord.js");
    const embed = new Discord.RichEmbed()
      .setTitle("**Please be sure to read our rules carefully thanks**")
      .setAuthor("Welcome to BACKUP")
      .setColor(3447003)
      .setDescription("Please enjoy your stay")
      .setThumbnail(message.author.avatarURL)
      client.channels.get('505107608391254030').send({embed});
  })
}

The thing that confuses me most, is that if I replace that code with this code, it works fine.

client.on('guildMemberAdd', member => {
  member.guild.channels.get('505107608391254030').send("This works, but embed does not, fix it boi, line 102"); 
});

(On the code that did not work, I tried: client.channels.get, member.channels.get, member.guild.channels.get, client.guild.channels.get

Upvotes: 0

Views: 1267

Answers (1)

Tom Martin
Tom Martin

Reputation: 300

The problem is when you are finding the channel, client.channels.get isn't a method. doesn't work in this situation for reasons I'm not aware of

You have to use client.guilds.get(GUILD_ID).channels.get(CHANNEL_ID).send({embed});

Upvotes: 1

Related Questions