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"