应用程序不和机器人



所以这是我的代码,我一次又一次地收到同样的错误。顺便说一下,我正在使用v14,所以任何帮助都将是一个很大的帮助。。。

{
let embed = new EmbedBuilder(
interaction.message.embeds[0]
).setColor(0x00FF00)
.setFooter({

text: client.user.tag
});

interaction.message.edit({
embeds: [embed],
components: [],
});
let ap_user = interaction.guild.members.cache.then(
embed.footer.get(client.user.tag)
);

我得到的错误如下:

TypeError: Cannot read properties of undefined (reading 'get')

第一个问题是embed.footer返回undefined,而不是您想要的EmbeddedFooterData。我假设您想要embed.data.footer,它应该返回APIEmbed对象的Footer属性。

接下来,embed.data.footer.get()不存在。您需要.text属性。您的代码在尝试做什么方面相当混乱,但它看起来就像您试图从用户的标签中获取User类。我不建议那样做。

与其从tag(User#tag(开始,不如从id(User#id(开始。这样,如果用户更改了他们的标签,他们仍然可以被识别。请注意,tag既是User#username属性,也是User#discriminator属性。

因此,如果你试图从嵌入页脚中的用户ID中获取用户,它应该是这样的:

let ap_user = await interaction.guild.members.fetch(embed.data.footer);

如果您使用的是.fetch()方法,那么它们就不必在缓存中。您可以用.cache.get()替换.fetch(),如果它们被缓存,也会有同样的效果。

您的代码的完整示例如下:

{
let embed = new EmbedBuilder(interaction.message.embeds[0])
.setColor(ox00FF00)
.setFooter({ text: client.user.id });
interaction.message.edit({
embeds: [embed],
components: [],
});
let ap_user = interaction.guild.members.fetch(embed.data.footer.text);

现在,我不能百分之百肯定这会奏效,但我对此很有信心。如果它不告诉我,我会尽力帮你解决的!

希望这能有所帮助!

相关内容

最新更新