public static long getRole(String toLookFor, IMessage m) { return getRole(toLookFor, m.getGuild()); }
public static long getUser(String toLookFor, IMessage m) { return getUser(toLookFor, m.getGuild()); }
protected String getPrefixMdEscaped(IMessage message){ if (! message.getChannel().isPrivate()) return Guild.getGuild(message.getGuild()).getPrefix() .replaceAll("\\*", "\\\\*") // Italic & Bold .replaceAll("_", "\\_") // Underline .replaceAll("~", "\\~") // Strike .replaceAll("\\`", "\\\\`"); // Code return ""; }
public static boolean roleExists(String id, MessageReceivedEvent event) { for (IRole r : event.getMessage().getGuild().getRoles()) { if (id.equals(r.getStringID())) return true; } return false; }
private void playSound(IVoiceChannel voice, IMessage message, File file) { try { voice.join(); AudioPlayer.getAudioPlayerForGuild(message.getGuild()).queue(file).getMetadata() .put(file.getName(), file.toString()); } catch (IOException | UnsupportedAudioFileException e) { Reporter.report(e, message.getGuild(), message.getChannel(), message.getAuthor(), message); LOG.error("playSound", e); } }
public static IRole getRoleFromMention(String mention, MessageReceivedEvent event) { for (IRole r : event.getMessage().getGuild().getRoles()) { if (mention.equalsIgnoreCase("<@&" + r.getStringID() + ">") || mention.equalsIgnoreCase("<@&!" + r.getStringID() + ">")) return r; } return null; }
public static IRole getRoleFromID(String id, MessageReceivedEvent event) { for (IRole r : event.getMessage().getGuild().getRoles()) { if (id.equals(r.getStringID()) || id.equals(r.getName())) return r; } return null; }
public static void manageException(Exception e, IMessage message, Command command, Language lg){ Reporter.report(e, message.getGuild(), message.getChannel(), message.getAuthor(), message); LOG.error("manageException", e); BasicDiscordException.UNKNOWN_ERROR.throwException(message, command, lg); }
public static boolean hasManageServerRole(MessageReceivedEvent event) { return event.getMessage().getAuthor().getPermissionsForGuild(event.getMessage().getGuild()).contains(Permissions.MANAGE_SERVER); }
@EventSubscriber public void onMessageReceived(MessageReceivedEvent event) { IMessage message = event.getMessage(); String[] command = message.getContent().split(" ", 2); IGuild guild = message.getGuild(); if (guild != null) { if ("~play".equals(command[0]) && command.length == 2) { loadAndPlay(message.getChannel(), command[1]); } else if ("~skip".equals(command[0])) { skipTrack(message.getChannel()); } } }
@Override public void request(IMessage message, Matcher m, Language lg) { 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); } }
@Override public void request(IMessage message, Matcher m, Language lg) { if (isUserHasEnoughRights(message)) { String newPrefix = m.group(1).trim(); if (newPrefix.length() >= 1 && newPrefix.length() <= Constants.prefixeLimit) { Guild.getGuild(message.getGuild()).setPrefix(newPrefix); Message.sendText(message.getChannel(), Translator.getLabel(lg, "prefix.request.1") .replace("{prefix}", getPrefixMdEscaped(message))); try { Message.sendText(message.getGuild().getOwner().getOrCreatePMChannel(), Translator.getLabel(lg, "prefix.request.2") .replace("{prefix}", getPrefixMdEscaped(message)) .replace("{guild.name}", message.getGuild().getName())); } catch (DiscordException e){ LOG.warn("request", "Impossible de contacter l'administrateur de la guilde [" + message.getGuild().getName() + "]."); } } else prefixeOutOfBounds.throwException(message, this, lg); } else BasicDiscordException.NO_ENOUGH_RIGHTS.throwException(message, this, lg); }
public static boolean botHasMessageManagePerms(MessageReceivedEvent event) { return event.getGuild().getClient().getOurUser().getPermissionsForGuild(event.getMessage().getGuild()).contains(Permissions.MANAGE_MESSAGES); } }
public static String getPrefix(IMessage message){ String prefix = ""; if (! message.getChannel().isPrivate()) prefix = Guild.getGuild(message.getGuild()).getPrefix(); return prefix; }
/** * @param message message d'origine * @return true si les permissions sont suffisantes, false le cas échéant */ protected boolean isChannelHasExternalEmojisPermission(IMessage message){ return message.getChannel().isPrivate() || message.getChannel().getModifiedPermissions(ClientConfig.DISCORD().getOurUser()) .contains(Permissions.USE_EXTERNAL_EMOJIS) && ClientConfig.DISCORD().getOurUser().getPermissionsForGuild(message.getGuild()) .contains(Permissions.USE_EXTERNAL_EMOJIS); }
@Override public void request(IMessage message, Matcher m, Language lg) { String oldSize = FileUtils.byteCountToDisplaySize(FileUtils.sizeOf(new File(Constants.database))); Connexion connexion = Connexion.getInstance(); Connection connection = connexion.getConnection(); try { PreparedStatement preparedStatement = connection.prepareStatement("VACUUM;"); preparedStatement.executeUpdate(); String newSize = FileUtils.byteCountToDisplaySize(FileUtils.sizeOf(new File(Constants.database))); Message.sendText(message.getChannel(), "OK : " + oldSize + " -> " + newSize); } catch (SQLException e) { Reporter.report(e, message.getGuild(), message.getChannel(), message.getAuthor(), message); BasicDiscordException.UNKNOWN_ERROR.throwException(message, this, lg); LOG.error("request", e); } }
/** * Retourne true si l'utilisateur a les droits nécessaires, false le cas échéant * @param message Message reçu * @return true si l'utilisateur a les droits nécessaires, false le cas échéant */ protected boolean isUserHasEnoughRights(IMessage message){ return ! message.getChannel().isPrivate() && (message.getAuthor().getLongID() == Constants.authorId || message.getAuthor().getPermissionsForGuild(message.getGuild()).contains(Permissions.MANAGE_SERVER) || message.getChannel().getModifiedPermissions(message.getAuthor()).contains(Permissions.MANAGE_SERVER)); }
@Override public void request(IMessage message, Matcher m, Language lg) { if (isUserHasEnoughRights(message)) { if (m.group(1).matches("\\s+true") || m.group(1).matches("\\s+0") || m.group(1).matches("\\s+on")) if (!AlmanaxCalendar.getAlmanaxCalendars().containsKey(message.getChannel().getStringID())) { new AlmanaxCalendar(message.getGuild().getStringID(), message.getChannel().getStringID()).addToDatabase(); Message.sendText(message.getChannel(), Translator.getLabel(lg, "almanax-auto.request.1")); } else Message.sendText(message.getChannel(), Translator.getLabel(lg, "almanax-auto.request.2")); else if (m.group(1).matches("\\s+false") || m.group(1).matches("\\s+1") || m.group(1).matches("\\s+off")) if (AlmanaxCalendar.getAlmanaxCalendars().containsKey(message.getChannel().getStringID())) { AlmanaxCalendar.getAlmanaxCalendars().get(message.getChannel().getStringID()).removeToDatabase(); Message.sendText(message.getChannel(), Translator.getLabel(lg, "almanax-auto.request.3")); } else Message.sendText(message.getChannel(), Translator.getLabel(lg, "almanax-auto.request.4")); } else BasicDiscordException.NO_ENOUGH_RIGHTS.throwException(message, this, lg); }
@Override public void request(IMessage message, Matcher m, Language lg) { //On check si la personne a bien les droits pour exécuter cette commande if (isUserHasEnoughRights(message)) { String value = m.group(1); if (value.matches("\\s+true") || value.matches("\\s+0") || value.matches("\\s+on")){ if (!Guild.getGuild(message.getGuild()).getPortalTrackers().containsKey(message.getChannel().getStringID())) { new PortalTracker(message.getGuild().getStringID(), message.getChannel().getStringID()).addToDatabase(); Message.sendText(message.getChannel(), Translator.getLabel(lg, "portal-auto.request.1")); } else Message.sendText(message.getChannel(), Translator.getLabel(lg, "portal-auto.request.2")); } else if (value.matches("\\s+false") || value.matches("\\s+1") || value.matches("\\s+off")) if (Guild.getGuild(message.getGuild()).getPortalTrackers().containsKey(message.getChannel().getStringID())){ Guild.getGuild(message.getGuild()).getPortalTrackers().get(message.getChannel().getStringID()).removeToDatabase(); Message.sendText(message.getChannel(), Translator.getLabel(lg, "portal-auto.request.3")); } else Message.sendText(message.getChannel(), Translator.getLabel(lg, "portal-auto.request.4")); else badUse.throwException(message, this, lg); } else BasicDiscordException.NO_ENOUGH_RIGHTS.throwException(message, this, lg); }
@Override public void request(IMessage message, Matcher m, Language lg) { //On check si la personne a bien les droits pour exécuter cette commande if (isUserHasEnoughRights(message)) { String value = m.group(1); if (value.matches("\\s+true") || value.matches("\\s+0") || value.matches("\\s+on")){ if (!RSSFinder.getRSSFinders().containsKey(message.getChannel().getStringID())) { new RSSFinder(message.getGuild().getStringID(), message.getChannel().getStringID()).addToDatabase(); Message.sendText(message.getChannel(), Translator.getLabel(lg, "rss.request.1") .replace("{game.url}", Translator.getLabel(lg, "game.url"))); } else rssFound.throwException(message, this, lg); } else if (value.matches("\\s+false") || value.matches("\\s+1") || value.matches("\\s+off")) if (RSSFinder.getRSSFinders().containsKey(message.getChannel().getStringID())){ RSSFinder.getRSSFinders().get(message.getChannel().getStringID()).removeToDatabase(); Message.sendText(message.getChannel(), Translator.getLabel(lg, "rss.request.2") .replace("{game.url}", Translator.getLabel(lg, "game.url"))); } else rssNotFound.throwException(message, this, lg); else badUse.throwException(message, this, lg); } else BasicDiscordException.NO_ENOUGH_RIGHTS.throwException(message, this, lg); }