Profile Command
This commit is contained in:
parent
ff011a9c5e
commit
c0132ecb21
2 changed files with 26 additions and 20 deletions
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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%
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue