未处理的拒绝:DiscordAPIError:尝试禁止命令时表单正文无效

Posted

技术标签:

【中文标题】未处理的拒绝:DiscordAPIError:尝试禁止命令时表单正文无效【英文标题】:Unhandled rejection: DiscordAPIError: Invalid Form Body when trying a ban command 【发布时间】:2021-05-20 06:51:48 【问题描述】:

当我运行 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.`);
  );
;

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

以上是关于未处理的拒绝:DiscordAPIError:尝试禁止命令时表单正文无效的主要内容,如果未能解决你的问题,请参考以下文章

DiscordAPIError:缺少权限 - 机器人崩溃而不是给出错误消息

使用 axios 时可能出现未处理的 Promise 拒绝、网络错误

未处理的承诺拒绝条带支付意图示例

我的应用程序运行良好,但现在显示错误 [未处理的承诺拒绝:TypeError:传播不可迭代实例的无效尝试

条纹元素抛出“未处理的承诺拒绝”

设置firebase时出错,可能会出现未处理的承诺拒绝