use of data.Portal in project KaellyBot by Kaysoro.
the class PortalCommand method request.
@Override
public boolean request(IMessage message) {
if (super.request(message)) {
Matcher m = getMatcher(message);
Language lg = Translator.getLanguageFrom(message.getChannel());
m.find();
if (m.group(1) == null && m.group(5) == null) {
// No dimension precised
for (Portal pos : Guild.getGuild(message.getGuild()).getPortals()) Message.sendEmbed(message.getChannel(), pos.getEmbedObject(lg));
} else {
List<Portal> portals = new ArrayList<>();
if (m.group(1) != null)
portals = getPortal(m.group(1), Guild.getGuild(message.getGuild()));
if (portals.size() == 1) {
if (m.group(2) != null)
portals.get(0).setCoordonate(Position.parse("[" + m.group(3) + "," + m.group(4) + "]"), message.getAuthor().getDisplayName(message.getGuild()));
if (m.group(5) != null)
portals.get(0).setUtilisation(Integer.parseInt(m.group(5).replaceAll("\\s", "")), message.getAuthor().getDisplayName(message.getGuild()));
Message.sendEmbed(message.getChannel(), portals.get(0).getEmbedObject(lg));
} else if (portals.size() > 1)
tooMuchPortals.throwException(message, this, lg);
else
notFoundPortal.throwException(message, this, lg);
}
}
return false;
}
use of data.Portal in project KaellyBot by Kaysoro.
the class PortalCommand method getPortal.
private List<Portal> getPortal(String nameProposed, Guild guild) {
nameProposed = Normalizer.normalize(nameProposed, Normalizer.Form.NFD).replaceAll("\\p{InCombiningDiacriticalMarks}+", "").toLowerCase();
nameProposed = nameProposed.replaceAll("\\W+", "");
List<Portal> portals = new ArrayList<>();
for (Portal portal : guild.getPortals()) if (Normalizer.normalize(portal.getName(), Normalizer.Form.NFD).replaceAll("\\p{InCombiningDiacriticalMarks}+", "").toLowerCase().startsWith(nameProposed))
portals.add(portal);
return portals;
}