Ajout d'une permission Admin requise pour lancer un record

This commit is contained in:
2021-05-08 17:31:57 +02:00
parent 67be942e57
commit 605b00026a
4 changed files with 20 additions and 17 deletions

View File

@@ -17,7 +17,7 @@ import net.dv8tion.jda.api.entities.Activity;
import net.dv8tion.jda.api.utils.cache.CacheFlag; import net.dv8tion.jda.api.utils.cache.CacheFlag;
public class JdrBot { public class JdrBot {
public static String Version = "2.6"; public static String Version = "2.61";
public static JDA jda; public static JDA jda;
public static LocalDateTime basedate; public static LocalDateTime basedate;

View File

@@ -34,7 +34,7 @@ public class PlayMusic extends Command {
AudioSourceManagers.registerLocalSource(playerManager); AudioSourceManagers.registerLocalSource(playerManager);
SetName("playmusic|pm"); SetName("playmusic|pm");
SetDesc("Demarre le jukebox"); SetDesc("(Admin) Demarre le jukebox");
} }
@Override @Override

View File

@@ -13,7 +13,7 @@ import net.dv8tion.jda.api.events.message.guild.GuildMessageReceivedEvent;
public class StopMusic extends Command { public class StopMusic extends Command {
public StopMusic() { public StopMusic() {
SetName("stopmusic|sm"); SetName("stopmusic|sm");
SetDesc("Arrete le jukebox et supprime son message"); SetDesc("(Admin) Arrete le jukebox et supprime son message");
} }
@Override @Override

View File

@@ -9,6 +9,7 @@ import fr.Skydust.JdrBot.stock.RecordState;
import fr.Skydust.JdrBot.stock.Command; import fr.Skydust.JdrBot.stock.Command;
import fr.Skydust.JdrBot.utils.MessageType; import fr.Skydust.JdrBot.utils.MessageType;
import fr.Skydust.JdrBot.utils.Utils; import fr.Skydust.JdrBot.utils.Utils;
import net.dv8tion.jda.api.Permission;
import net.dv8tion.jda.api.entities.Guild; import net.dv8tion.jda.api.entities.Guild;
import net.dv8tion.jda.api.events.message.guild.GuildMessageReceivedEvent; import net.dv8tion.jda.api.events.message.guild.GuildMessageReceivedEvent;
@@ -17,29 +18,31 @@ public class Record extends Command {
public Record() { public Record() {
SetName("record"); SetName("record");
SetDesc("Enregistre le chat vocal"); SetDesc("(Admin) Enregistre le chat vocal");
} }
@Override @Override
public void call(GuildMessageReceivedEvent e) public void call(GuildMessageReceivedEvent e)
{ {
RecordState currentRS = getGuildRecordState(e.getGuild()); if(e.getGuild().getMember(e.getAuthor()).hasPermission(Permission.ADMINISTRATOR)) {
RecordState currentRS = getGuildRecordState(e.getGuild());
if(e.getGuild().getMember(e.getAuthor()).getVoiceState().getChannel() != null && !currentRS.isRecording && !currentRS.isProcessing) { if (e.getGuild().getMember(e.getAuthor()).getVoiceState().getChannel() != null && !currentRS.isRecording && !currentRS.isProcessing) {
Utils.sendMessage(e.getChannel(), MessageType.NORMAL, "Lancement d'un enregistrement par "+e.getAuthor().getAsMention()+"\n`!stoprecord` pour le terminer\n`!crecord` pour annuler"); Utils.sendMessage(e.getChannel(), MessageType.NORMAL, "Lancement d'un enregistrement par " + e.getAuthor().getAsMention() + "\n`!stoprecord` pour le terminer\n`!crecord` pour annuler");
System.out.println("["+new Date()+"] Le serveur ID "+e.getGuild().getId()+"("+e.getGuild().getName()+") vient de lancer un enregistrement"); System.out.println("[" + new Date() + "] Le serveur ID " + e.getGuild().getId() + "(" + e.getGuild().getName() + ") vient de lancer un enregistrement");
e.getGuild().getAudioManager().openAudioConnection(e.getGuild().getMember(e.getAuthor()).getVoiceState().getChannel()); e.getGuild().getAudioManager().openAudioConnection(e.getGuild().getMember(e.getAuthor()).getVoiceState().getChannel());
currentRS.newRecord(); currentRS.newRecord();
currentRS.isRecording = true; currentRS.isRecording = true;
} else if(currentRS.isProcessing) { } else if (currentRS.isProcessing) {
Utils.sendMessage(e.getChannel(), MessageType.ERROR, "Un enregistrement est en cours de finalisation"); Utils.sendMessage(e.getChannel(), MessageType.ERROR, "Un enregistrement est en cours de finalisation");
} else if(currentRS.isRecording) { } else if (currentRS.isRecording) {
Utils.sendMessage(e.getChannel(), MessageType.ERROR, "Un enregistrement est déjà en cours"); Utils.sendMessage(e.getChannel(), MessageType.ERROR, "Un enregistrement est déjà en cours");
} else { } else {
Utils.sendMessage(e.getChannel(), MessageType.ERROR, "Vous n'êtes pas dans un salon vocal"); Utils.sendMessage(e.getChannel(), MessageType.ERROR, "Vous n'êtes pas dans un salon vocal");
}
} }
} }