Monday, May 20, 2024
 Popular · Latest · Hot · Upcoming
124
rated 0 times [  128] [ 4]  / answers: 1 / hits: 15785  / 4 Years ago, wed, january 8, 2020, 12:00:00

I'm still learning Javascript and such, getting into discord.js so I'm pretty sure the code I'm inputting is absolutely wrong and definitely in need of work.



Essentially what I'm looking to do is split up a command's arguments and separate them into new lines of an embed.



For example, if I was to do: !results Result 1 Result 2 Result 3 it would output into an embed like table:



RESULTS:


Result 1


Result 2


Result 3


Instead, my output keeps coming out as:



Image of what happens in discord



I have tried various different things from searching on google, but I can't seem to find the thing that I need.



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

module.exports = {
name: results,
category: info,
description: posts results in embed,
usage: <mention, id>,
run: async (client, message, args) => {
if (message.deletable) message.delete();

let [result1, result2, result3, result4, result5, result6, result7] = args;

if (!args[0])
return message.channel.send(Please provide Result 1.).then(m => m.delete(5000));
if (!args[1])
return message.channel.send(Please provide Result 2.).then(m => m.delete(5000));
if (!args[2])
return message.channel.send(Please provide Result 3.).then(m => m.delete(5000));
if (!args[3])
return message.channel.send(Please provide Result 4.).then(m => m.delete(5000));
if (!args[4])
return message.channel.send(Please provide Result 5.).then(m => m.delete(5000));
if (!args[5])
return message.channel.send(Please provide Result 6.).then(m => m.delete(5000));
if (!args[6])
return message.channel.send(Please provide Result 7.).then(m => m.delete(5000));

const channel = message.guild.channels.find(c => c.name === cards)

if (!channel)
return message.channel.send(Couldn't find a `#cards` channel).then(m => m.delete(5000));

const embed = new RichEmbed()
.setColor(RANDOM)
.setTimestamp()
.setAuthor(Posted by GM:, (message.author.username, message.author.displayAvatarURL))
.setTitle(**TestTitle**)
.setFooter(message.guild.name, message.guild.iconURL)
.setDescription(`**__Results!__**`)
.addField(`**> Result 1:** ${result1}`)
.addField(`**> Result 2:** ${result2}`)
.addField(`**> Result 3:** ${result3}`)
.addField(`**> Result 4:** ${result4}`)
.addField(`**> Result 5:** ${result5}`)
.addField(`**> Result 6:** ${result6}`)
.addField(`**> Result 7:** ${result7}`);


return channel.send(embed);
}
}


EDIT: I have made some progress, this is the most recent code and this is the output:



IMAGE


More From » bots

 Answers
14

You are adding a field, which requires both a title and value. But you are only giving it a value.
I'd recommend just using the description field and separating your stuff by new lines. It will often times look better. Be sure to keep in mind that the description field is only up to 2048 characters though.



Here's a guide you can take a look at:
https://discordjs.guide/popular-topics/embeds.html#embed-preview


[#51324] Tuesday, December 31, 2019, 4 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
averyc

Total Points: 102
Total Questions: 113
Total Answers: 89

Location: Taiwan
Member since Mon, Sep 6, 2021
3 Years ago
;