简体   繁体   English

discord.js V.13 嵌入问题 - RangeError [EMBED_FIELD_NAME]:MessageEmbed 字段名称必须是非空字符串。 - 特别是“成员自:”字段

[英]discord.js V.13 Embed Issue - RangeError [EMBED_FIELD_NAME]: MessageEmbed field names must be non-empty strings. - Specifically "Member Since:" field

I'm working on a user information command in discord.js V.13, but I just can't seem to get it to work.** **The error is centered around my "Member Since:" field.我正在处理 discord.js V.13 中的用户信息命令,但我似乎无法让它工作。** **错误以我的“Member since:”字段为中心。

Photo Error:照片错误: 错误作为照片(请转成全文错误)

Written Error:书面错误:

if (typeof data !== 'string') throw new error(errorMessage); if (typeof data !== 'string') throw new error(errorMessage);

RangeError [EMBED_FIELD_NAME]: MessageEmbed field names must be non-empty strings. RangeError [EMBED_FIELD_NAME]:MessageEmbed 字段名称必须是非空字符串。

const { CommandInteraction, Client, MessageEmbed } = require(`discord.js`);
const moment = require("moment");
const emoji = [
    { name: "DISCORD_EMPLOYEE", emoji: "<:Staff:994985083633160272>" },
    { name: "DISCORD_CERTIFIED_MODERATOR", emoji: "<:CertifiedModerator:994985105724551218>" },
    { name: "PARTNERED_SERVER_OWNER", emoji: "<:ServerPartner:994985085780643850>" },
    { name: "HYPESQUARD_EVENTS", emoji: "<:HypeSquardEvents:994985103824523296>" },
    { name: "HOUSE_BRAVERY", emoji: "<:HouseBraveryMember:994985087856820345>" },
    { name: "HOUSE_BRILLIANCE", emoji: "<:HouseBrillianceMember:994985091883348048>" },
    { name: "HOUSE_BALANCE", emoji: "<:HouseBalanceMember:994985089949777920>" },
    { name: "BUGHUNTER_LEVEL_1", emoji: "<:BugHunterLvL1:994985107939147936>" },
    { name: "BUGHUNTER_LEVEL_2", emoji: "<:BigHunterLvL2:994985101580566588>" },
    { name: "EARLY_VERIFIED_BOT_DEVELOPER", emoji: "<:VerifiedDeveloper:994985099135295529>" },
    { name: "EARLY_SUPPORTER", emoji: "<:EarlyNitroSupporter:994985096706801915>" }
  ];

module.exports = {
    name: `userinfo`,
    description: `Get a persons user information`,
    permission: "ADMINISTRATOR",
    usage: "/userinfo [USER]",
    options: [{
        name: 'user',
        type: 'USER',
        description: 'Select a user',
        required: true,
    }],
    /**
     * @param {CommandInteraction} interaction
     * @param {Client} client
     */
    async execute(interaction, client) {
        const user = interaction.options.getUser('user')
        await user.fetch();
        const flags = user.flags.toArray();

        let badges = [];
          emoji.forEach((e) => {
            if (flags.includes(e.name)) badges.push(e.emoji);
          });
        const startMessage = new MessageEmbed()
            .setTitle(`${user.tag}`)
            .setColor("BLURPLE")
            .setDescription(`**Badges:** ${badges.join(" ")}`)
            .setThumbnail(user.avatarURL({ dynamic: true }))
            .addField({ name: 'ID:', value: `\`\`\`${user.id}\`\`\`` })
            .addField({ name: "Member Since:", value: `\`\`\`<t:${parseInt(member.joinedAt / 1000)}:R>\`\`\``, inline: true })
            .addField('Nickname:', `\`\`\`${user.nickname || "False"}\`\`\``, true)
            .addField('Bot Account:', `\`\`\`${user.bot ? "True" : "False"}\`\`\``, true)
            .addField('Discriminator:', `\`\`\`#${user.discriminator}\`\`\``, true)
            .addField('Nitro:', `${user.premiumSubscriptionCount ? '\`\`\`Yes\`\`\`' : '\`\`\`No\`\`\`'}`,true)
            .addField("Banner:", `${user.bannerURL() ? "\`\`\`True\`\`\`" : "\`\`\`False\`\`\`"}`, true)
            .addField('Discord Account Created at:', `\`\`\`${moment(user.createdAt).format('MMM Do YYYY')}\`\`\``, true)
            .setImage(user.bannerURL({ dynamic: true, size: 512 }) || "")
        await interaction.reply({ embeds: [startMessage] });
    }
}
            .addField({ name: 'ID:', value: `\`\`\`${user.id}\`\`\`` })
            .addField({ name: "Member Since:", value: `\`\`\`<t:${parseInt(member.joinedAt / 1000)}:R>\`\`\``, inline: true })

There's a clear errore here as you are trying to add a field using an object as first and only variable passed, when it needs 3 as done under these two lines.这里有一个明显的错误,因为您试图使用对象添加一个字段作为第一个也是唯一传递的变量,当它需要 3 时,正如在这两行下所做的那样。 Therefore it can't find a string, and tells you that the field name can't be empty因此它找不到字符串,并告诉您字段名称不能为空

This is quite a simple debug process that took less than 20 seconds look more into the code for this errors, that should be signaled by a good IDE too.这是一个非常简单的调试过程,只用了不到 20 秒的时间就可以更深入地查看这个错误的代码,这也应该由一个好的 IDE 发出信号。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Discord.js v13 错误:RangeError [EMBED_FIELD_VALUE]:MessageEmbed 字段值必须是非空字符串 - Discord.js v13 error: RangeError [EMBED_FIELD_VALUE]: MessageEmbed field values must be non-empty strings Discord.js v13 [EMBED_FIELD_VALUE]:MessageEmbed 字段值必须是非空字符串 - Discord.js v13 [EMBED_FIELD_VALUE]: MessageEmbed field values must be non-empty strings Discord bot 无法创建嵌入 RangeError [EMBED_FIELD_VALUE]:MessageEmbed 字段值必须是非空字符串 - Discord bot not able to create the embed RangeError [EMBED_FIELD_VALUE]: MessageEmbed field values must be non-empty strings RangeError [EMBED_FIELD_VALUE]:MessageEmbed 字段值必须是非空字符串 - RangeError [EMBED_FIELD_VALUE]: MessageEmbed field values must be non-empty stringss [Discord.js]MessageEmbed 字段值必须是非空字符串 - [Discord.js]MessageEmbed field values must be non-empty strings Discord.js v12 禁止命令 - UnhandledPromiseRejectionWarning: RangeError [EMBED_FIELD_VALUE]: MessageEmbed 字段值不能为空 - Discord.js v12 Ban Command - UnhandledPromiseRejectionWarning: RangeError [EMBED_FIELD_VALUE]: MessageEmbed field values may not be empty MessageEmbed 字段值必须是非空字符串。 帮助命令 - MessageEmbed field values must be non-empty strings. help command MessageEmbed 字段值必须是非空字符串 - MessageEmbed field values must be non-empty strings MessageEmbed 字段值必须是非空字符串 gamedig 问题 - MessageEmbed field values must be non-empty strings gamedig problem RangeError [MESSAGE_CONTENT_TYPE]: 消息内容必须是非空字符串。 (discord.js v13) - RangeError [MESSAGE_CONTENT_TYPE]: Message content must be a non-empty string. (discord.js v13)
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM