如何在我的 discord 机器人上创建可选字段嵌入字段?
How can i createoptional fields embed field on my discord bot?
这是我的简单代码。我的 slesh 命令嵌入生成器需要可选字段(fd、fdd)。我该怎么办?empty fields no delete
so.if 我的字段值为空,则不显示,如果该字段有值则添加嵌入。可选值。
const desc = options.getString("leírás");
const fd1 = options.getString("field1");
const fd2 = options.getString("field2");
const fd3 = options.getString("field3");
const fdd1 = options.getString("fielddesc1");
const fdd2 = options.getString("fielddesc2");
const fdd3 = options.getString("fielddesc3");
//cache.find(role => role.id === "967822275355246732");A
const Response = new MessageEmbed()
.setColor("RANDOM")
.setDescription(`${interaction.member} létrehozott egy <@&963762743150796810>-t, **${type}** kategóriával.`)
.setThumbnail('https://media.discordapp.net/attachments/967828295121006592/969690574674354337/958794200999145513.png')
.addField("⟬Cím⟭", `${title}`)
.addField("⟬Leírás⟭", `${desc}`)
.addField(`${fd1}`, `${fdd1}`)
.addField(`${fd1}`, `${fdd1}`)
.addField(`${fd2}`, `${fdd2}`)
.addField(`${fd3}`, `${fdd3}`)
.setFooter({text: "*`Telihold, Tele mosoly :)`*"})
.setTimestamp()
const message = await interaction.reply({embeds: [Response], fetchReply: true});
message.react('')
.then(() => message.react('❤️'))
.catch(error => console.error('Nem tudom betölteni az egyik hangulatjelet', error));
}
}
///我试过这种方式,但不好///
.addField("⟬Cím⟭", `${title}`)
.addField("⟬Leírás⟭", `${desc}`)
.setFooter({text: "*`Telihold, Tele mosoly :)`*"})
.setTimestamp()
const message = await interaction.reply({embeds: [Response], fetchReply: true});
message.react('')
.then(() => message.react('❤️'))
.catch(error => console.error('Nem tudom betölteni az egyik hangulatjelet', error));
if (`${fd1}`)
Response.addField(`${fd1}`, `${fdd1}`)
if (`${fd2}`)
Response.addField(`${fd1}`, `${fdd1}`)
if (`${fd3}`)
Response.addField(`${fd1}`, `${fdd1}`)
return interaction.reply({embeds: [Response], fetchReply: true});
首先使用if语句检查变量是否存在。
let Response = new MessageEmbed()
.setColor("RANDOM")
.setDescription(` egy <@&963762743150796810>-t, kategóriával.`)
.setThumbnail('https://media.discordapp.net/attachments/967828295121006592/969690574674354337/958794200999145513.png')
.addField("⟬Cím⟭", `abc`)
.addField("⟬Leírás⟭", `def`)
.setFooter({ text: "*`Telihold, Tele mosoly :)`*" })
.setTimestamp()
if (fd1) {
Response.addField(`${fd1}`, `${fdd1}`)
}
这样你就可以避免在未设置变量时说“null”。
这是我的简单代码。我的 slesh 命令嵌入生成器需要可选字段(fd、fdd)。我该怎么办?empty fields no delete so.if 我的字段值为空,则不显示,如果该字段有值则添加嵌入。可选值。
const desc = options.getString("leírás");
const fd1 = options.getString("field1");
const fd2 = options.getString("field2");
const fd3 = options.getString("field3");
const fdd1 = options.getString("fielddesc1");
const fdd2 = options.getString("fielddesc2");
const fdd3 = options.getString("fielddesc3");
//cache.find(role => role.id === "967822275355246732");A
const Response = new MessageEmbed()
.setColor("RANDOM")
.setDescription(`${interaction.member} létrehozott egy <@&963762743150796810>-t, **${type}** kategóriával.`)
.setThumbnail('https://media.discordapp.net/attachments/967828295121006592/969690574674354337/958794200999145513.png')
.addField("⟬Cím⟭", `${title}`)
.addField("⟬Leírás⟭", `${desc}`)
.addField(`${fd1}`, `${fdd1}`)
.addField(`${fd1}`, `${fdd1}`)
.addField(`${fd2}`, `${fdd2}`)
.addField(`${fd3}`, `${fdd3}`)
.setFooter({text: "*`Telihold, Tele mosoly :)`*"})
.setTimestamp()
const message = await interaction.reply({embeds: [Response], fetchReply: true});
message.react('')
.then(() => message.react('❤️'))
.catch(error => console.error('Nem tudom betölteni az egyik hangulatjelet', error));
}
}
///我试过这种方式,但不好///
.addField("⟬Cím⟭", `${title}`)
.addField("⟬Leírás⟭", `${desc}`)
.setFooter({text: "*`Telihold, Tele mosoly :)`*"})
.setTimestamp()
const message = await interaction.reply({embeds: [Response], fetchReply: true});
message.react('')
.then(() => message.react('❤️'))
.catch(error => console.error('Nem tudom betölteni az egyik hangulatjelet', error));
if (`${fd1}`)
Response.addField(`${fd1}`, `${fdd1}`)
if (`${fd2}`)
Response.addField(`${fd1}`, `${fdd1}`)
if (`${fd3}`)
Response.addField(`${fd1}`, `${fdd1}`)
return interaction.reply({embeds: [Response], fetchReply: true});
首先使用if语句检查变量是否存在。
let Response = new MessageEmbed()
.setColor("RANDOM")
.setDescription(` egy <@&963762743150796810>-t, kategóriával.`)
.setThumbnail('https://media.discordapp.net/attachments/967828295121006592/969690574674354337/958794200999145513.png')
.addField("⟬Cím⟭", `abc`)
.addField("⟬Leírás⟭", `def`)
.setFooter({ text: "*`Telihold, Tele mosoly :)`*" })
.setTimestamp()
if (fd1) {
Response.addField(`${fd1}`, `${fdd1}`)
}
这样你就可以避免在未设置变量时说“null”。