Discord JS v12 添加字段问题

Discord JS v12 Add Field Issues

let xp = db.get(`xpchannel_${message.guild.id}`)
let wel = db.get(`welchannel_${message.guild.id}`)
let px = db.get(`prefix_${message.guild.id}`)
let defaultprefix = '.'

let disabled = ':white_circle: Disabled'

let embed = new Discord.MessageEmbed()
    .setColor(ee.color)
    .setAuthor('Database Settings', client.user.avatarURL())
    .setThumbnail(ee.thumbnail)
    .addFields(
        { name: '__**XP Channel**__', value: `${xp || `${disabled}`}`, inline: true },
        { name: '__**Welcomer Channel**__', value: `${wel || `${disabled}`}`, inline: true },
        { name: '__**Set Prefix**__', value: `\`${px || `${defaultprefix}`}\``, inline: true },
    )

if (!message.member.permissions.has('ADMINISTRATOR')) {
    return message.channel.send("<:warning:943421375526355024> | **You Need `ADMINISTRATOR` Permissions To Use This Command!**");
}

message.channel.send(embed)

每当我使用这个命令并且数据库中有一个 xp 频道或欢迎频道时,它 returns 频道 ID 而不是频道本身,我试图通过添加 <# > 来解决这个问题变量的前端和末尾,但是当数据库中没有通道时,它 returns <#null> 而不是禁用变量。我该如何解决?

您应该检查这些变量(xpwel)的值是否真实。如果是,则从数据库返回通道 ID,您可以将它们压缩在 <#> 之间。如果返回值是null,你可以简单地传递disabled变量:

.addFields(
  {
    name: '__**XP Channel**__',
    value: xp ? `<#${xp}>` : disabled,
    inline: true,
  },
  {
    name: '__**Welcomer Channel**__',
    value: wel ? `<#${wel}>` : disabled,
    inline: true,
  },
  {
    name: '__**Set Prefix**__',
    value: `\`${px || defaultprefix}\``,
    inline: true,
  },
);