#javascript #discord.js
#javascript #discord.js
Вопрос:
Привет, я пытался создать команду запрета с discord.js (v13) но я получаю эту ошибку, и я не знаю, в чем причина проблемы
Если кто-нибудь может помочь, я был бы очень благодарен
DiscordAPIError: Invalid Form Body
embeds[0].description: This field is required
Мой код :
module.exports = {
name: "ban",
description: "This command ban's someone",
category: "moderation",
example: ["!ban @member"],
callback: async ({ message, args }) => {
try {
const member = message.mentions.members.first();
const permission = message.member.permissions.has("BAN_MEMBERS");
if (!permission)
return message.reply(
"❌ | You don't have permission to use this command"
);
if (!args[0]) return message.reply(`❌ | Please specify someone`);
if (!member) return message.reply(`💤 | Cannot find that member...`);
if (member.id === message.author.id)
return message.reply(`❌ | You cannot ban yourself!`);
if (message.member.roles.highest.position < member.roles.highest.position)
return message.reply(
`❌ | You cannot ban user who have higher role than you...`
);
if (!member.bannable) return message.reply(`❌ | I cannot ban that member`);
return (
(await member.ban())
message
.reply({
content: `:anger: | User ${member} has been banned`,
})
.then((msg) => {
setTimeout(() => msg.delete(), 5000);
})
);
} catch(err) {
message.reply(`awww there was an ${err}`)
}
},
};
Комментарии:
1. Похоже, что это не связанный код — нет
embeds: [...]
или попытки отправить embed
Ответ №1:
Если вы обновляете discord.js начиная с версии 12 и заканчивая версией 13, обязательно учитывайте следующие изменения: https://discordjs.guide/additional-info/changes-in-v13.html#sending-messages-embeds-files-etc
Параметр embeds был заменен на embeds arrays, что означает, что они должны быть в объекте options . Попробуйте этот код:
module.exports = {
name: "ban",
description: "This command ban's someone",
category: "moderation",
example: ["!ban @member"],
callback: async ({ message, args }) => {
try {
const member = message.mentions.members.first();
const permission = message.member.permissions.has(Discord.Permissions.FLAGS.BAN_MEMBERS)
if (!permission)
return message.reply({
contents: "❌ | You don't have permission to use this command"
});
if (!args[0]) return message.reply({ content: `❌ | Please specify someone` });
if (!member) return message.reply({ content: `💤 | Cannot find that member...` } );
if (member.id === message.author.id)
return message.reply({ content: `❌ | You cannot ban yourself!` });
if (message.member.roles.highest.position < member.roles.highest.position)
return message.reply({
content: `❌ | You cannot ban user who have higher role than you...`
});
if (!member.bannable) return message.reply({ content: `❌ | I cannot ban that member`});
return (
(await member.ban())
message
.reply({
content: `:anger: | User ${member} has been banned`
})
.then((msg) => {
setTimeout(() => msg.delete(), 5000);
})
);
} catch(err) {
message.reply({ content: `awww there was an ${err}` })
}
}, };