discord_bot/commands/moderation/kick.js

55 lines
2.7 KiB
JavaScript

const { MessageEmbed } = require("discord.js")
const moment = require('moment')
module.exports = {
name: "kick",
category: "moderation",
description: "einen Benutzer kicken",
cooldown: 5,
userPerms: ["KICK_MEMBERS"],
clientPerms: ["KICK_MEMBERS"],
run: async(client, message, args) => {
const mentionedMember = message.mentions.members.first() || message.guild.members.cache.get(args[0])
const reason = args.slice(1).join(" ")
if (!args[0]) return message.channel.send(":x: | **Geben Sie jemanden zum Kicken an.**")
if (!mentionedMember) return message.channel.send(":x: | **Ich kann dieses Mitglied nicht finden.**")
if (mentionedMember.id === message.author.id) return message.channel.send(":x: | Du kannst dich nicht kicken.")
if (mentionedMember.roles.highest.position >= message.member.roles.highest.position && message.author.id !== message.guild.owner.id) {
return message.channel.send(":x: | **Du kannst dieses Mitglied nicht kicken, da deine Rolle niedriger ist als diese Mitgliedsrolle.**")
}
if (mentionedMember.kickable) {
const embed = new MessageEmbed()
.setAuthor(`${message.author.username} - (${message.author.id})`, message.author.displayAvatarURL({dynamic: true}))
.setThumbnail(mentionedMember.user.displayAvatarURL({dynamic: true}))
.setColor(`RANDOM`)
.setDescription(`
**Member:** ${mentionedMember.user.username} - (${mentionedMember.user.id})
**Reason:** ${reason || "None"}
`)
message.channel.send(embed)
mentionedMember.kick()
} else {
return message.channel.send(":x: | **Ich kann diesen Benutzer nicht kicken. Stellen Sie sicher, dass die Benutzerrolle niedriger ist als meine Rolle.**")
}
return undefined
let channel = db.fetch(`modlog_${message.guild.id}`)
if (!channel) return;
const embed = new MessageEmbed()
.setAuthor(`${message.guild.name} Modlogs`, message.guild.iconURL())
.setColor("#ff0000")
.setThumbnail(kickMember.user.displayAvatarURL({ dynamic: true }))
.setFooter(message.guild.name, message.guild.iconURL())
.addField("**Moderation**", "kick")
.addField("**User Kicked**", kickMember.user.username)
.addField("**Kicked By**", message.author.username)
.addField("**Reason**", `${reason || "**No Reason**"}`)
.addField("**Date**", message.createdAt.toLocaleString())
.setTimestamp();
var sChannel = message.guild.channels.cache.get(channel)
if (!sChannel) return;
sChannel.send(embed)
}
}