55 lines
3.3 KiB
JavaScript
55 lines
3.3 KiB
JavaScript
const { MessageEmbed } = require("discord.js");
|
|
const db = require('quick.db');
|
|
|
|
module.exports = {
|
|
name: "addrole",
|
|
aliases: ["role", "qrole"],
|
|
category: "moderation",
|
|
description: "Fügen Sie jedem Benutzer eine Rolle hinzu",
|
|
run: async (bot, message, args) => {
|
|
|
|
if (!message.member.hasPermission("MANAGE_ROLES")) return message.channel.send("**Sie haben nicht die Berechtigung, Benutzern Rollen hinzuzufügen! - [MANAGE_ROLES]**");
|
|
if (!message.guild.me.hasPermission("MANAGE_ROLES")) return message.channel.send("**Ich habe nicht die Berechtigung, Benutzern Rollen hinzuzufügen! - [MANAGE_ROLES]**");
|
|
|
|
if (!args[0]) return message.channel.send("**Bitte geben Sie eine Rolle ein!**")
|
|
|
|
let rMember = message.mentions.members.first() || message.guild.members.cache.get(args[0]) || message.guild.members.cache.find(r => r.user.username.toLowerCase() === args[0].toLocaleLowerCase()) || message.guild.members.cache.find(ro => ro.displayName.toLowerCase() === args[0].toLocaleLowerCase());
|
|
if (!rMember) return message.channel.send("**Bitte geben Sie einen Benutzernamen ein!**");
|
|
if (rMember.roles.highest.comparePositionTo(message.guild.me.roles.highest) >= 0) return message.channel.send('**Diesem Benutzer kann keine Rolle hinzugefügt werden!**')
|
|
|
|
let role = message.mentions.roles.first() || message.guild.roles.cache.get(args[1]) || message.guild.roles.cache.find(rp => rp.name.toLowerCase() === args.slice(1).join(' ').toLocaleLowerCase());
|
|
if (!args[1]) return message.channel.send("**Bitte geben Sie eine Rolle ein!**")
|
|
|
|
if (!role) return message.channel.send("**Konnte diese Rolle nicht finden!**")
|
|
|
|
if (role.managed) return message.channel.send("**Diese Rolle kann dem Benutzer nicht hinzugefügt werden!**")
|
|
if (message.guild.me.roles.highest.comparePositionTo(role) <= 0) return message.channel.send('**Rolle ist derzeit höher als ich, daher kann sie dem Benutzer nicht hinzugefügt werden!**')
|
|
|
|
if (rMember.roles.cache.has(role.id)) return message.channel.send("**Benutzer hat die Rolle bereits!**")
|
|
if (!rMember.roles.cache.has(role.id)) await rMember.roles.add(role.id);
|
|
var sembed = new MessageEmbed()
|
|
.setColor("GREEN")
|
|
.setAuthor(message.guild.name, message.guild.iconURL())
|
|
.setDescription(`Die Rolle wurde zu ${rMember.user.username} hinzugefügt`)
|
|
message.channel.send(sembed)
|
|
|
|
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(rMember.user.displayAvatarURL({ dynamic: true }))
|
|
.setFooter(message.guild.name, message.guild.iconURL())
|
|
.addField("**Moderation**", "addrole")
|
|
.addField("**Added Role to**", rMember.user.username)
|
|
.addField("**Role Added**", role.name)
|
|
.addField("**Added By**", message.author.username)
|
|
.addField("**Date**", message.createdAt.toLocaleString())
|
|
.setTimestamp();
|
|
|
|
let sChannel = message.guild.channels.cache.get(channel)
|
|
if (!sChannel) return;
|
|
sChannel.send(embed)
|
|
}
|
|
}; |