Advertisement
NoaLeGeek68

c

Aug 4th, 2021
679
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.17 KB | None | 0 0
  1. @Override
  2.     protected void execute(CommandEvent event) {
  3.         if (event.getAuthor().isBot()) return;
  4.         String[] args = event.getArgs().split("\\s+");
  5.         if (args.length > 2) {
  6.             event.replyError(MessageHelper.syntaxError(event.getAuthor(), this) + "Mettre une raison n'est pas obligatoire.");
  7.             return;
  8.         }
  9.         Main.getJda().retrieveUserById(args[0].replaceAll("\\D+", "")).queue(user -> {
  10.             event.getGuild().retrieveMember(user).queue(member -> {
  11.                 if (!event.getSelfMember().canInteract(member)) {
  12.                     event.replyError(MessageHelper.formattedMention(event.getAuthor()) + "Le bot n'a pas les permissions de faire cela.");
  13.                     return;
  14.                 }
  15.                 if (!event.getMember().canInteract(member)) {
  16.                     event.replyError(MessageHelper.formattedMention(event.getAuthor()) + "Vous n'avez pas la permission de mute ce membre.");
  17.                     return;
  18.                 }
  19.                 if (!Main.getServerConfig().mutedRole.containsValue(event.getGuild().getId()) || !event.getGuild().getRoles().contains(event.getGuild().getRoleById(Main.getServerConfig().mutedRole.get(event.getGuild().getId())))) {// If mutedRole is not here
  20.                     event.getGuild().createRole().setName("Muted Role").setColor(0x010101).queue(mutedRole -> Main.getServerConfig().mutedRole.put(event.getGuild().getId(), mutedRole.getId()));
  21.                     try {
  22.                         Listener.saveConfigs();
  23.                     } catch (IOException e) {
  24.                         e.printStackTrace();
  25.                     }
  26.                     for(GuildChannel guildChannel : event.getGuild().getChannels()){
  27.                         guildChannel.putPermissionOverride(event.getGuild().getRoleById(Main.getServerConfig().mutedRole.get(event.getGuild().getId()))).setDeny(Permission.MESSAGE_WRITE).queue();
  28.                     }
  29.                     event.replyWarning(MessageHelper.formattedMention(event.getAuthor()) + ":warning: Le rôle configuré par défaut n'est pas présent donc j'ai créé un nouveau rôle nommé \"Muted Role\".");
  30.                     //TODO Bug à régler : quand on crée pour la première fois le rôle, il mute pas. Une deuxième fois, ça mute et crée un nouveau rôle
  31.                 }
  32.                 if (args.length == 1) {
  33.                     mute(event, member, null);
  34.                 } else {
  35.                     mute(event, member, args[1]);
  36.                 }
  37.             }, memberNull -> event.replyError(MessageHelper.formattedMention(event.getAuthor()) + "Vous devez spécifié une personne présente sur le serveur."));
  38.         }, userNull -> event.replyError(MessageHelper.formattedMention(event.getAuthor()) + "Vous devez spécifié une personne existante."));
  39.     }
  40.  
  41.     public static void mute(CommandEvent event, Member targetMember, String reason) {
  42.         if (targetMember.getRoles().contains(event.getGuild().getRoleById(Main.getServerConfig().mutedRole.get(event.getGuild().getId())))) { // Unmute the target
  43.             targetMember.getRoles().remove(event.getGuild().getRoleById(Main.getServerConfig().mutedRole.get(event.getGuild().getId())));
  44.             if (reason != null) {
  45.                 event.replySuccess(MessageHelper.formattedMention(event.getAuthor()) + targetMember.getEffectiveName() + " a bien été démuter pour la raison " + reason + ".");
  46.                 return;
  47.             }
  48.             event.replySuccess(MessageHelper.formattedMention(event.getAuthor()) + targetMember.getEffectiveName() + " a bien été démuter.");
  49.         } else { // Mute the target
  50.             event.getGuild().addRoleToMember(targetMember, event.getGuild().getRoleById(Main.getServerConfig().mutedRole.get(event.getGuild().getId()))).queue();
  51.             if (reason != null) {
  52.                 event.replySuccess(MessageHelper.formattedMention(event.getAuthor()) + targetMember.getEffectiveName() + " a bien été muter pour la raison " + reason + ".");
  53.                 return;
  54.             }
  55.             event.replySuccess(MessageHelper.formattedMention(event.getAuthor()) + targetMember.getEffectiveName() + " a bien été muter.");
  56.         }
  57.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement