首页 > 解决方案 > 未处理的拒绝:DiscordAPIError:尝试禁止命令时表单正文无效

问题描述

当我运行 ban 命令时,我得到了这个错误并且我guildMember.ban在那里,所以我不知道为什么我会得到这个错误。

DICT_TYPE_CONVERT: Only dictionaries may be used in a DictType  
DiscordAPIError: Invalid Form Body

这是代码:

const { version, MessageEmbed } = require("discord.js");
const Discord = require("discord.js");
const errors = require("../events/error.js");
const moment = require("moment")
        
exports.run = async (client, message, [mention, ...reason]) => { // eslint-disable-line no-unused-vars
  if (message.mentions.members.size === 0)
    return message.reply("Please mention a user to ban.");

  if (!message.guild.me.hasPermission("BAN_MEMBERS"))
    return message.reply("");
          
  let guildMember = message.guild.member(message.mentions.users.first())
          
  guildMember.ban(reason.join(" ")).then(member => {
    message.reply(`${member.user.username} was succesfully banned.`);
  });
};

标签: javascriptnode.jsdiscord.js

解决方案


guildMember.ban()接受一个选项对象并且reason.join(" ")是一个字符串。您需要将其更改为具有以下键的对象reason

guildMember.ban({reason: reason.join(" ")})

推荐阅读