Profile Command

This commit is contained in:
GregTCLTK 2020-02-02 15:46:00 +01:00
parent ff011a9c5e
commit c0132ecb21
No known key found for this signature in database
GPG key ID: A91BADE5C070FF67
2 changed files with 26 additions and 20 deletions

View file

@ -9,6 +9,7 @@ import com.bbn.hadder.commands.CommandEvent;
import com.bbn.hadder.utils.MessageEditor; import com.bbn.hadder.utils.MessageEditor;
import net.dv8tion.jda.api.EmbedBuilder; import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.entities.Member; import net.dv8tion.jda.api.entities.Member;
import net.dv8tion.jda.api.entities.User;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
@ -17,41 +18,43 @@ public class ProfileCommand implements Command {
@Override @Override
public void executed(String[] args, CommandEvent e) { public void executed(String[] args, CommandEvent e) {
Member member = null; User u = null;
if (args.length == 0) { if (args.length == 0) {
member = e.getMember(); u = e.getAuthor();
} else if (StringUtils.isNumeric(args[0]) && args[0].length() == 18) { } else if (StringUtils.isNumeric(args[0]) && args[0].length() == 18) {
member = e.getGuild().getMemberById(args[0]); u = e.getJDA().getUserById(args[0]);
} else if (!StringUtils.isNumeric(args[0]) && args[0].contains("#")) { } else if (!StringUtils.isNumeric(args[0]) && args[0].contains("#")) {
try { try {
member = e.getGuild().getMemberByTag(args[0]); u = e.getJDA().getUserByTag(args[0]);
} catch (IllegalArgumentException ex) { } catch (Exception ex) {
// TODO: Translate and give better message e.getChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
e.getChannel().sendMessage("Stop it. Just give me some valid user").queue(); "commands.misc.profile.error.title",
"commands.misc.profile.error.description").build()).queue();
return;
} }
} else if (e.getMessage().getMentionedMembers().size() == 1) { } else if (e.getMessage().getMentionedUsers().size() == 1) {
member = e.getMessage().getMentionedMembers().get(0); u = e.getMessage().getMentionedUsers().get(0);
} }
try { try {
member.getUser();
// TODO: Translate // TODO: Translate
EmbedBuilder embed = e.getMessageEditor() EmbedBuilder embed = e.getMessageEditor()
.getMessage(MessageEditor.MessageType.INFO) .getMessage(MessageEditor.MessageType.INFO)
.setTitle("User Information") .setTitle("User Information")
.addField("Username", member.getUser().getName(), true) .addField("Username", u.getName(), true)
.addField("Usertag", member.getUser().getAsTag(), true) .addField("Tag", u.getAsTag(), true)
.addField("Userid", member.getUser().getId(), true) .addField("ID", u.getId(), true)
.addField("Account Creation Date", member.getUser().getTimeCreated() .addField("Account Creation Date", u.getTimeCreated()
.format(DateTimeFormatter.ISO_DATE_TIME).replace("T", " ").replace("Z", ""), true) .format(DateTimeFormatter.ISO_DATE_TIME).replace("T", " ").replace("Z", ""), true)
.addField("Name on Guild", member.getEffectiveName(), true) .addField("Nickname", e.getGuild().getMember(u).getEffectiveName(), true)
.addField("Guild Join Date", member.getTimeJoined() .addField("Guild Join Date", e.getGuild().getMember(u).getTimeJoined()
.format(DateTimeFormatter.ISO_DATE_TIME).replace("T", " ").replace("Z", ""), true) .format(DateTimeFormatter.ISO_DATE_TIME).replace("T", " ").replace("Z", ""), true)
.addField("Roles", String.valueOf(member.getRoles().size()), true); .addField("Roles", String.valueOf(e.getGuild().getMember(u).getRoles().size()), true);
e.getChannel().sendMessage(embed.build()).queue(); e.getChannel().sendMessage(embed.build()).queue();
} catch (NullPointerException ex) { } catch (NullPointerException ex) {
// TODO: Translate and give better message e.getChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
e.getChannel().sendMessage("Stop it. Just give me some valid user").queue(); "commands.misc.profile.error.title",
"commands.misc.profile.error.description").build()).queue();
} }
} }
@ -63,7 +66,7 @@ public class ProfileCommand implements Command {
@Override @Override
public String description() { public String description() {
return "Shows some information about the user."; return "commands.misc.profile.help.description";
} }
@Override @Override

View file

@ -90,6 +90,9 @@ commands.misc.screenshare.help.description = Shows you the link to share your sc
commands.misc.serverstats.title = Serverstats commands.misc.serverstats.title = Serverstats
commands.misc.serverstats.description = This message contains some information about `%extra%` commands.misc.serverstats.description = This message contains some information about `%extra%`
commands.misc.serverstats.help.description = Shows information about a server. commands.misc.serverstats.help.description = Shows information about a server.
commands.misc.profile.error.title = Not found
commands.misc.profile.error.description = I can't find the specified user.
commands.misc.profile.help.description = Shows some information about the specified user.
commands.moderation.ban.success.title = Successfully banned commands.moderation.ban.success.title = Successfully banned
commands.moderation.ban.success.description = I successfully baned %extra% commands.moderation.ban.success.description = I successfully baned %extra%