private long getUsersInGuild(Guild guild) { return guild.getMembers().stream().filter(member -> !member.getUser().isBot()).count(); }
/** * Attempts to find a user in a channel, first look for account name then for nickname * * @param channel the channel to look in * @param searchText the name to look for * @return IUser | null */ public static Member findUserIn(TextChannel channel, String searchText) { List<Member> users = channel.getGuild().getMembers(); List<Member> potential = new ArrayList<>(); int smallestDiffIndex = 0, smallestDiff = -1; for (Member u : users) { String nick = u.getEffectiveName(); if (nick.equalsIgnoreCase(searchText)) { return u; } if (nick.toLowerCase().contains(searchText)) { potential.add(u); int d = Math.abs(nick.length() - searchText.length()); if (d < smallestDiff || smallestDiff == -1) { smallestDiff = d; smallestDiffIndex = potential.size() - 1; } } } if (!potential.isEmpty()) { return potential.get(smallestDiffIndex); } return null; }
/** * Gets a user count for a guild not including bots * * @param guild The guild to get the user count for * @return The amount of non-bot users in a guild */ public static int getGuildUserCount(Guild guild) { int i = 0; for (Member member : guild.getMembers()) { if (!member.getUser().isBot()) { i++; } } return i; }
/** * Gets the number of users that the {@link Guild} has. Not including bots. * * @param guild The {@link Guild} to get the user count from * @return An int of the number of users */ public static int getGuildUserCount(Guild guild) { int i = 0; for (Member member : guild.getMembers()) { if (!member.getUser().isBot()) { i++; } } return i; }
private void handleGuild(DiscordBot bot, Guild guild) { RoleRankings.fixForServer(guild); guild.getMembers().stream().filter(user -> !user.getUser().isBot()).forEach(user -> RoleRankings.assignUserRole(bot, guild, user.getUser())); }
@Override public void onUserUpdateOnlineStatus(UserUpdateOnlineStatusEvent event) { String shard = Integer.toString(event.getJDA().getShardInfo().getShardId()); int memberCount = event.getJDA().getGuildCache().stream().flatMap(g -> g.getMembers().stream()).collect(Collectors.toList()).size(); members.labels(shard).set(memberCount); }
} else { try { return guild.getMembers().stream() .map(Member::getUser) .filter(user -> (user.getName() + "#" + user.getDiscriminator()).equalsIgnoreCase(s)) .findFirst().orElse(null); } else { tmp = guild.getMembers().stream() .map(Member::getUser) .filter(user -> user.getName().equalsIgnoreCase(s))
long userCount = guildById.getMembers() .stream().filter(member -> member.getUser().isBot()).count(); counter.put("members", guildById.getMembers().size()); counter.put("users", guildById.getMembers().size() - userCount); counter.put("bots", userCount); guild.put("counter", counter);
@Override public void onIntent(CommandMessage context, AIResponse response) { if (!context.getMessage().getChannelType().isGuild()) { context.makeWarning("Right now it's just me and you online ;)").queue(); return; } int online = 0; for (Member member : context.getGuild().getMembers()) { if (!member.getOnlineStatus().equals(OnlineStatus.OFFLINE)) { online++; } } context.makeInfo("There are **:online** people online out of **:total** people on the server.") .set("online", online) .set("total", context.getGuild().getMembers().size()) .queue(); } }
int guildUsers = guild.getMembers().size(); body.add(Arrays.asList(guild.getId(), guild.getName(), "" + guildUsers, "" + guildUsersInVoice)); totUsersInVoice += guildUsersInVoice;
private boolean allowedPatronAccess(Guild guild, Role role) { Config config = this.bot.getConfigs().config; Guild dabbotGuild = guild.getJDA().asBot().getShardManager().getGuildById(config.discordServer); for (Member member : guild.getMembers()) { if (config.owners.contains(member.getUser().getId())) { return true; } if (!member.isOwner() && !member.hasPermission(Permission.ADMINISTRATOR)) { continue; } Member dabbotMember = dabbotGuild.getMember(member.getUser()); if (dabbotMember == null) { continue; } if (dabbotMember.getRoles().contains(role)) { return true; } } return false; }
private String mutateRole(TextChannel channel, String user, String role, boolean adding) { Role r = DisUtil.findRole(channel.getGuild(), role); success = true; if (r == null) { return "can't find a role matching **" + role + "**"; } if ("everyone".equalsIgnoreCase(user)) { for (Member member : channel.getGuild().getMembers()) { _mutateRole(r, member, adding); } if (adding) { return "(trying) to give everyone " + r.getName(); } return "(trying) to remove *" + r.getName() + "* from everyone "; } User u = DisUtil.findUser(channel, user); if (u == null) { return "cant find user matching " + user; } _mutateRole(r, channel.getGuild().getMember(u), adding); if (success) { if (adding) { return String.format("adding %s to %s", r.getName(), u.getName()); } return String.format("removing %s from %s", r.getName(), u.getName()); } return String.format("I can't edit the %s role, you need to make sure my highest role is above this one for it to work", r.getName()); }
); ImmutableSet<OnlineStatus> onlineStatus = Sets.immutableEnumSet(OnlineStatus.ONLINE, OnlineStatus.IDLE, OnlineStatus.DO_NOT_DISTURB); long online = guild.getMembers().stream().filter(member -> onlineStatus.contains(member.getOnlineStatus())).count(); b.setColor(GfxUtil.getAverageColor(guild.getIconUrl())); b.addField("Members", String.format("%s online\n%s in total", online, guild.getMembers().size()), true); b.addField("Channels", String.format("%s text channels\n%s voice channels", guild.getTextChannels().size(), guild.getVoiceChannels().size()), true); b.addField("Created by", String.format("%s\\#%s", guild.getOwner().getUser().getName(), guild.getOwner().getUser().getDiscriminator()), true);
double guildMembers = event.getGuild().getMembers().stream().filter(member -> !member.getUser().isBot()).count(); double guildBots = event.getGuild().getMembers().stream().filter(member -> member.getUser().isBot()).count(); double percentage = (guildBots / (guildBots + guildMembers)) * 100;
eb.setThumbnail(guild.getIconUrl()); eb.addField("Users", "**Total:** " + guild.getMembers().size() + "\n" + "\n" + "**Online:** " + guild.getMembers().stream().filter(member -> !member.getOnlineStatus().equals(OnlineStatus.OFFLINE)).count() + "\n" + "\n" + "**Owner:** " +
for (Member member : guild.getMembers()) { if (member.getJoinDate().toEpochSecond() > thirtyMinutesAgo) { if (!RoleUtil.hasRole(member, autorole)) {
private void fix(GuildWrapper guild, User sender, TextChannel channel) { int rolesAdded = 0; for (Member member1 : guild.getGuild().getMembers()) { if (member1.getRoles().size() > 0) continue; Iterator<String> iterator = guild.getAutoAssignRoles().iterator();
/** * Try and figure out what type of guild it is * * @param guild the guild to check * @return what category the guild is labeled as */ public GuildCheckResult checkGuild(Guild guild) { int bots = 0; int users = 0; if (MiscUtil.getCreationTime(guild.getOwner().getUser()).isBefore(OffsetDateTime.now().minusDays(BotConfig.GUILD_OWNER_MIN_ACCOUNT_AGE))) { return GuildCheckResult.OWNER_TOO_NEW; } for (Member user : guild.getMembers()) { if (user.getUser().isBot()) { bots++; } users++; } if ((double) bots / users > BotConfig.GUILD_MAX_USER_BOT_RATIO) { return GuildCheckResult.BOT_GUILD; } if (users < BotConfig.GUILD_MIN_USERS) { return GuildCheckResult.TEST_GUILD; } return GuildCheckResult.OKE; }
@Override public boolean onCommand(CommandMessage context, String[] args) { Guild guild = context.getGuild(); Carbon time = Carbon.createFromOffsetDateTime(guild.getCreationTime()); PlaceholderMessage placeholderMessage = context.makeEmbeddedMessage(getRoleColor(guild.getSelfMember().getRoles()), new MessageEmbed.Field(context.i18n("fields.id"), guild.getId(), true), new MessageEmbed.Field(context.i18n("fields.owner"), guild.getOwner().getUser().getName() + "#" + guild.getOwner().getUser().getDiscriminator(), true), new MessageEmbed.Field(context.i18n("fields.textChannels"), NumberUtil.formatNicely(guild.getTextChannels().size()), true), new MessageEmbed.Field(context.i18n("fields.voiceChannels"), NumberUtil.formatNicely(guild.getVoiceChannels().size()), true), new MessageEmbed.Field(context.i18n("fields.members"), NumberUtil.formatNicely(guild.getMembers().size()), true), new MessageEmbed.Field(context.i18n("fields.roles"), NumberUtil.formatNicely(guild.getRoles().size()), true), new MessageEmbed.Field(context.i18n("fields.region"), guild.getRegion().getName(), true), new MessageEmbed.Field(context.i18n("fields.createdAt"), time.format(context.i18n("timeFormat")) + "\n*About " + shortenDiffForHumans(time) + "*", true) ).setTitle(guild.getName()).setThumbnail(guild.getIconUrl()); if (!guild.getEmotes().isEmpty()) { boolean hasMany = guild.getEmotes().size() > 17; placeholderMessage.addField(new MessageEmbed.Field( context.i18n("fields.emojis", guild.getEmotes().size()), guild.getEmotes().stream() .map(emote -> emote.getName() + (hasMany ? "" : " " + emote.getAsMention())) .collect(Collectors.joining(", ")), true )); } placeholderMessage.requestedBy(context.getMember()).queue(); 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(); } }