diff --git a/src/main/java/com/bbn/hadder/commands/misc/ProfileCommand.java b/src/main/java/com/bbn/hadder/commands/misc/ProfileCommand.java index 6a3a451..bcfa3fe 100644 --- a/src/main/java/com/bbn/hadder/commands/misc/ProfileCommand.java +++ b/src/main/java/com/bbn/hadder/commands/misc/ProfileCommand.java @@ -9,6 +9,7 @@ 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; @@ -17,41 +18,43 @@ public class ProfileCommand implements Command { @Override public void executed(String[] args, CommandEvent e) { - Member member = null; + User u = null; if (args.length == 0) { - member = e.getMember(); + u = e.getAuthor(); } 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("#")) { 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(); + u = e.getJDA().getUserByTag(args[0]); + } catch (Exception ex) { + e.getChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR, + "commands.misc.profile.error.title", + "commands.misc.profile.error.description").build()).queue(); + return; } - } else if (e.getMessage().getMentionedMembers().size() == 1) { - member = e.getMessage().getMentionedMembers().get(0); + } else if (e.getMessage().getMentionedUsers().size() == 1) { + u = e.getMessage().getMentionedUsers().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() + .addField("Username", u.getName(), true) + .addField("Tag", u.getAsTag(), true) + .addField("ID", u.getId(), true) + .addField("Account Creation Date", u.getTimeCreated() .format(DateTimeFormatter.ISO_DATE_TIME).replace("T", " ").replace("Z", ""), true) - .addField("Name on Guild", member.getEffectiveName(), true) - .addField("Guild Join Date", member.getTimeJoined() + .addField("Nickname", e.getGuild().getMember(u).getEffectiveName(), true) + .addField("Guild Join Date", e.getGuild().getMember(u).getTimeJoined() .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(); } catch (NullPointerException ex) { - // TODO: Translate and give better message - e.getChannel().sendMessage("Stop it. Just give me some valid user").queue(); + e.getChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR, + "commands.misc.profile.error.title", + "commands.misc.profile.error.description").build()).queue(); } } @@ -63,7 +66,7 @@ public class ProfileCommand implements Command { @Override public String description() { - return "Shows some information about the user."; + return "commands.misc.profile.help.description"; } @Override diff --git a/src/main/resources/Translations/Translations_en.properties b/src/main/resources/Translations/Translations_en.properties index aa667ef..d638b91 100644 --- a/src/main/resources/Translations/Translations_en.properties +++ b/src/main/resources/Translations/Translations_en.properties @@ -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.description = This message contains some information about `%extra%` 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.description = I successfully baned %extra%