From d3e9bdf2dcd187dd4a44843d2999afd2b0cacb50 Mon Sep 17 00:00:00 2001 From: Hax Date: Sat, 1 Feb 2020 14:07:12 +0100 Subject: [PATCH] OK GUYS I PUSHED --- src/main/java/com/bbn/hadder/Hadder.java | 3 +- .../hadder/commands/misc/ProfileCommand.java | 80 +++++++++++++++++++ 2 files changed, 82 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/bbn/hadder/commands/misc/ProfileCommand.java diff --git a/src/main/java/com/bbn/hadder/Hadder.java b/src/main/java/com/bbn/hadder/Hadder.java index 08d0a21..8db6557 100644 --- a/src/main/java/com/bbn/hadder/Hadder.java +++ b/src/main/java/com/bbn/hadder/Hadder.java @@ -124,7 +124,8 @@ public class Hadder { new LoopCommand(), new BassCommand(), new EchoCommand(), - new ServerStatsCommand()), config, helpCommand); + new ServerStatsCommand(), + new ProfileCommand()), config, helpCommand); builder.addEventListeners( new MentionListener(rethink), diff --git a/src/main/java/com/bbn/hadder/commands/misc/ProfileCommand.java b/src/main/java/com/bbn/hadder/commands/misc/ProfileCommand.java new file mode 100644 index 0000000..784ef19 --- /dev/null +++ b/src/main/java/com/bbn/hadder/commands/misc/ProfileCommand.java @@ -0,0 +1,80 @@ +/* + * @author Hax / Hax6775 / Schlauer_Hax + */ + +package com.bbn.hadder.commands.misc; + +import com.bbn.hadder.commands.Command; +import com.bbn.hadder.commands.CommandEvent; +import com.bbn.hadder.utils.MessageEditor; +import net.dv8tion.jda.api.EmbedBuilder; +import net.dv8tion.jda.api.entities.Member; +import net.dv8tion.jda.api.entities.User; +import org.apache.commons.lang3.StringUtils; + +import java.time.format.DateTimeFormatter; + +public class ProfileCommand implements Command { + + + @Override + public void executed(String[] args, CommandEvent e) { + Member member = null; + if (args.length == 0) { + member = e.getMember(); + } else if (StringUtils.isNumeric(args[0])) { + member = e.getGuild().getMemberById(args[0]); + } else if (!StringUtils.isNumeric(args[0]) && args[0].contains("#")) { + try { + member = e.getGuild().getMemberByTag(args[0]); + } catch (IllegalArgumentException ex) { + // TODO: Translate and give better message + e.getChannel().sendMessage("Stop it. Just give me some valid user").queue(); + } + } else if (e.getMessage().getMentionedMembers().size() == 1) { + member = e.getMessage().getMentionedMembers().get(0); + } + try { + member.getUser(); + // TODO: Translate + EmbedBuilder embed = e.getMessageEditor() + .getMessage(MessageEditor.MessageType.INFO) + .setTitle("User Information") + .addField("Username", member.getUser().getName(), true) + .addField("Usertag", member.getUser().getAsTag(), true) + .addField("Userid", member.getUser().getId(), true) + .addField("Account Creation Date", member.getUser().getTimeCreated() + .format(DateTimeFormatter.ISO_DATE_TIME).replace("T", " ").replace("Z", ""), true) + .addField("Name on Guild", member.getEffectiveName(), true) + .addField("Guild Join Date", member.getTimeJoined() + .format(DateTimeFormatter.ISO_DATE_TIME).replace("T", " ").replace("Z", ""), true) + .addField("Roles", String.valueOf(member.getRoles().size()), true); + + e.getChannel().sendMessage(embed.build()).queue(); + } catch (NullPointerException ex) { + // TODO: Translate and give better message + e.getChannel().sendMessage("Stop it. Just give me some valid user").queue(); + } + + } + + @Override + public String[] labels() { + return new String[]{"profile", "user"}; + } + + @Override + public String description() { + return "Shows some information about the user."; + } + + @Override + public String usage() { + return "@User|UserID|Username"; + } + + @Override + public String example() { + return "Hax#6775"; + } +}