Discord Bot - Настройка встраиваемой таблицы / списка с содержимым, разбитым на разделы - PullRequest
0 голосов
/ 08 января 2020

Я все еще учусь Javascript и тому подобное, попадаю в раздор. js, поэтому я почти уверен, что введенный код абсолютно неверен и определенно нуждается в работе.

По существу то, что я хочу сделать, это разделить аргументы команды и разделить их на новые строки встраивания.

Например, если бы я должен был сделать: !results "Result 1" "Result 2" "Result 3" он бы вывел в таблицу, подобную встраиванию:

RESULTS:
Result 1
Result 2
Result 3

Вместо этого мой вывод продолжает звучать как:

Изображение того, что происходит в раздоре

Я пробовал разные вещи из поиска в Google, но я не могу найти то, что мне нужно.

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);
    }
}

РЕДАКТИРОВАТЬ: я добился определенного прогресса, это самый последний код и это вывод:

ИЗОБРАЖЕНИЕ

1 Ответ

0 голосов
/ 09 января 2020

Вы добавляете поле, которое требует как заголовок, так и значение. Но вы только цените это. Я бы порекомендовал просто использовать поле описания и разделять ваши вещи новыми строками. Часто это будет выглядеть лучше. Не забывайте, что поле описания может содержать до 2048 символов .

Вот руководство, на которое вы можете взглянуть: https://discordjs.guide/popular-topics/embeds.html#embed -preview

...