Search code examples
botsmessagediscord.js

How to send this kind of messages?


I want my bot to send messages in such bubbles, but I do not know the code.
ATTACHMENT


Solution

  • Those "bubbles" are embeds, types of messages that can be sent only by bots. To send them, you'll need to use the RichEmbed class: you can create an instance of the class and then edit it with the methods you find in the docs. Here's an example with the image you sent:

    let embed = new Discord.RichEmbed()
      .setColor([66, 134, 244])
      .setTitle("Zhontroly' si zprávy")
      .setDescription(":mailbox_with_mail: | Odeslal jsem ti do zpráv napovedu s příkazy!");
    
    channel.send({embed});
    

    Here's a more in-depth example, from "An Idiot's Guide"

    const embed = new Discord.RichEmbed()
      .setTitle("This is your title, it can hold 256 characters")
      .setAuthor("Author Name", "https://i.imgur.com/lm8s41J.png")
      /*
       * Alternatively, use "#00AE86", [0, 174, 134] or an integer number.
       */
      .setColor(0x00AE86)
      .setDescription("This is the main body of text, it can hold 2048 characters.")
      .setFooter("This is the footer text, it can hold 2048 characters", "http://i.imgur.com/w1vhFSR.png")
      .setImage("http://i.imgur.com/yVpymuV.png")
      .setThumbnail("http://i.imgur.com/p2qNFag.png")
      /*
       * Takes a Date object, defaults to current date.
       */
      .setTimestamp()
      .setURL("https://discord.js.org/#/docs/main/indev/class/RichEmbed")
      .addField("This is a field title, it can hold 256 characters",
        "This is a field value, it can hold 1024 characters.")
      /*
       * Inline fields may not display as inline if the thumbnail and/or image is too big.
       */
      .addField("Inline Field", "They can also be inline.", true)
      /*
       * Blank field, useful to create some space.
       */
      .addBlankField(true)
      .addField("Inline Field 3", "You can have a maximum of 25 fields.", true);
    
      message.channel.send({embed});