How do I fix RichEmbed?

16,457

Solution 1

Discord.js

discord.js have update new Discord.MessageEmbed() from new Discord.RichEmbed()

const embed = new Discord.MessageEmbed()
    .setAuthor(message.author.username)
    .setDescription("Usuario rikolino.")
    .setColor("#3535353")
    .addField("Usuario", '${message.author.username}#${message.author.discriminator}')
    .addField("ID", message.author.id)
    .addField("Creación", message.author.createdAt);

message.channel.send(embed);

Solution 2

It looks like it's been renamed to MessageEmbed in v12.

If you don't want to replace all of your existing code, you can use this workaround:

const { MessageEmbed: RichEmbed } = require("discord.js");

let embed = new RichEmbed().setTitle("Works the same");

Solution 3

Like Edric said, use MessageEmbed instead:

var embed = new Discord.MessageEmbed()
    .setAuthor(message.author.username)
    .setDescription("Usuario rikolino.")
    .setColor("#3535353")
    .addField("Usuario", '${message.author.username}#${message.author.discriminator}')
    .addField("ID", message.author.id)
    .addField("Creación", message.author.createdAt);

message.channel.send(embed);
Share:
16,457

Related videos on Youtube

Szymon Rudnikowski
Author by

Szymon Rudnikowski

Updated on June 04, 2022

Comments

  • Szymon Rudnikowski
    Szymon Rudnikowski about 2 years

    I am trying to print get embed message in discord, but this happens:

    TypeError: Discord.RichEmbed is not a constructor

    Here is my code:

    const Discord = require('discord.js');
    const bot = new Discord.Client();
    const token = 'mytokenhere';
    const prefix = '!';
    
    bot.on('ready', () => {
        console.log('This bot is online!');
    });
    
    bot.on('message', message => {
        let args = message.content.substring(prefix.length).split(" ");
    
        switch(args[0]) {
            case 'pomoc':
                message.channel.send('.')
                break;
            case 'cc':
                if(!args[1]) return message.reply('Podaj 2 argument! (liczbe wiadomosci do skasowania)')
                message.channel.bulkDelete(args[1]); 
                break;
            case 'embed':
                var embed = new Discord.RichEmbed()
                    .setAuthor(message.author.username)
                    .setDescription("Usuario rikolino.")
                    .setColor("#3535353")
                    .addField("Usuario", '${message.author.username}#${message.author.discriminator}')
                    .addField("ID", message.author.id)
                    .addField("Creación", message.author.createdAt);
    
                message.channel.send({embed});
                break;
        }
    });
    
    bot.login(token);
    

    I tried many other solutions, but the result is always the same, I really don't know where the problem is.