You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

discord.js v13升级后serverinfo命令报MessageEmbed字段为空错误如何解决

问题解决方法

你遇到的MessageEmbed field values may not be empty报错由discord.js v13的三个不兼容变更导致,直接修改对应问题即可:

  • 第一个问题:v13 已经移除了Guild.region属性,你代码里调用regions[message.guild.region]返回undefined,导致Embed字段值为空
  • 第二个问题:v13 中addField方法不再支持传入数组作为第二个参数,必须手动将数组合并为字符串,之前v12自动处理的逻辑在v13里被移除
  • 第三个问题:v13 对频道类型的枚举值做了修改,原text/voice类型现在变更为GUILD_TEXT/GUILD_VOICE,你原代码筛选出来的频道数量恒为0,部分场景下也会触发空值报错

修改后的serverinfo核心代码

const owner = await message.guild.fetchOwner();
    
const embed = new MessageEmbed()
.setColor('#724e72')
.setTitle('Server Info')
.setAuthor(`${message.author.tag}`, message.author.displayAvatarURL())
.setDescription('shows information about the server')
.setThumbnail('https://i.imgur.com/MafwgxK.png')
// 数组手动join('\n')转为字符串,删除已废弃的region字段
.addField('General', [
            `**名称:** ${message.guild.name}`,
            `**所有者:** ${owner.user.tag}`,
            `** boost 等级:** ${message.guild.premiumTier ? `Tier ${message.guild.premiumTier}` : 'None'}`,
            `**内容过滤等级:** ${filterLevels[message.guild.explicitContentFilter]}`,
            `**验证等级:** ${verificationLevels[message.guild.verificationLevel]}`,
            `**创建时间:** ${moment(message.guild.createdTimestamp).format('LT')} ${moment(message.guild.createdTimestamp).format('LL')} [${moment(message.guild.createdTimestamp).fromNow()}]`,
            '\u200b'
        ].join('\n'))
.addField('统计信息', [
            `**角色数量:** ${message.guild.roles.cache.size}`,
            `**表情数量:** ${message.guild.emojis.cache.size}`,
            `**成员总数:** ${message.guild.memberCount}`,
            `**人类用户:** ${message.guild.members.cache.filter(member => !member.user.bot).size}`,
            `**机器人:** ${message.guild.members.cache.filter(member => member.user.bot).size}`,
            // 修改频道类型枚举值
            `**文字频道:** ${message.guild.channels.cache.filter(channel => channel.type === 'GUILD_TEXT').size}`,
            `**语音频道:** ${message.guild.channels.cache.filter(channel => channel.type === 'GUILD_VOICE').size}`,
            `**boost 数量:** ${message.guild.premiumSubscriptionCount || '0'}`,
            '\u200b'
        ].join('\n'))
.addField('在线状态', [
            // 新增可选链判断避免presence不存在时报错
            `**在线:** ${message.guild.members.cache.filter(member => member.presence?.status === 'online').size}`,
            `**闲置:** ${message.guild.members.cache.filter(member => member.presence?.status === 'idle').size}`,
            `**请勿打扰:** ${message.guild.members.cache.filter(member => member.presence?.status === 'dnd').size}`,
            `**离线:** ${message.guild.members.cache.filter(member => member.presence?.status === 'offline').size}`,
            '\u200b'
        ].join('\n'))
.setTimestamp()
.setFooter('a')

message.channel.send({ embeds: [embed] });

内容的提问来源于stack exchange,提问作者clxne

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 03:18:04