Discord.js 禁止命令中的无效表单正文

2022-01-10 00:00:00 discord javascript discord.js

所以,我一直在尝试发出禁令命令.我基本上在踢命令上使用了相同的系统,但在这里它不起作用,只是给了我一个错误.我很困惑,因为在错误中它没有显示一行代码或其他东西.
我的命令/代码:

So, i have been trying to make a ban command. I basically used the same system on a kick command, but here it didnt work and just gave me an error. I am confused since in the error it doesnt display a line of code or something.
My Command / Code:

module.exports = {
    name: 'ban',
    description: "Ban Command.",
    execute(msg, args){
    const Discord = require('discord.js')
    const Embeds = require('./../embed')
    let perms = msg.member.permissions  
    let has_kick = perms.has("BAN_MEMBERS")
    if (has_kick === true) {
        const toban = msg.mentions.members.first()
        delete args[0]
        var string = args.join(' ')
        Embeds.error(toban, `You have been banned from ${msg.guild.name} by the user ${msg.author} with the reason ${string}`)
        setTimeout(function(){ 
            try {
            toban.ban(`was banned by ${msg.author} for: ${string}`)
            Embeds.kicked(msg.channel, `${toban} has been banned by ${msg.author} from the server with the following reason: ${string}`, `Banned User from the server`)
            } catch {
                Embeds.error(msg.channel, `I dont have permissions to ban ${toban} `, "Error")
            }
         }, 1000); 
    } else {
        const toban = msg.mentions.members.first()
        Embeds.error(msg.channel, `You dont have permissions to Ban ${toban} `, "Error")
    }
}
}

错误:

(node:13896) UnhandledPromiseRejectionWarning: DiscordAPIError: Invalid Form Body
DICT_TYPE_CONVERT: Only dictionaries may be used in a DictType

推荐答案

这很容易解决,你所要做的就是以正确的方式将适量的参数传递给 .ban 功能.

this is pretty easy to solve, all you have to to is pass the right amount of Parameters in the right way to the .ban function.

.ban({ days: 7, reason: 'your reason here' })

https://discord.js.org/#/docs/main/stable/class/GuildMember?scrollTo=ban

相关文章