Search in sources :

Example 1 with Portal

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;
}
Also used : Language(enums.Language) Matcher(java.util.regex.Matcher) ArrayList(java.util.ArrayList) Portal(data.Portal)

Example 2 with Portal

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;
}
Also used : ArrayList(java.util.ArrayList) Portal(data.Portal)

Aggregations

Portal (data.Portal)2 ArrayList (java.util.ArrayList)2 Language (enums.Language)1 Matcher (java.util.regex.Matcher)1