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) } };