编辑:已修复。谢谢大家
由于要添加保存在数组中的值,因此我尝试将字段从for创建后添加到嵌入中。
我尝试了下一个代码,没有人起作用
for(let i = 0; i < nombres.length; i++){
embed.addField(nombres[i], descripciones[i], true)
}
for(let i = 0; i < nombres.length; i++){
embed = {
fields: {
name: nombres[i],
value: descripciones[i],
inline: true,
},
};
}
for(let i = 0; i < nombres.length; i++){
embed.fields(nombres[i], descripciones[i], true)
}
for(let i = 0; i < nombres.length; i++){
embed.addFields({name: nombres[i], value: descripciones[i], inline: true});
}
问题是,我想做这样的事情,但是行得通
let nombres = [];
let descripciones = [];
const embed = new Discord.MessageEmbed()
.setDescription('All commands available.')
for(let i = 0; i < nombres.length; i++){
embed.addField(nombres[i], descripciones[i], true)
}
答案 0 :(得分:0)
尝试此代码,它应该可以工作
const { MessageEmbed } = require("discord.js")
let array1 = ["1", "2", "3", "4"]
let array2 = ["one", "two", "three", "four"]
var embed = new MessageEmbed();
embed.setDescription('test')
for (let i = 0; i < array1.length; i++)
{
embed.addField(array1[i], array2[i], false)
}
message.channel.send(embed)
// imports
const Discord = require("discord.js");
const fs = require("fs").promises;
const fss = require("fs");
const path = require("path");
// exports
module.exports = {
name: "commands",
alias: ["commands"],
description: "",
run: (client, message, args) => {
let nombres = [],
descripciones = [];
fs.readdir(path.join(__dirname))
.then(filess => {
x = 0;
filess.forEach(fil => {
if (!fil.endsWith('.js')) return;
let commandName = fil.substring(0, fil.indexOf('.js'));
let commandModule = require(path.join(__dirname, commandName));
nombres[x] = commandName;
descripciones[x] = commandModule.description;
x++
console.log(x, nombres[x], descripciones[x])
})
})
var embed = new Discord.MessageEmbed();
embed.setDescription('All commands available.')
for (let i = 0; i < nombres.length; i++) {
embed.addField(nombres[i], descripciones[i], false)
}
console.log({ embed })
message.channel.send(embed)
}
}