Add //rank command
This commit is contained in:
parent
f9f1da2d50
commit
e10a8d652d
@ -17,7 +17,7 @@ import java.io.IOException;
|
||||
/**
|
||||
* Madame command that return random picture from dites.bonjourmadame.fr
|
||||
*/
|
||||
//@NoDev
|
||||
@NoDev
|
||||
public class Madame extends NumberedCommande {
|
||||
Logger logger = LogManager.getLogger();
|
||||
MessageReceivedEvent event;
|
||||
|
30
src/main/java/net/Broken/Commands/Rank.java
Normal file
30
src/main/java/net/Broken/Commands/Rank.java
Normal file
@ -0,0 +1,30 @@
|
||||
package net.Broken.Commands;
|
||||
|
||||
import net.Broken.Commande;
|
||||
import net.Broken.Tools.UserManager.Stats.UserStatsUtils;
|
||||
import net.dv8tion.jda.core.entities.MessageEmbed;
|
||||
import net.dv8tion.jda.core.events.message.MessageReceivedEvent;
|
||||
|
||||
public class Rank implements Commande {
|
||||
@Override
|
||||
public void action(String[] args, MessageReceivedEvent event) {
|
||||
UserStatsUtils userStats = UserStatsUtils.getINSTANCE();
|
||||
MessageEmbed msg = userStats.getRankMessage(event.getMember());
|
||||
event.getTextChannel().sendMessage(msg).queue();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPrivateUsable() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAdminCmd() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isNSFW() {
|
||||
return false;
|
||||
}
|
||||
}
|
@ -6,16 +6,20 @@ import net.Broken.DB.Repository.UserRepository;
|
||||
import net.Broken.DB.Repository.UserStatsRepository;
|
||||
import net.Broken.MainBot;
|
||||
import net.Broken.SpringContext;
|
||||
import net.Broken.Tools.EmbedMessageUtils;
|
||||
import net.Broken.Tools.UserManager.Exceptions.UnknownTokenException;
|
||||
import net.Broken.Tools.UserManager.UserUtils;
|
||||
import net.dv8tion.jda.core.EmbedBuilder;
|
||||
import net.dv8tion.jda.core.entities.Guild;
|
||||
import net.dv8tion.jda.core.entities.Member;
|
||||
import net.dv8tion.jda.core.entities.MessageEmbed;
|
||||
import net.dv8tion.jda.core.entities.User;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.security.crypto.password.PasswordEncoder;
|
||||
|
||||
import java.awt.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Comparator;
|
||||
import java.util.HashMap;
|
||||
@ -204,6 +208,48 @@ public class UserStatsUtils {
|
||||
|
||||
}
|
||||
|
||||
|
||||
public MessageEmbed getRankMessage(Member member){
|
||||
UserStats userStats = getGuildUserStats(member);
|
||||
GuildStatsPack pack = getStatPack(userStats.getUser(), member.getGuild().getId());
|
||||
StringBuilder stringBuilder = new StringBuilder();
|
||||
int i = 1;
|
||||
for(GuildStats stats : pack.ranking){
|
||||
if( i >= 6){
|
||||
break;
|
||||
}
|
||||
stringBuilder.append(i).append(". ").append(stats.userName).append(" with ").append(stats.total).append(" points!").append("\n");
|
||||
i++;
|
||||
|
||||
}
|
||||
|
||||
EmbedBuilder embedBuilder = new EmbedBuilder();
|
||||
embedBuilder.setColor(Color.yellow);
|
||||
embedBuilder.setTitle(member.getGuild().getName() + " Ranking");
|
||||
embedBuilder.addField("Top 5:", stringBuilder.toString(), false);
|
||||
String rank;
|
||||
switch (pack.selfStats.rank){
|
||||
case 1:
|
||||
rank = "1st";
|
||||
break;
|
||||
case 2:
|
||||
rank = "2nd";
|
||||
break;
|
||||
case 3:
|
||||
rank = "3rd";
|
||||
break;
|
||||
default:
|
||||
rank = pack.selfStats.rank + "th";
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
embedBuilder.addField("Your stats:", rank + " with " + pack.selfStats.total + " points", false);
|
||||
embedBuilder.addField("More stats:", "https://" + MainBot.url+"/rank", false);
|
||||
return EmbedMessageUtils.buildStandar(embedBuilder);
|
||||
|
||||
}
|
||||
|
||||
public static class VoicePresenceCounter extends Thread{
|
||||
private Member member;
|
||||
public VoicePresenceCounter(Member member){
|
||||
|
Loading…
Reference in New Issue
Block a user