@EventSubscriber public void onReady(GuildUpdateEvent event) { try { if (! event.getOldGuild().getName().equals(event.getNewGuild().getName())){ Guild.getGuild(event.getNewGuild()).setName(event.getNewGuild().getName()); LOG.info("'" + event.getOldGuild().getName() + "' renommé en '" + event.getNewGuild().getName() + "'"); } } catch(Exception e){ Reporter.report(e, event.getGuild()); LOG.error("onReady", e); } } }
public void throwException(IChannel channel, Language lg, MissingPermissionsException e) { StringBuilder st = new StringBuilder(Translator.getLabel(lg, "exception.missing_permission") .replace("{channel.name}", channel.getName())); for(Permissions p : e.getMissingPermissions()) st.append(Translator.getLabel(lg, PERMISSION_PREFIX + p.name().toLowerCase())).append(", "); st.delete(st.length() - 2, st.length()).append("."); if (channel.getModifiedPermissions(ClientConfig.DISCORD().getOurUser()).contains(Permissions.SEND_MESSAGES)) Message.sendText(channel, st.toString()); else try { Message.sendText(channel.getGuild().getOwner().getOrCreatePMChannel(), st.toString()); } catch(sx.blah.discord.util.DiscordException de){ LOG.warn("throwException", "Impossible de contacter l'administrateur de la guilde [" + channel.getGuild().getName() + "]."); } } }
int ladder = 1; for(IGuild guild : guilds) st.append(ladder++).append(" : **").append(guild.getName()).append("**, ") .append(guild.getTotalMemberCount()).append(" users\n");
public synchronized static Guild getGuild(IGuild discordGuild, boolean forceCache){ Guild guild = getGuilds().get(discordGuild.getStringID()); if (guild == null && forceCache){ guild = new Guild(discordGuild.getStringID(), discordGuild.getName(), Constants.defaultLanguage); guild.addToDatabase(); } return guild; }
@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); }
@Override public void request(IMessage message, Matcher m, Language lg) { String text = m.group(2).trim(); if (m.group(1) != null) { for (IGuild guild : ClientConfig.DISCORD().getGuilds()) try { if (guild.getDefaultChannel().getModifiedPermissions(ClientConfig.DISCORD().getOurUser()) .contains(Permissions.SEND_MESSAGES)) Message.sendText(guild.getDefaultChannel(), text); else Message.sendText(guild.getOwner().getOrCreatePMChannel(), text); } catch(DiscordException e){ LOG.warn("onReady", "Impossible de contacter l'administrateur de la guilde [" + guild.getName() + "]."); } catch (Exception e2){ LOG.warn("onReady", e2); } Message.sendText(message.getChannel(), Translator.getLabel(lg, "announce.request.1") + " " + ClientConfig.DISCORD().getGuilds().size() + " " + Translator.getLabel(lg, "announce.request.2") + (ClientConfig.DISCORD().getGuilds().size() > 1?"s":"") + "." ); } else Message.sendText(message.getChannel(), text); }
public WebGuild fromGuild(IGuild g) { id = g.getStringID(); name = g.getName(); iconUrl = g.getIconURL(); botNick = g.getClient().getOurUser().getNicknameForGuild(g); settings = DatabaseManager.getManager().getSettings(g.getLongID()); //Handle lists and stuffs for (IRole r : g.getRoles()) { roles.add(new WebRole().fromRole(r, settings)); } WebChannel all = new WebChannel(); all.setId(0); all.setName("All Channels"); all.setDiscalChannel(settings.getDiscalChannel().equalsIgnoreCase("all")); channels.add(all); for (IChannel c : g.getChannels()) { channels.add(new WebChannel().fromChannel(c, settings)); } announcements.addAll(DatabaseManager.getManager().getAnnouncements(g.getLongID())); calendar = new WebCalendar().fromCalendar(DatabaseManager.getManager().getMainCalendar(Long.valueOf(id)), settings); return this; }
for(IGuild guild : ClientConfig.DISCORD().getGuilds()) if (Guild.getGuilds().containsKey(guild.getStringID()) && !guild.getName().equals(Guild.getGuild(guild).getName())) Guild.getGuild(guild).setName(guild.getName()); else ClientConfig.DISCORD().getDispatcher().dispatch(new GuildCreateEvent(guild));
try { if (!Guild.getGuilds().containsKey(event.getGuild().getStringID())) { Guild guild = new Guild(event.getGuild().getStringID(), event.getGuild().getName(), Translator.detectLanguage(event.getGuild().getDefaultChannel())); guild.addToDatabase(); .replaceAll("\\{rss\\}", new RSSCommand().getName()) .replaceAll("\\{owner\\}", event.getGuild().getOwner().mention()) .replaceAll("\\{guild\\}", event.getGuild().getName());
Guild.getGuild(message.getGuild()).setLanguage(langs.get(0)); lg = langs.get(0); Message.sendText(message.getChannel(), message.getGuild().getName() + " " + Translator.getLabel(lg, "lang.request.1") + " " + langs.get(0)); } else { String text = "**" + message.getGuild().getName() + "** " + Translator.getLabel(lg, "lang.request.3") + " " + Guild.getGuild(message.getGuild()).getLanguage() + ".";
/** * Rejette une exception dans un salon discord. Politique du "posté uniquement une fois" * @param exception Exception à rejeter * @param guild Guilde d'origine de l'erreur * @param channel Salon d'origine de l'erreur * @param user Auteur du message d'origine de l'erreur * @param message Contenu du message à l'origine de l'erreur */ public void send(Exception exception, IGuild guild, IChannel channel, IUser user, IMessage message){ try { Sentry.getContext().clearTags(); if (guild != null) Sentry.getContext().addTag(GUILD, guild.getStringID() + " - " + guild.getName()); if (channel != null) Sentry.getContext().addTag(CHANNEL, channel.getStringID() + " - " + channel.getName()); if (user != null) Sentry.getContext().addTag(USER, user.getStringID() + " - " + user.getName()); if (message != null) Sentry.getContext().addTag(MESSAGE, message.getContent()); Sentry.capture(exception); } catch(Exception e){ Sentry.capture(exception); LOG.error("report", exception); Sentry.capture(e); LOG.error("report", e); } } }