繁体   English   中英

禁止命令 discord.js (v13)

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM