use of commands.classic.WhoisCommand in project KaellyBot by Kaysoro.
the class TooMuchDiscordException method throwException.
@Override
public void throwException(Message message, Command command, Language lg, Object... arguments) {
AnkamaBug bug = null;
String gender = Translator.getLabel(lg, "exception.object." + objectKey + ".gender");
StringBuilder st = new StringBuilder(Translator.getLabel(lg, "exception.toomuch.toomuch." + gender)).append(" ").append(Translator.getLabel(lg, "exception.object." + objectKey + ".plural")).append(" ").append(Translator.getLabel(lg, "exception.toomuch.found." + gender));
if (arguments.length > 0) {
List<Object> objects = (List<Object>) arguments[0];
long similarOcc = objects.stream().collect(Collectors.groupingBy(e -> e, Collectors.counting())).values().stream().max(Long::compareTo).orElse(0L);
if (similarOcc > 1) {
if (command instanceof WhoisCommand)
bug = AnkamaBug.GHOST_CHARACTER;
else if (command instanceof GuildCommand)
bug = AnkamaBug.GHOST_GUILD;
else if (command instanceof AllianceCommand)
bug = AnkamaBug.GHOST_ALLY;
}
if (objects.size() <= ITEM_LIMIT) {
st.append(": ");
for (Object object : objects) if (isTranslatable)
st.append(Translator.getLabel(lg, object.toString())).append(", ");
else
st.append(object.toString()).append(", ");
st.delete(st.length() - 2, st.length()).append(".");
} else
st.append(". ").append(Translator.getLabel(lg, "exception.toomuch.items"));
} else {
if (st.substring(st.length() - 1, st.length()).matches("\\s+"))
st.delete(st.length() - 1, st.length());
st.append(".");
}
if (bug != null) {
final AnkamaBug BUG = bug;
message.getChannel().flatMap(channel -> channel.createEmbed(BUG.decorateEmbed(st.toString(), lg))).subscribe();
} else
message.getChannel().flatMap(channel -> channel.createMessage(st.toString())).subscribe();
}
use of commands.classic.WhoisCommand in project KaellyBot by Kaysoro.
the class NotFoundDiscordException method throwException.
@Override
public void throwException(Message message, Command command, Language lg, Object... arguments) {
AnkamaBug bug = null;
if (command instanceof WhoisCommand)
bug = AnkamaBug.CHARACTER_NOT_FOUND;
else if (command instanceof GuildCommand)
bug = AnkamaBug.GUILD_NOT_FOUND;
else if (command instanceof AllianceCommand)
bug = AnkamaBug.ALLY_NOT_FOUND;
else if (command instanceof ItemCommand)
if (message.getContent().contains("'"))
bug = AnkamaBug.ITEM_NOT_FOUND_APOSTROPHE;
else if (message.getContent().toLowerCase().contains(Translator.getLabel(lg, "equip.muldo").toLowerCase()) || message.getContent().toLowerCase().contains(Translator.getLabel(lg, "equip.volkorne").toLowerCase()))
bug = AnkamaBug.ITEM_PAGE_MULDO_VOLKORNE_NOT_FOUND;
String gender = Translator.getLabel(lg, "exception.object." + objectKey + ".gender");
String text = Translator.getLabel(lg, "exception.notfound.not." + gender) + " " + Translator.getLabel(lg, "exception.object." + objectKey + ".singular") + " " + Translator.getLabel(lg, "exception.notfound.found." + gender) + ".";
if (bug != null) {
final AnkamaBug BUG = bug;
message.getChannel().flatMap(channel -> channel.createEmbed(BUG.decorateEmbed(text, lg))).subscribe();
} else
message.getChannel().flatMap(channel -> channel.createMessage(text)).subscribe();
}
Aggregations