Skip to content

Commit 28213bf

Browse files
committed
Merge branch 'master' into feature/jda4
2 parents bf71f6c + 7dfaf21 commit 28213bf

36 files changed

+418
-131
lines changed

lists/copypastas.txt

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,29 @@
1-
// Copypastas
2-
// Bits of text that tend to be copied and pasted
3-
4-
// False Discord PSA
5-
False PSA || out for a Discord && going around && those who accept && send this to as many && if you see this
6-
Fake Hacker PSA || not accept friend request from && hackers && tell everyone && copy && paste
7-
Fake Discord shutdown || discord && clos && populated && active && please send && copy && paste && deleted without hesitation
8-
9-
// Share or else
10-
Cooldog || ╰━▅╮ && ╰╮ && ┳━━╯ && ╰┳╯
11-
Dog || ╰┳┳┳╯ && ▔╰━╯ && ╱╲╱╲▏
12-
Memecat || Λ_Λ && ( 'ㅅ' ) && > ⌒ヽ
13-
"Read or you die" || Carry on reading && Once there was && Now every week && send this to && copy and paste
14-
Jake Paul || Jake Paul on a tower about to jump && copy and paste && discord server
15-
"Tag you're it" || funny you opened this because && over the next && first you have && send it to && break the chain
16-
17-
// Unicode
18-
Bob || /▌ && /\ && This is bob
19-
Lennipede || ╚═(███)═╝ && Lenn
20-
Doge || ▐▄█▀▒▒▒▒▄▀█▄ && ▐▄█▄█▌▄▒▀▒ && ▒▀▀▄▄▒▒▒▄▒
21-
22-
// Text
23-
Navy Seals || say about me && ll have you know I && I am trained && Think again && Not only am I extensively trained && kid
24-
Rick & Morty || have to have a very high IQ && extremely && solid grasp && deftly woven && heavily && intellectual capacity && cryptic reference
25-
Shrek || years old && is love && is life && spread && push against && straight in the
26-
27-
// Scams
28-
Fake Libra Site || getlⅰbra.tech
29-
Fake Libra Site (2) || buylⅰbra.τech
1+
// Copypastas
2+
// Bits of text that tend to be copied and pasted
3+
4+
// False Discord PSA
5+
False PSA || out for a Discord && going around && those who accept && send this to as many && if you see this
6+
Fake Hacker PSA || not accept && friend request from && hacker && tell everyone && copy && paste
7+
Fake Discord shutdown || discord && clos && populated && active && please send && copy && paste && deleted without hesitation
8+
9+
// Share or else
10+
Cooldog || ╰━▅╮ && ╰╮ && ┳━━╯ && ╰┳╯
11+
Dog || ╰┳┳┳╯ && ▔╰━╯ && ╱╲╱╲▏
12+
Memecat || Λ_Λ && ( 'ㅅ' ) && > ⌒ヽ
13+
Memecat (2) || Λ_Λ && ˇωˇ && > ⌒ヽ
14+
"Read or you die" || Carry on reading && Once there was && Now every week && send this to && copy and paste
15+
Jake Paul || Jake Paul on a tower about to jump && copy and paste && discord server
16+
"Tag you're it" || funny you opened this because && over the next && first you have && send it to && break the chain
17+
18+
// Unicode
19+
Bob || /▌ && /\ && This is bob
20+
Lennipede || ╚═(███)═╝ && Lenn
21+
Doge || ▐▄█▀▒▒▒▒▄▀█▄ && ▐▄█▄█▌▄▒▀▒ && ▒▀▀▄▄▒▒▒▄▒
22+
23+
// Text
24+
Navy Seals || say about me && ll have you know I && I am trained && Think again && Not only am I extensively trained && kid
25+
Rick & Morty || have to have a very high IQ && extremely && solid grasp && deftly woven && heavily && intellectual capacity && cryptic reference
26+
Shrek || years old && is love && is life && spread && push against && straight in the
27+
28+
// Scams
29+
Fake Libra Site || lⅰbra

pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,12 @@
2424
<dependency>
2525
<groupId>net.dv8tion</groupId>
2626
<artifactId>JDA</artifactId>
27-
<version>4.1.1_110</version>
27+
<version>4.2.0_181</version>
2828
</dependency>
2929
<dependency>
3030
<groupId>com.jagrosh</groupId>
3131
<artifactId>jda-utilities</artifactId>
32-
<version>3.0.2</version>
32+
<version>3.0.4</version>
3333
<type>pom</type>
3434
</dependency>
3535
<dependency>

src/main/java/com/jagrosh/vortex/Vortex.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,13 +44,16 @@
4444
import com.jagrosh.vortex.utils.OtherUtil;
4545
import com.typesafe.config.Config;
4646
import com.typesafe.config.ConfigFactory;
47+
import java.util.Arrays;
4748
import java.util.EnumSet;
4849
import java.util.concurrent.TimeUnit;
4950
import net.dv8tion.jda.api.JDA;
5051
import net.dv8tion.jda.api.JDABuilder;
5152
import net.dv8tion.jda.api.entities.Activity;
5253
import net.dv8tion.jda.api.entities.ChannelType;
54+
import net.dv8tion.jda.api.entities.Message;
5355
import net.dv8tion.jda.api.exceptions.PermissionException;
56+
import net.dv8tion.jda.api.requests.restaction.MessageAction;
5457
import net.dv8tion.jda.api.sharding.DefaultShardManagerBuilder;
5558
import net.dv8tion.jda.api.sharding.ShardManager;
5659
import net.dv8tion.jda.api.utils.cache.CacheFlag;
@@ -162,6 +165,7 @@ public Vortex() throws Exception
162165
new AnnounceCmd(),
163166
new AuditCmd(),
164167
new DehoistCmd(),
168+
new ExportCmd(this),
165169
new InvitepruneCmd(this),
166170
new LookupCmd(this),
167171

@@ -183,6 +187,7 @@ public Vortex() throws Exception
183187
.setDiscordBotsKey(config.getString("listing.discord-bots"))
184188
//.setCarbonitexKey(config.getString("listing.carbon"))
185189
.build();
190+
MessageAction.setDefaultMentions(Arrays.asList(Message.MentionType.EMOTE, Message.MentionType.CHANNEL));
186191
shards = new DefaultShardManagerBuilder()
187192
.setShardsTotal(config.getInt("shards-total"))
188193
.setToken(config.getString("bot-token"))
@@ -193,6 +198,7 @@ public Vortex() throws Exception
193198
.setRequestTimeoutRetry(true)
194199
.setDisabledCacheFlags(EnumSet.of(CacheFlag.EMOTE, CacheFlag.ACTIVITY)) //TODO: dont disable GAME
195200
.setSessionController(new BlockingSessionController())
201+
196202
.build();
197203

198204
modlog.start();
@@ -285,8 +291,10 @@ public void leavePointlessGuilds()
285291
return false;
286292
if(Constants.OWNER_ID.equals(g.getOwnerId()))
287293
return false;
288-
int botcount = (int)g.getMemberCache().stream().filter(m -> m.getUser().isBot()).count();
289-
if(g.getMemberCache().size()-botcount<15 || (botcount>20 && ((double)botcount/g.getMemberCache().size())>0.5))
294+
int botcount = (int) g.getMemberCache().stream().filter(m -> m.getUser().isBot()).count();
295+
int totalcount = (int) g.getMemberCache().size();
296+
int humancount = totalcount - botcount;
297+
if(humancount < 30 || botcount > humancount)
290298
{
291299
if(database.settings.hasSettings(g))
292300
return false;

src/main/java/com/jagrosh/vortex/automod/AutoMod.java

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@
5252
*/
5353
public class AutoMod
5454
{
55-
private static final Pattern INVITES = Pattern.compile("discord\\s?(?:(?:\\.|dot|\\(\\.\\)|\\(dot\\))\\s?gg|app\\s?\\.\\s?com\\s?\\/\\s?invite)\\s?\\/\\s?([A-Z0-9-]{2,18})",
55+
private static final Pattern INVITES = Pattern.compile("discord\\s?(?:(?:\\.|dot|\\(\\.\\)|\\(dot\\))\\s?gg|(?:app)?\\s?\\.\\s?com\\s?\\/\\s?invite)\\s?\\/\\s?([A-Z0-9-]{2,18})",
5656
Pattern.CASE_INSENSITIVE);
5757

5858
private static final Pattern REF = Pattern.compile("https?:\\/\\/\\S+(?:\\/ref\\/|[?&#]ref(?:errer|erral)?=)\\S+", Pattern.CASE_INSENSITIVE);
@@ -204,11 +204,11 @@ else if(ams.useAutoRaidMode())
204204
private boolean shouldPerformAutomod(Member member, TextChannel channel)
205205
{
206206
// ignore users not in the guild
207-
if(member==null || member.getGuild()==null)
207+
if(member==null)
208208
return false;
209209

210210
// ignore broken guilds
211-
if(member.getGuild().getSelfMember()==null || member.getGuild().getOwner()==null)
211+
if(member.getGuild().getOwner()==null)
212212
return false;
213213

214214
// ignore bots
@@ -273,11 +273,9 @@ public void performAutomod(Message message)
273273
return;
274274

275275
// check the channel for channel-specific settings
276-
boolean preventSpam = message.getTextChannel().getTopic()==null
277-
|| !message.getTextChannel().getTopic().toLowerCase().contains("{spam}");
278-
boolean preventInvites = (message.getTextChannel().getTopic()==null
279-
|| !message.getTextChannel().getTopic().toLowerCase().contains("{invites}"))
280-
&& settings.inviteStrikes > 0;
276+
String topic = message.getTextChannel().getTopic();
277+
boolean preventSpam = topic==null || !topic.toLowerCase().contains("{spam}");
278+
boolean preventInvites = (topic==null || !topic.toLowerCase().contains("{invites}")) && settings.inviteStrikes > 0;
281279

282280
List<Long> inviteWhitelist = !preventInvites ? Collections.emptyList()
283281
: vortex.getDatabase().inviteWhitelist.readWhitelist(message.getGuild());

src/main/java/com/jagrosh/vortex/commands/CommandExceptionListener.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import com.jagrosh.jdautilities.command.Command;
1919
import com.jagrosh.jdautilities.command.CommandEvent;
2020
import com.jagrosh.jdautilities.command.CommandListener;
21+
import com.jagrosh.vortex.utils.FormatUtil;
2122
import com.jagrosh.vortex.utils.Usage;
2223
import net.dv8tion.jda.api.entities.ChannelType;
2324
import org.slf4j.Logger;
@@ -36,9 +37,9 @@ public class CommandExceptionListener implements CommandListener
3637
public void onCommandException(CommandEvent event, Command command, Throwable throwable)
3738
{
3839
if (throwable instanceof CommandErrorException)
39-
event.replyError(throwable.getMessage());
40+
event.replyError(FormatUtil.filterEveryone(throwable.getMessage()));
4041
else if (throwable instanceof CommandWarningException)
41-
event.replyWarning(throwable.getMessage());
42+
event.replyWarning(FormatUtil.filterEveryone(throwable.getMessage()));
4243
else
4344
log.error("An exception occurred in a command: "+command, throwable);
4445
}

src/main/java/com/jagrosh/vortex/commands/automod/AnticopypastaCmd.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import com.jagrosh.vortex.Vortex;
2222
import com.jagrosh.vortex.database.managers.AutomodManager;
2323
import com.jagrosh.vortex.database.managers.PunishmentManager;
24+
import com.jagrosh.vortex.utils.FormatUtil;
2425

2526
/**
2627
*
@@ -61,7 +62,7 @@ protected void execute(CommandEvent event)
6162
numstrikes = 0;
6263
else
6364
{
64-
event.replyError("`"+event.getArgs()+"` is not a valid integer!");
65+
event.replyError(FormatUtil.filterEveryone("`"+event.getArgs()+"` is not a valid integer!"));
6566
return;
6667
}
6768
}

src/main/java/com/jagrosh/vortex/commands/automod/AntieveryoneCmd.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import com.jagrosh.vortex.Vortex;
2222
import com.jagrosh.vortex.database.managers.AutomodManager;
2323
import com.jagrosh.vortex.database.managers.PunishmentManager;
24+
import com.jagrosh.vortex.utils.FormatUtil;
2425

2526
/**
2627
*
@@ -61,7 +62,7 @@ protected void execute(CommandEvent event)
6162
numstrikes = 0;
6263
else
6364
{
64-
event.replyError("`"+event.getArgs()+"` is not a valid integer!");
65+
event.replyError(FormatUtil.filterEveryone("`"+event.getArgs()+"` is not a valid integer!"));
6566
return;
6667
}
6768
}

src/main/java/com/jagrosh/vortex/commands/automod/AntiinviteCmd.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import com.jagrosh.vortex.Vortex;
2222
import com.jagrosh.vortex.database.managers.AutomodManager;
2323
import com.jagrosh.vortex.database.managers.PunishmentManager;
24+
import com.jagrosh.vortex.utils.FormatUtil;
2425

2526
/**
2627
*
@@ -62,7 +63,7 @@ protected void execute(CommandEvent event)
6263
numstrikes = 0;
6364
else
6465
{
65-
event.replyError("`"+event.getArgs()+"` is not a valid integer!");
66+
event.replyError(FormatUtil.filterEveryone("`"+event.getArgs()+"` is not a valid integer!"));
6667
return;
6768
}
6869
}

src/main/java/com/jagrosh/vortex/commands/automod/AntirefCmd.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import com.jagrosh.vortex.Vortex;
2222
import com.jagrosh.vortex.database.managers.AutomodManager;
2323
import com.jagrosh.vortex.database.managers.PunishmentManager;
24+
import com.jagrosh.vortex.utils.FormatUtil;
2425

2526
/**
2627
*
@@ -61,7 +62,7 @@ protected void execute(CommandEvent event)
6162
numstrikes = 0;
6263
else
6364
{
64-
event.replyError("`"+event.getArgs()+"` is not a valid integer!");
65+
event.replyError(FormatUtil.filterEveryone("`"+event.getArgs()+"` is not a valid integer!"));
6566
return;
6667
}
6768
}

src/main/java/com/jagrosh/vortex/commands/automod/FilterCmd.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import com.jagrosh.vortex.Vortex;
2323
import com.jagrosh.vortex.automod.Filter;
2424
import com.jagrosh.vortex.database.managers.PremiumManager;
25+
import com.jagrosh.vortex.utils.FormatUtil;
2526
import net.dv8tion.jda.api.EmbedBuilder;
2627
import net.dv8tion.jda.api.Permission;
2728
import net.dv8tion.jda.api.entities.MessageEmbed.Field;
@@ -113,8 +114,8 @@ protected void execute(CommandEvent event)
113114
Filter filter = Filter.parseFilter(parts[0], strikes, parts[2]);
114115
if(vortex.getDatabase().filters.addFilter(event.getGuild(), filter))
115116
{
116-
event.replySuccess("Filter *" + filter.name + "* (`" + filter.strikes + " " + Action.STRIKE.getEmoji()
117-
+ "`) successfully created with filtered terms:\n" + filter.printContentEscaped());
117+
event.replySuccess(FormatUtil.filterEveryone("Filter *" + filter.name + "* (`" + filter.strikes + " " + Action.STRIKE.getEmoji()
118+
+ "`) successfully created with filtered terms:\n" + filter.printContentEscaped()));
118119
}
119120
else
120121
{
@@ -153,11 +154,11 @@ protected void execute(CommandEvent event)
153154
Filter filter = vortex.getDatabase().filters.deleteFilter(event.getGuild(), event.getArgs());
154155
if(filter == null)
155156
{
156-
event.replyError("Filter `" + event.getArgs() + "` could not be found");
157+
event.replyError(FormatUtil.filterEveryone("Filter `" + event.getArgs() + "` could not be found"));
157158
}
158159
else
159160
{
160-
event.replySuccess("Removed filter `" + filter.name + "`");
161+
event.replySuccess(FormatUtil.filterEveryone("Removed filter `" + filter.name + "`"));
161162
}
162163
}
163164
}
@@ -181,7 +182,7 @@ protected void execute(CommandEvent event)
181182
Field field = vortex.getDatabase().filters.getFiltersDisplay(event.getGuild());
182183
if(field == null)
183184
{
184-
event.replyWarning("There are no filters for **" + event.getGuild().getName() + "**");
185+
event.replyWarning(FormatUtil.filterEveryone("There are no filters for **" + event.getGuild().getName() + "**"));
185186
return;
186187
}
187188

src/main/java/com/jagrosh/vortex/commands/automod/IgnoreCmd.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -81,13 +81,13 @@ else if(r.getPermissions().contains(Permission.ADMINISTRATOR)
8181

8282
List<Role> roles = FinderUtil.findRoles(event.getArgs(), event.getGuild());
8383
if(roles.isEmpty())
84-
event.replyError("No roles or text channels found for `"+event.getArgs()+"`");
84+
event.replyError(FormatUtil.filterEveryone("No roles or text channels found for `"+event.getArgs()+"`"));
8585
else if (roles.size()==1)
8686
{
8787
vortex.getDatabase().ignores.ignore(roles.get(0));
88-
event.replySuccess("Automod is now ignoring role `"+roles.get(0).getName()+"`");
88+
event.replySuccess(FormatUtil.filterEveryone("Automod is now ignoring role `"+roles.get(0).getName()+"`"));
8989
}
9090
else
91-
event.replyWarning(FormatUtil.listOfRoles(roles, event.getArgs()));
91+
event.replyWarning(FormatUtil.filterEveryone(FormatUtil.listOfRoles(roles, event.getArgs())));
9292
}
9393
}

src/main/java/com/jagrosh/vortex/commands/automod/MaxlinesCmd.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import net.dv8tion.jda.api.Permission;
2121
import com.jagrosh.vortex.Vortex;
2222
import com.jagrosh.vortex.database.managers.PunishmentManager;
23+
import com.jagrosh.vortex.utils.FormatUtil;
2324

2425
/**
2526
*
@@ -60,7 +61,7 @@ protected void execute(CommandEvent event)
6061
maxlines = 0;
6162
else
6263
{
63-
event.replyError("`"+event.getArgs()+"` is not a valid integer!");
64+
event.replyError(FormatUtil.filterEveryone("`"+event.getArgs()+"` is not a valid integer!"));
6465
return;
6566
}
6667
}

src/main/java/com/jagrosh/vortex/commands/automod/ResolvelinksCmd.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717

1818
import com.jagrosh.jdautilities.command.Command;
1919
import com.jagrosh.jdautilities.command.CommandEvent;
20-
import com.jagrosh.vortex.Constants;
2120
import com.jagrosh.vortex.Vortex;
2221
import com.jagrosh.vortex.database.managers.PremiumManager;
2322
import net.dv8tion.jda.api.Permission;

src/main/java/com/jagrosh/vortex/commands/automod/UnignoreCmd.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -71,18 +71,18 @@ protected void execute(CommandEvent event) {
7171

7272
List<Role> roles = FinderUtil.findRoles(event.getArgs(), event.getGuild());
7373
if(roles.isEmpty())
74-
event.replyError("No roles or text channels found for `"+event.getArgs()+"`");
74+
event.replyError(FormatUtil.filterEveryone("No roles or text channels found for `"+event.getArgs()+"`"));
7575
else if (roles.size()==1)
7676
{
7777
if(vortex.getDatabase().ignores.unignore(roles.get(0)))
7878
event.replySuccess("Automod is no longer ignoring role `"+roles.get(0).getName()+"`");
7979
else
80-
event.replyError("Automod was not ignoring role `"+roles.get(0).getName()+"`"
80+
event.replyError(FormatUtil.filterEveryone("Automod was not ignoring role `"+roles.get(0).getName()+"`"
8181
+ "\n"+event.getClient().getWarning()+" If this role is still listed when using `"+event.getClient().getPrefix()+"ignore`:"
8282
+ "\n`[can't interact]` - the role is above "+event.getSelfUser().getName()+"'s highest role; try moving the '"+event.getSelfUser().getName()+"' role higher"
83-
+ "\n`[elevated perms]` - the role has one of the following permissions: Kick Members, Ban Members, Manage Server, Manage Messages, Administrator");
83+
+ "\n`[elevated perms]` - the role has one of the following permissions: Kick Members, Ban Members, Manage Server, Manage Messages, Administrator"));
8484
}
8585
else
86-
event.replyWarning(FormatUtil.listOfRoles(roles, event.getArgs()));
86+
event.replyWarning(FormatUtil.filterEveryone(FormatUtil.listOfRoles(roles, event.getArgs())));
8787
}
8888
}

src/main/java/com/jagrosh/vortex/commands/automod/WhitelistInvitesCmd.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import com.jagrosh.jdautilities.command.Command;
1919
import com.jagrosh.jdautilities.command.CommandEvent;
2020
import com.jagrosh.vortex.Vortex;
21+
import com.jagrosh.vortex.utils.FormatUtil;
2122
import net.dv8tion.jda.api.Permission;
2223

2324
import java.util.ArrayList;
@@ -74,8 +75,8 @@ private void handleShow(CommandEvent event, String[] args)
7475
return;
7576
}
7677
List<Long> currentWL = vortex.getDatabase().inviteWhitelist.readWhitelist(event.getGuild());
77-
event.replySuccess("Whitelisted Guild IDs:\n" + (currentWL.isEmpty() ? "None" :
78-
"`" + currentWL.stream().map(String::valueOf).collect(Collectors.joining("`, `")) + "`"));
78+
event.replySuccess(FormatUtil.filterEveryone("Whitelisted Guild IDs:\n" + (currentWL.isEmpty() ? "None" :
79+
"`" + currentWL.stream().map(String::valueOf).collect(Collectors.joining("`, `")) + "`")));
7980
}
8081

8182
private void handleAdd(CommandEvent event, String[] args)

0 commit comments

Comments
 (0)