试图在 discord.js 嵌入机器人的列中显示玩家名称

Posted

技术标签:

【中文标题】试图在 discord.js 嵌入机器人的列中显示玩家名称【英文标题】:Trying to show player names in a column in discord.js embed bot 【发布时间】:2020-10-22 10:05:16 【问题描述】:

大家好,我想弄清楚如何在机器人中嵌入一个基本上显示团队名单的机器人,但我不知道如何在列中制作团队球员的名字。我尝试将它放在 .addfield 中,但没有奏效。这是我正在尝试做的一个例子1

    case 'roster':
        const roster = new Discord.MessageEmbed()
        .setTitle('FinalSpark')
        .setDescription('Rank: 3 | Region: EU | League: CCL')
        .setURL('https://club.mpcleague.com')
        .setFooter('bot made by alex :D')
        .addField('Roster')
        message.channel.send(roster);
        break;

【问题讨论】:

【参考方案1】:

看起来嵌入使用了两个字段,第二个字段的标题为空白

您应该采取的方法是首先将您的花名册列表放入一个数组中,然后将该数组分成两半:

//your roster array
const roster = [];
//round up so the first row always either has equal or more items
//use Math.floor() if you want the opposite
const midIndex = Math.ceil(roster.length / 2);

const firstRow = roster.slice(0, midIndex);
const secondRow = roster.slice(midIndex);

const embed = new Discord.MessageEmbed()
    .setTitle('FinalSpark')
    .setDescription('Rank: 3 | Region: EU | League: CCL')
    .setURL('https://club.mpcleague.com')
    .addField("Roster", firstRow.join("\n"), true);

if (secondRow.length)  
    // \u200b is what makes the invisble effect, you can have \u200b
    // for both the key and value which would essentially make a blank line
    embed.addField("\u200b", secondRow.join("\n"), true);


message.channel.send(embed);

当然是在case语句里面。

【讨论】:

以上是关于试图在 discord.js 嵌入机器人的列中显示玩家名称的主要内容,如果未能解决你的问题,请参考以下文章

MySQL 数据库 discord.js

Discord.js 在嵌入链接中将 api 连接到不和谐机器人

Discord.js 男高音 gif 丰富的嵌入

Discord.js - 如何复制其他机器人嵌入的一部分

在 Discord.js 上进行另一个嵌入后的反应时遇到问题

Discord.JS 嵌入问题