[英]Ban Command discord.js (v13)
您好,我一直在尝试使用 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}`)
}
},
};
如果您将 discord.js 从 v12 更新到 v13,请务必牢记这些更改: https://discordjs.guide/additional-info/changes-in-v13.html#sending-messages-embeds-files-etc
embeds 选项已替换为 embeds arrays,这意味着它们必须在选项 object 中。 试试这个代码:
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}` })
}
}, };
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.