diff --git a/lists/copypastas.txt b/lists/copypastas.txt index 5842b63..87e4727 100644 --- a/lists/copypastas.txt +++ b/lists/copypastas.txt @@ -3,13 +3,14 @@ // False Discord PSA False PSA || out for a Discord && going around && those who accept && send this to as many && if you see this -Fake Discord shutdown || closing down && active discord members && please send && who do not send && deleted without hesitation +Fake Discord shutdown || closing down && active discord members && please send && deleted without hesitation // Share or else -Cooldog || ╰━▅╮ && ╰╮ ┳━━╯ && ╰┳╯ +Cooldog || ╰━▅╮ && ╰╮ && ┳━━╯ && ╰┳╯ Dog || ╰┳┳┳╯ && ▔╰━╯ && ╱╲╱╲▏ Memecat || Λ_Λ && ( 'ㅅ' ) && > ⌒ヽ "Read or you die" || Carry on reading && Once there was && Now every week && send this to && break this chain +Jake Paul || Jake Paul on a tower about to jump && copy and paste && discord server // Unicode Bob || /▌ && /\ && This is bob @@ -17,4 +18,5 @@ // Text Navy Seals || say about me && I’ll have you know I && I am trained && Think again && Not only am I extensively trained && kiddo -Rick & Morty || have to have a very high IQ && extremely && solid grasp && deftly woven && heavily && intellectual capacity && cryptic reference \ No newline at end of file +Rick & Morty || have to have a very high IQ && extremely && solid grasp && deftly woven && heavily && intellectual capacity && cryptic reference +Shrek || years old && is love && is life && spread && push against && straight in the \ No newline at end of file diff --git a/lists/referral_domains.txt b/lists/referral_domains.txt index 75a7d39..625b6fb 100644 --- a/lists/referral_domains.txt +++ b/lists/referral_domains.txt @@ -44,8 +44,10 @@ // Referral Sites wn.nr +featu.re // Scams +rbxfree.com fortnitevb.com fortnite-special.com fortnite-vbucks.net diff --git a/lists/safe_domains.txt b/lists/safe_domains.txt index deddb5e..6fd6d0b 100644 --- a/lists/safe_domains.txt +++ b/lists/safe_domains.txt @@ -47,6 +47,8 @@ trello.com npmjs.com stackoverflow.com +codeacademy.com +unicode.org // Social Media twitter.com @@ -73,6 +75,8 @@ humblebundle.com nintendo.com roblox.com +capcom-unity.com +honeyhunterworld.com // Misc google.com @@ -90,4 +94,5 @@ jagrosh.com mhgh.info giveawaybot.party -discord.pw \ No newline at end of file +discord.pw +kiranico.com \ No newline at end of file diff --git a/pom.xml b/pom.xml index dbc0911..f278eb1 100644 --- a/pom.xml +++ b/pom.xml @@ -24,7 +24,7 @@ net.dv8tion JDA - 3.6.0_358 + 3.6.0_359 com.jagrosh diff --git a/src/main/java/com/jagrosh/vortex/Listener.java b/src/main/java/com/jagrosh/vortex/Listener.java index e48cf63..ba3f5c6 100644 --- a/src/main/java/com/jagrosh/vortex/Listener.java +++ b/src/main/java/com/jagrosh/vortex/Listener.java @@ -33,8 +33,6 @@ import net.dv8tion.jda.core.events.message.guild.GuildMessageDeleteEvent; import net.dv8tion.jda.core.events.message.guild.GuildMessageReceivedEvent; import net.dv8tion.jda.core.events.message.guild.GuildMessageUpdateEvent; -import net.dv8tion.jda.core.events.user.UserAvatarUpdateEvent; -import net.dv8tion.jda.core.events.user.UserNameUpdateEvent; import net.dv8tion.jda.core.events.user.update.UserUpdateAvatarEvent; import net.dv8tion.jda.core.events.user.update.UserUpdateDiscriminatorEvent; import net.dv8tion.jda.core.events.user.update.UserUpdateNameEvent; diff --git a/src/main/java/com/jagrosh/vortex/Vortex.java b/src/main/java/com/jagrosh/vortex/Vortex.java index 3509069..7e2e2e8 100644 --- a/src/main/java/com/jagrosh/vortex/Vortex.java +++ b/src/main/java/com/jagrosh/vortex/Vortex.java @@ -174,7 +174,7 @@ event.getMessage().addReaction(Constants.HELP_REACTION).queue(s->{}, f->{}); } catch(PermissionException ex) {} }, t -> event.replyWarning("Help cannot be sent because you are blocking Direct Messages."))) - //.setDiscordBotsKey(tokens.get(1)) + .setDiscordBotsKey(tokens.get(1)) //.setCarbonitexKey(tokens.get(2)) //.setDiscordBotListKey(tokens.get(3)) .build(); @@ -191,6 +191,7 @@ modlog.start(); threadpool.scheduleWithFixedDelay(() -> cleanPremium(), 0, 2, TimeUnit.HOURS); + threadpool.scheduleWithFixedDelay(() -> leavePointlessGuilds(), 5, 30, TimeUnit.MINUTES); } public EventWaiter getEventWaiter() @@ -257,6 +258,25 @@ }); } + public void leavePointlessGuilds() + { + shards.getGuilds().stream().filter(g -> + { + if(!g.isAvailable()) + return false; + int botcount = (int)g.getMembers().stream().filter(m -> m.getUser().isBot()).count(); + if(g.getMembers().size()-botcount<3 || (botcount>20 && ((double)botcount/g.getMembers().size())>0.65)) + { + if(database.settings.hasSettings(g)) + return false; + if(database.automod.hasSettings(g)) + return false; + return true; + } + return false; + }).forEach(g -> g.leave().queue()); + } + /** * @param args the command line arguments * @throws java.lang.Exception diff --git a/src/main/java/com/jagrosh/vortex/commands/owner/EvalCmd.java b/src/main/java/com/jagrosh/vortex/commands/owner/EvalCmd.java index fb5302f..6462bfd 100644 --- a/src/main/java/com/jagrosh/vortex/commands/owner/EvalCmd.java +++ b/src/main/java/com/jagrosh/vortex/commands/owner/EvalCmd.java @@ -42,15 +42,16 @@ @Override protected void execute(CommandEvent event) { - ScriptEngine se = new ScriptEngineManager().getEngineByName("Nashorn"); - se.put("bot", vortex); - se.put("event", event); - se.put("jda", event.getJDA()); - se.put("guild", event.getGuild()); - se.put("channel", event.getChannel()); - String args = event.getArgs().replaceAll("([^(]+?)\\s*->", "function($1)"); + event.getChannel().sendTyping().queue(); event.async(() -> { + ScriptEngine se = new ScriptEngineManager().getEngineByName("Nashorn"); + se.put("bot", vortex); + se.put("event", event); + se.put("jda", event.getJDA()); + se.put("guild", event.getGuild()); + se.put("channel", event.getChannel()); + String args = event.getArgs().replaceAll("([^(]+?)\\s*->", "function($1)"); try { event.replySuccess("Evaluated Successfully:\n```\n"+se.eval(args)+" ```"); diff --git a/src/main/java/com/jagrosh/vortex/commands/settings/PunishmentCmd.java b/src/main/java/com/jagrosh/vortex/commands/settings/PunishmentCmd.java index 37b245f..e204a3a 100644 --- a/src/main/java/com/jagrosh/vortex/commands/settings/PunishmentCmd.java +++ b/src/main/java/com/jagrosh/vortex/commands/settings/PunishmentCmd.java @@ -20,6 +20,7 @@ import com.jagrosh.vortex.Action; import com.jagrosh.vortex.Constants; import com.jagrosh.vortex.Vortex; +import com.jagrosh.vortex.commands.CommandExceptionListener; import com.jagrosh.vortex.database.managers.PunishmentManager; import com.jagrosh.vortex.utils.FormatUtil; import com.jagrosh.vortex.utils.OtherUtil; @@ -58,10 +59,9 @@ { String[] parts = event.getArgs().split("\\s+", 3); if(parts.length<2) - { - event.replyError("Please include a number of strikes and an action to perform!"+SETTING_STRIKES); - return; - } + throw new CommandExceptionListener.CommandErrorException("Please include a number of strikes and an action to perform!"+SETTING_STRIKES); + if(vortex.getDatabase().actions.getAllPunishments(event.getGuild()).size()>=PunishmentManager.MAX_SET) + throw new CommandExceptionListener.CommandErrorException("This server already has "+PunishmentManager.MAX_SET+" punishments set up; please remove some before adding more."); int numstrikes; try { diff --git a/src/main/java/com/jagrosh/vortex/commands/tools/AuditCmd.java b/src/main/java/com/jagrosh/vortex/commands/tools/AuditCmd.java index cb17f95..d166528 100644 --- a/src/main/java/com/jagrosh/vortex/commands/tools/AuditCmd.java +++ b/src/main/java/com/jagrosh/vortex/commands/tools/AuditCmd.java @@ -137,7 +137,8 @@ case MEMBER: User u = event.getJDA().getUserById(ale.getTargetIdLong()); sb.append("\n").append(linestart).append("Member: ") - .append(u==null ? unknown : FormatUtil.formatFullUser(u)); + .append(u==null ? unknown : FormatUtil.formatUser(u)) + .append(" (ID:").append(ale.getTargetId()).append(")"); break; case ROLE: Role r = event.getGuild().getRoleById(ale.getTargetIdLong()); diff --git a/src/main/java/com/jagrosh/vortex/commands/tools/LookupCmd.java b/src/main/java/com/jagrosh/vortex/commands/tools/LookupCmd.java index 0834b93..9eb5b92 100644 --- a/src/main/java/com/jagrosh/vortex/commands/tools/LookupCmd.java +++ b/src/main/java/com/jagrosh/vortex/commands/tools/LookupCmd.java @@ -122,7 +122,6 @@ event.reply(new MessageBuilder().append(text).setEmbed(eb.build()).build()); return; } - } catch(NumberFormatException ex) { @@ -163,7 +162,7 @@ eb.setDescription(str); str = linestart+"ID: **"+inv.getGuild().getId()+"**\n" +linestart+"Creation: **"+inv.getGuild().getCreationTime().format(DateTimeFormatter.RFC_1123_DATE_TIME)+"**\n"; - if(widget!=null) + if(widget!=null && widget.isAvailable()) str += linestart+"Channels: **"+widget.getVoiceChannels().size()+"** Voice\n" +linestart+"Users: **"+widget.getMembers().size()+"** online"; if(inv.getGuild().getSplashId()!=null) diff --git a/src/main/java/com/jagrosh/vortex/database/managers/GuildSettingsDataManager.java b/src/main/java/com/jagrosh/vortex/database/managers/GuildSettingsDataManager.java index b8a6868..6fadf9b 100644 --- a/src/main/java/com/jagrosh/vortex/database/managers/GuildSettingsDataManager.java +++ b/src/main/java/com/jagrosh/vortex/database/managers/GuildSettingsDataManager.java @@ -340,7 +340,7 @@ this.voicelog = 0; this.avatarlog = 0; this.prefix = null; - this.timezone = ZoneId.systemDefault(); + this.timezone = DEFAULT_TIMEZONE; this.raidMode = -2; } diff --git a/src/main/java/com/jagrosh/vortex/database/managers/PunishmentManager.java b/src/main/java/com/jagrosh/vortex/database/managers/PunishmentManager.java index f2c758e..5548697 100644 --- a/src/main/java/com/jagrosh/vortex/database/managers/PunishmentManager.java +++ b/src/main/java/com/jagrosh/vortex/database/managers/PunishmentManager.java @@ -38,6 +38,7 @@ public class PunishmentManager extends DataManager { public static final int MAX_STRIKES = 100; + public static final int MAX_SET = 20; private static final String STRIKES_TITLE = Action.STRIKE.getEmoji()+" Punishments"; diff --git a/src/main/java/com/jagrosh/vortex/utils/FormatUtil.java b/src/main/java/com/jagrosh/vortex/utils/FormatUtil.java index 43dd1ec..8d65599 100644 --- a/src/main/java/com/jagrosh/vortex/utils/FormatUtil.java +++ b/src/main/java/com/jagrosh/vortex/utils/FormatUtil.java @@ -261,15 +261,15 @@ if(commandsInCategory.isEmpty()) { - builder.addField(CMD_EMOJI+" General Commands", "[`"+Constants.PREFIX+"help general`]("+Constants.Wiki.COMMANDS+"#-general-commands)\n\u200B", false); + builder.addField(CMD_EMOJI+" General Commands", "[**"+Constants.PREFIX+"help general**]("+Constants.Wiki.COMMANDS+"#-general-commands)\n\u200B", false); event.getClient().getCommands().stream().filter(cmd -> cmd.getCategory()!=null).map(cmd -> cmd.getCategory().getName()).distinct() - .forEach(cat -> builder.addField(CMD_EMOJI+" "+cat+" Commands", "[`"+Constants.PREFIX+"help "+cat.toLowerCase()+"`](" + .forEach(cat -> builder.addField(CMD_EMOJI+" "+cat+" Commands", "[**"+Constants.PREFIX+"help "+cat.toLowerCase()+"**](" +Constants.Wiki.COMMANDS+"#-"+cat.toLowerCase()+"-commands)\n\u200B", false)); } else { commandsInCategory.forEach(cmd -> builder.addField(Constants.PREFIX+cmd.getName()+(cmd.getArguments()==null ? "" : " "+cmd.getArguments()), - "["+cmd.getHelp()+"]("+Constants.Wiki.COMMANDS+"#-"+(cmd.getCategory()==null?"general":cmd.getCategory().getName().toLowerCase())+"-commands)\n\u200B", false)); + "[**"+cmd.getHelp()+"**]("+Constants.Wiki.COMMANDS+"#-"+(cmd.getCategory()==null?"general":cmd.getCategory().getName().toLowerCase())+"-commands)\n\u200B", false)); } builder.addField("Additional Help", "\uD83D\uDD17 ["+event.getSelfUser().getName()+" Wiki]("+Constants.Wiki.WIKI_BASE+")\n"