public GuildUpdateNameEvent(JDA api, long responseNumber, Guild guild, String oldName) { super(api, responseNumber, guild, oldName, guild.getName(), IDENTIFIER); }
@Override protected RequestBody finalizeData() { JSONObject body = new JSONObject().put("name", getGuild().getName()); if (shouldUpdate(NAME)) body.put("name", name); if (shouldUpdate(REGION)) body.put("region", region); if (shouldUpdate(AFK_TIMEOUT)) body.put("afk_timeout", afkTimeout); if (shouldUpdate(ICON)) body.put("icon", icon == null ? JSONObject.NULL : icon.getEncoding()); if (shouldUpdate(SPLASH)) body.put("splash", splash == null ? JSONObject.NULL : splash.getEncoding()); if (shouldUpdate(AFK_CHANNEL)) body.put("afk_channel_id", opt(afkChannel)); if (shouldUpdate(SYSTEM_CHANNEL)) body.put("system_channel_id", opt(systemChannel)); if (shouldUpdate(VERIFICATION_LEVEL)) body.put("verification_level", verificationLevel); if (shouldUpdate(NOTIFICATION_LEVEL)) body.put("default_message_notifications", notificationLevel); if (shouldUpdate(MFA_LEVEL)) body.put("mfa_level", mfaLevel); if (shouldUpdate(EXPLICIT_CONTENT_LEVEL)) body.put("explicit_content_filter", explicitContentLevel); reset(); //now that we've built our JSON object, reset the manager back to the non-modified state return getRequestBody(body); }
/** * Parses the given message for all the guild * placeholders using the given guild object. * * @param guild The guild object that should be used to parse the placeholders. * @param string The original string that should be parsed. * @return The parsed string after all the guild placeholders was parsed. */ public static String parseGuild(@Nonnull Guild guild, @Nonnull String string) { string = string.replaceAll("%server%", Matcher.quoteReplacement(guild.getName())); string = string.replaceAll("%servername%", Matcher.quoteReplacement(guild.getName())); string = string.replaceAll("%serverid%", guild.getId()); return string; }
private String buildServer(Guild server) { return server.getName() + " (ID: " + server.getId() + ")"; } }
@Override public JSONObject processData() { JSONObject object = new JSONObject(); JSONArray guildDataArray = new JSONArray(); Getters.getGuildCache().forEach(g -> { // Don't really want to loop massive guilds twice. int users = GeneralUtils.getGuildUserCount(g); JSONObject guildObj = new JSONObject() .put("id", g.getId()) .put("name", g.getName()) .put("region", g.getRegionRaw()) .put("size", g.getMemberCache().size()) .put("users", users) .put("bots", g.getMemberCache().size() - users); guildDataArray.put(guildObj); }); object.put("data", guildDataArray); return object; }
private String generateServer(Message message) { if (!message.getChannelType().isGuild()) { return ConsoleColor.GREEN + "PRIVATE"; } return String.format(propertyOutput, message.getGuild().getName(), message.getGuild().getId() ); }
private String generateServer(Message message) { if (!message.getChannelType().isGuild()) { return "PRIVATE"; } return String.format(propertyOutput, message.getGuild().getName(), message.getGuild().getId() ); }
private static MessageEmbed makeEmbedConfig(Guild guild, int activePage) { EmbedBuilder b = new EmbedBuilder(); List<String> keys = DefaultGuildSettings.getWritableKeys(); Collections.sort(keys); int maxPage = (int) Math.ceil((double) keys.size() / (double) CFG_PER_PAGE); activePage = Math.max(0, Math.min(maxPage - 1, activePage - 1)); int endIndex = activePage * CFG_PER_PAGE + CFG_PER_PAGE; int elements = 0; for (int i = activePage * CFG_PER_PAGE; i < keys.size() && i < endIndex; i++) { String key = keys.get(i); b.addField(key.toLowerCase(), GuildSettings.get(guild.getIdLong()).getDisplayValue(guild, key), true); elements++; } if (elements % 3 == 2) { b.addBlankField(true); } String commandPrefix = DisUtil.getCommandPrefix(guild); b.setFooter("Page " + (activePage + 1) + " / " + maxPage + " | Press the buttons for other pages", null); b.setDescription(String.format("To see more details about a setting:\n" + "`%1$scfg settingname`\n\n", commandPrefix)); b.setTitle("Current Settings for " + guild.getName() + " [" + (1 + activePage) + " / " + maxPage + "]", null); return b.build(); }
public void onGuildUpdateName(GuildUpdateNameEvent event) { try { avaire.getDatabase().newQueryBuilder(Constants.GUILD_TABLE_NAME) .useAsync(true) .where("id", event.getGuild().getId()) .update(statement -> statement.set("name", event.getGuild().getName(), true)); } catch (SQLException e) { e.printStackTrace(); } }
private void handleSendGuildLeaveWebhook(Guild guild) { AvaIre.getLogger().info(ConsoleColor.format( "%redLeft guild with an ID of " + guild.getId() + " called: " + guild.getName() + "%reset" )); if (!avaire.areWeReadyYet()) { return; } Metrics.guilds.dec(); Metrics.geoTracker.labels(guild.getRegion().getName()).dec(); TextChannel channel = avaire.getShardManager().getTextChannelById(DiscordConstants.ACTIVITY_LOG_CHANNEL_ID); if (channel == null) { return; } channel.sendMessage( new EmbedBuilder() .setColor(Color.decode("#EF5350")) .setTimestamp(Instant.now()) .addField("Removed", String.format("%s (ID: %s)", guild.getName(), guild.getId() ), false) .build() ).queue(null, RestActionUtil.ignore); }
@Override public void onCommand(User sender, GuildWrapper guild, TextChannel channel, Message message, String[] args, Member member) { if (args.length == 1 && ARGS_PATTERN.matcher(args[0]).matches()) { if (args[0].equalsIgnoreCase("here")) { guild.setMusicAnnounceChannelId(channel.getId()); channel.sendMessage(MessageUtils.getEmbed(sender) .setDescription("Set music announcements to appear in " + channel .getAsMention()).build()).queue(); } else { guild.setMusicAnnounceChannelId(null); channel.sendMessage(MessageUtils.getEmbed(sender) .setDescription(String .format("Disabled announcements for `%s`", channel.getGuild() .getName())) .build()).queue(); } } else { MessageUtils.sendUsage(this, channel, sender, args); } }
@Override public void onGuildLeave(GuildLeaveEvent event) { Guild guild = event.getGuild(); OGuild server = CGuild.findBy(guild.getId()); server.active = 0; CGuild.update(server); discordBot.clearGuildData(guild); discordBot.getContainer().guildLeft(); if (server.isBanned()) { return; } discordBot.sendStatsToDiscordPw(); discordBot.getContainer().sendStatsToDiscordlistNet(); Launcher.log("bot leaves guild", "bot", "guild-leave", "guild-id", guild.getId(), "guild-name", guild.getName()); CBotEvent.insert(":house_abandoned:", ":fire:", String.format(":id: %s | :hash: %s | %s", guild.getId(), server.id, EmojiUtils.shortCodify(guild.getName()).replace("@", "@\u200B") )); }
public static void logEG(String eg, Command command, Guild guild, User user) { EmbedBuilder builder = new EmbedBuilder().setTitle("Found `" + eg + "`") .addField("Guild", guild.getId() + " (`" + guild.getName() + "`) ", true) .addField("User", user.getAsMention() + " (`" + user.getName() + "#" + user.getDiscriminator() + "`)", true) .setTimestamp(LocalDateTime.now(Clock.systemUTC())); if (command != null) builder.addField("Command", command.getCommand(), true); Constants.getEGLogChannel().sendMessage(builder.build()).queue(); }
@Override public void execute(CommandEvent event) { if(event.getArgs().isEmpty()) { event.reply(event.getClient().getError()+" Please include a playlist name or NONE"); return; } if(event.getArgs().equalsIgnoreCase("none")) { Settings settings = event.getClient().getSettingsFor(event.getGuild()); settings.setDefaultPlaylist(null); event.reply(event.getClient().getSuccess()+" Cleared the default playlist for **"+event.getGuild().getName()+"**"); return; } String pname = event.getArgs().replaceAll("\\s+", "_"); if(bot.getPlaylistLoader().getPlaylist(pname)==null) { event.reply(event.getClient().getError()+" Could not find `"+pname+".txt`!"); } else { Settings settings = event.getClient().getSettingsFor(event.getGuild()); settings.setDefaultPlaylist(pname); event.reply(event.getClient().getSuccess()+" The default playlist for **"+event.getGuild().getName()+"** is now `"+pname+"`"); } } }
/** * Attempts to fix create the membership roles for all guilds * * @param guilds the guilds to fix the roles for */ public static void fixRoles(List<Guild> guilds) { for (Guild guild : guilds) { try { if (GuildSettings.get(guild) != null) { if (!GuildSettings.get(guild).getBoolValue(GSetting.USER_TIME_RANKS)) { continue; } if (canModifyRoles(guild, guild.getJDA().getSelfUser())) { fixForServer(guild); } } } catch (Exception e) { Launcher.logToDiscord(e, "guild", guild.getId(), "gname", guild.getName()); } } }
@Override public void onGuildLeave(GuildLeaveEvent event) { Constants.getGuildLogChannel().sendMessage(new EmbedBuilder() .setColor(new Color(244, 23, 23)) .setThumbnail(event.getGuild().getIconUrl()) .setFooter(event.getGuild().getId(), event.getGuild().getIconUrl()) .setTimestamp(OffsetDateTime.now()) .setAuthor(event.getGuild().getName(), null, event.getGuild().getIconUrl()) .setDescription("Guild Deleted: `" + event.getGuild().getName() + "` L :broken_heart:\n" + "Guild Owner: " + (event.getGuild().getOwner() != null ? event.getGuild().getOwner().getUser().getName() : "Non-existent, they had to much L")).build()).queue(); }
@Override public void run() { for (DiscordBot discordBot : bot.getShards()) { List<Guild> guilds = discordBot.getJda().getGuilds(); for (Guild guild : guilds) { GuildSettings settings = GuildSettings.get(guild); if (settings != null && settings.getBoolValue(GSetting.USER_TIME_RANKS) && RoleRankings.canModifyRoles(guild, discordBot.getJda().getSelfUser())) { try { handleGuild(discordBot, guild); } catch (Exception e) { Launcher.logToDiscord(e, "guild", guild.getId(), "name", guild.getName()); } } } } }
@Override public boolean onCommand(CommandMessage context, String[] args) { if (args.length == 0) { return sendErrorMessage(context, "You must include the ID of the server you want the bot to leave."); } try { Guild guild = avaire.getShardManager().getGuildById(args[0]); if (guild == null) { return sendErrorMessage(context, "The bot is not in any guild with an ID of `{0}`", args[0]); } String name = guild.getName(); guild.leave().queue(); context.makeSuccess("The bot has successfully left the **:name** server with an ID of :id") .set("name", name) .set("id", args[0]) .queue(); } catch (NumberFormatException e) { return sendErrorMessage(context, "Invalid format for an ID given, expecting a valid long value!"); } return true; } }
@Override public void onGuildJoin(GuildJoinEvent event) { if (event.getJDA().getStatus() == JDA.Status.CONNECTED && event.getGuild().getSelfMember().getJoinDate().plusMinutes(2).isAfter(OffsetDateTime.now())) { Constants.getGuildLogChannel().sendMessage(new EmbedBuilder() .setColor(new Color(96, 230, 144)) .setThumbnail(event.getGuild().getIconUrl()) .setFooter(event.getGuild().getId(), event.getGuild().getIconUrl()) .setAuthor(event.getGuild().getName(), null, event.getGuild().getIconUrl()) .setTimestamp(event.getGuild().getSelfMember().getJoinDate()) .setDescription("Guild Created: `" + event.getGuild().getName() + "` :smile: :heart:\n" + "Guild Owner: " + event.getGuild().getOwner().getUser().getName() + "\nGuild Members: " + event.getGuild().getMembers().size()).build()).queue(); } }