Browse Source

Keine Ahnung

master
Paul Glaß 4 years ago
parent
commit
5153c2681d
1 changed files with 20 additions and 19 deletions
  1. +20
    -19
      app/src/main/java/de/yannicpunktdee/yoshibot/main/YoshiBot.java

+ 20
- 19
app/src/main/java/de/yannicpunktdee/yoshibot/main/YoshiBot.java View File

@ -21,10 +21,7 @@ import lombok.SneakyThrows;
import net.dv8tion.jda.api.JDA; import net.dv8tion.jda.api.JDA;
import net.dv8tion.jda.api.JDABuilder; import net.dv8tion.jda.api.JDABuilder;
import net.dv8tion.jda.api.OnlineStatus; import net.dv8tion.jda.api.OnlineStatus;
import net.dv8tion.jda.api.entities.Activity;
import net.dv8tion.jda.api.entities.Guild;
import net.dv8tion.jda.api.entities.Member;
import net.dv8tion.jda.api.entities.VoiceChannel;
import net.dv8tion.jda.api.entities.*;
import javax.security.auth.login.LoginException; import javax.security.auth.login.LoginException;
import java.io.BufferedReader; import java.io.BufferedReader;
@ -32,11 +29,10 @@ import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.io.InputStreamReader; import java.io.InputStreamReader;
import java.nio.file.Files; import java.nio.file.Files;
import java.util.List;
import java.util.Random;
import java.util.UUID;
import java.util.*;
import java.util.concurrent.Executors; import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
/** /**
* Repräsentiert einen Yoshi-Bot. Der Bot initialisiert alle Ressourcen und schaltet sich in der startYoshiBot-Methode * Repräsentiert einen Yoshi-Bot. Der Bot initialisiert alle Ressourcen und schaltet sich in der startYoshiBot-Methode
@ -171,19 +167,24 @@ public final class YoshiBot {
} }
public void joinVoiceChannelWithMostMembers() { public void joinVoiceChannelWithMostMembers() {
VoiceChannel maxVoiceChannel = null;
int maxMembers = 0;
for (VoiceChannel vc : guild.getVoiceChannels()) {
int membersInChannel = 0;
for (Member m : vc.getMembers())
if (!m.getUser().isBot()) membersInChannel++;
if (membersInChannel > maxMembers) {
maxVoiceChannel = vc;
maxMembers = membersInChannel;
}
Map<VoiceChannel, Long> vcAmount =
guild.getVoiceChannels().stream()
.collect(Collectors.toMap(vc -> vc,
vc -> vc.getMembers().stream()
.filter(m -> !m.getUser().isBot())
.count()));
VoiceChannel channel =
vcAmount.entrySet().stream()
.filter(vc -> vc.getValue() > 0)
.max(Comparator.comparingLong(Map.Entry::getValue))
.map(Map.Entry::getKey)
.orElse(null);
if (channel != null) {
PermissionOverride override = channel.getPermissionOverride(
Objects.requireNonNull(guild.getMember(jda.getSelfUser())));
} }
if (maxMembers < 1) joinVoiceChannel(null);
else joinVoiceChannel(maxVoiceChannel);
joinVoiceChannel(channel);
} }
public boolean playSound(File file, VoiceChannel vc) { public boolean playSound(File file, VoiceChannel vc) {


Loading…
Cancel
Save