因此,我一直在尝试发出禁令。我基本上在kick命令上使用了相同的系统,但是在这里它没有用,只是给了我一个错误。我很困惑,因为在错误中它不会显示一行代码或其他内容。
我的命令/代码:
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
答案 0 :(得分:0)
这很容易解决,您所要做的就是以正确的方式将正确数量的参数传递给.ban
函数。
.ban({ days: 7, reason: 'your reason here' })
https://discord.js.org/#/docs/main/stable/class/GuildMember?scrollTo=ban