Skip to content

Commit 2fb2f23

Browse files
Merge pull request #2 from KingDGrizzle/master
Massive Update
2 parents 428b581 + 14791fa commit 2fb2f23

19 files changed

+188
-95
lines changed

src/main/java/com/xelixexirish/logbot/commands/GetCommand.java renamed to src/main/java/com/xelitexirish/logbot/commands/GetCommand.java

Lines changed: 50 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,6 @@ public boolean called(String[] args, MessageReceivedEvent event) {
2626

2727
@Override
2828
public void action(String[] args, MessageReceivedEvent event) {
29-
30-
event.getAuthor().openPrivateChannel();
3129
if (PermissionHandler.isUserAdmin(event.getGuild(), event.getAuthor())) {
3230
if (args.length > 0 && args[0].equalsIgnoreCase("channel")) {
3331
getChannelLog(args, event);
@@ -36,7 +34,13 @@ public void action(String[] args, MessageReceivedEvent event) {
3634
getUserLog(args, event);
3735
}
3836
} else {
39-
event.getAuthor().getPrivateChannel().sendMessage(MessageUtils.getNoPermissionMsg(PermissionHandler.ADMIN_PERMISSION)).queue();
37+
if (!event.getAuthor().hasPrivateChannel()) {
38+
event.getAuthor().openPrivateChannel().queue(channel -> {
39+
channel.sendMessage(MessageUtils.getNoPermissionMsg(PermissionHandler.ADMIN_PERMISSION)).queue();
40+
});
41+
} else {
42+
event.getAuthor().getPrivateChannel().sendMessage(MessageUtils.getNoPermissionMsg(PermissionHandler.ADMIN_PERMISSION)).queue();
43+
}
4044
}
4145
}
4246

@@ -58,18 +62,26 @@ public String getTag() {
5862
}
5963

6064
private void getChannelLog(String[] args, MessageReceivedEvent event) {
61-
event.getAuthor().openPrivateChannel();
6265
if (args.length == 1) {
6366
// get channel
64-
6567
File logFile = FileHandler.getLogFile(event.getGuild(), event.getTextChannel());
6668
MessageBuilder messageBuilder = new MessageBuilder();
6769
messageBuilder.appendString("This is the log file for channel: " + event.getTextChannel().getName());
6870

69-
try {
70-
event.getAuthor().getPrivateChannel().sendFile(logFile, messageBuilder.build()).queue();
71-
} catch (IOException e) {
72-
e.printStackTrace();
71+
if (!event.getAuthor().hasPrivateChannel()) {
72+
event.getAuthor().openPrivateChannel().queue(channel -> {
73+
try {
74+
channel.sendFile(logFile, messageBuilder.build()).queue();
75+
} catch (IOException e) {
76+
e.printStackTrace();
77+
}
78+
});
79+
} else {
80+
try {
81+
event.getAuthor().getPrivateChannel().sendFile(logFile, messageBuilder.build()).queue();
82+
} catch (IOException e) {
83+
e.printStackTrace();
84+
}
7385
}
7486
BotLogger.info(event.getAuthor().getName() + " asked for file: " + logFile.getName() + " on server: " + event.getGuild().getName());
7587

@@ -80,8 +92,13 @@ private void getChannelLog(String[] args, MessageReceivedEvent event) {
8092

8193
File[] channelFiles = FileHandler.getAllServerLogFiles(event.getGuild());
8294
if (channelFiles != null) {
83-
event.getAuthor().getPrivateChannel().sendMessage("Here are the chats logs for the server: " + event.getGuild().getName()).queue();
84-
95+
if (!event.getAuthor().hasPrivateChannel()) {
96+
event.getAuthor().openPrivateChannel().queue(channel -> {
97+
channel.sendMessage("Here are the chats logs for the server: " + event.getGuild().getName()).queue();
98+
});
99+
} else {
100+
event.getAuthor().getPrivateChannel().sendMessage("Here are the chats logs for the server: " + event.getGuild().getName()).queue();
101+
}
85102
for (File file : channelFiles) {
86103
try {
87104
event.getAuthor().getPrivateChannel().sendFile(file, null).queue();
@@ -91,24 +108,33 @@ private void getChannelLog(String[] args, MessageReceivedEvent event) {
91108
BotLogger.info(event.getAuthor() + " asked for file: " + file.getName() + " on server: " + event.getGuild().getName());
92109
}
93110
} else {
94-
event.getAuthor().getPrivateChannel().sendMessage("Sorry but an error occurred or there was no chat logs found!").queue();
111+
if (!event.getAuthor().hasPrivateChannel()) {
112+
event.getAuthor().openPrivateChannel().queue(channel -> {
113+
channel.sendMessage("Sorry but an error occurred or there was no chat logs found!").queue();
114+
});
115+
} else {
116+
event.getAuthor().getPrivateChannel().sendMessage("Sorry but an error occurred or there was no chat logs found!").queue();
117+
}
95118
}
96119

97120
} else if (event.getMessage().getMentionedChannels().size() > 0) {
98121
// get channel #channelName
99-
100-
event.getAuthor().getPrivateChannel().sendMessage("Here are the chat logs for the channels you asked for:").queue();
122+
if (!event.getAuthor().hasPrivateChannel()) {
123+
event.getAuthor().openPrivateChannel().queue(channel -> {
124+
channel.sendMessage("Here are the chat logs for the channels you asked for:").queue();
125+
});
126+
} else {
127+
event.getAuthor().getPrivateChannel().sendMessage("Here are the chat logs for the channels you asked for:").queue();
128+
}
101129
for (TextChannel channel : event.getMessage().getMentionedChannels()) {
102130
File channelFile = FileHandler.getLogFile(event.getGuild(), channel);
103131
try {
104-
event.getAuthor().getPrivateChannel().sendFile(channelFile, null).queue();
132+
event.getAuthor().getPrivateChannel().sendFile(channelFile, null).queue();
105133
} catch (IOException e) {
106134
e.printStackTrace();
107135
}
108-
109136
BotLogger.info(event.getAuthor() + " asked for file: " + channelFile.getName() + " on server: " + event.getGuild().getName());
110137
}
111-
112138
} else {
113139
sendHelpMessage(event);
114140
}
@@ -117,24 +143,26 @@ private void getChannelLog(String[] args, MessageReceivedEvent event) {
117143

118144
private void getUserLog(String[] args, MessageReceivedEvent event) {
119145
// get user <users> <length>
120-
event.getAuthor().openPrivateChannel();
121146
List<User> logUser = event.getMessage().getMentionedUsers();
122147
int searchLength = 0;
123148
try {
124149
searchLength = Integer.parseInt(args[args.length - 1]);
125150
} catch (Exception e) {
126151
}
127-
128-
event.getAuthor().getPrivateChannel().sendMessage("Here are the chat logs for the user you asked for, this may take a long time:").queue();
152+
if (!event.getAuthor().hasPrivateChannel()) {
153+
event.getAuthor().openPrivateChannel().queue(channel -> {
154+
channel.sendMessage("Here are the chat logs for the user you asked for, this may take a long time:").queue();
155+
});
156+
} else {
157+
event.getAuthor().getPrivateChannel().sendMessage("Here are the chat logs for the user you asked for, this may take a long time:").queue();
158+
}
129159
for (User user : logUser) {
130-
131160
File logFile = FileHandler.getTempLogFile(event, user, searchLength);
132161
try {
133162
event.getAuthor().getPrivateChannel().sendFile(logFile, null).queue();
134163
} catch (IOException e) {
135164
e.printStackTrace();
136165
}
137-
138166
BotLogger.info(event.getAuthor().getName() + " asked for file: " + logFile.getName() + " on the server: " + event.getGuild().getName());
139167
}
140168
}

src/main/java/com/xelixexirish/logbot/commands/HelpCommand.java renamed to src/main/java/com/xelitexirish/logbot/commands/HelpCommand.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,12 +62,12 @@ private ICommand getCommandFromString(String commandName) {
6262
private static void sendHelpMessage(MessageReceivedEvent event, ICommand command) {
6363
if (command != null) {
6464
if (command.help() != null) {
65-
event.getTextChannel().sendMessage(command.help()).queue();;
65+
event.getTextChannel().sendMessage(command.help()).queue();
6666
} else {
67-
event.getTextChannel().sendMessage("Sorry there is no info available for this command, please contact a bot administrator.").queue();;
67+
event.getTextChannel().sendMessage("Sorry there is no info available for this command, please contact a bot administrator.").queue();
6868
}
6969
} else {
70-
event.getTextChannel().sendMessage("Sorry but that is not a recognised command!").queue();;
70+
event.getTextChannel().sendMessage("Sorry but that is not a recognised command!").queue();
7171
}
7272
}
7373

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
package com.xelitexirish.logbot.commands;
2+
3+
import com.xelitexirish.logbot.handlers.FileHandler;
4+
import com.xelitexirish.logbot.handlers.PermissionHandler;
5+
import com.xelitexirish.logbot.utils.MessageUtils;
6+
import net.dv8tion.jda.core.entities.TextChannel;
7+
import net.dv8tion.jda.core.events.message.MessageReceivedEvent;
8+
9+
public class PurgeCommand implements ICommand {
10+
11+
private final String HELP_MSG = "Deletes the specified channel logs. Usage: 'purge channel <mentioned channels>' or 'purge temp'";
12+
@Override
13+
public boolean called(String[] args, MessageReceivedEvent event) {
14+
return true;
15+
}
16+
17+
@Override
18+
public void action(String[] args, MessageReceivedEvent event) {
19+
if (PermissionHandler.isUserAdmin(event.getGuild(), event.getAuthor())) {
20+
if (args[0].equalsIgnoreCase("channel")) {
21+
for (TextChannel channels : event.getMessage().getMentionedChannels()) {
22+
if (!event.getAuthor().hasPrivateChannel()) {
23+
event.getAuthor().openPrivateChannel().queue(channel -> {
24+
channel.sendMessage("Deleting the channel file for the following channel: " + channels).queue();
25+
});
26+
} else {
27+
event.getAuthor().getPrivateChannel().sendMessage("Deleting the channel file for the following channel: " + channels).queue();
28+
}
29+
FileHandler.getLogFile(event.getGuild(), channels).delete();
30+
}
31+
} else if (args[0].equalsIgnoreCase("temp")) {
32+
if (PermissionHandler.isUserMaintainer(event.getAuthor())) {
33+
if (!event.getAuthor().hasPrivateChannel()) {
34+
event.getAuthor().openPrivateChannel().queue(channel -> {
35+
channel.sendMessage("Deleting the temp folder for LogBot").queue();
36+
});
37+
} else {
38+
event.getAuthor().getPrivateChannel().sendMessage("Deleting the temp folder for LogBot").queue();
39+
}
40+
FileHandler.removeTempFolder();
41+
}
42+
}
43+
} else {
44+
if (!event.getAuthor().hasPrivateChannel()) {
45+
event.getAuthor().openPrivateChannel().queue(channel -> {
46+
channel.sendMessage(MessageUtils.getNoPermissionMsg(PermissionHandler.ADMIN_PERMISSION)).queue();
47+
});
48+
} else {
49+
event.getAuthor().getPrivateChannel().sendMessage(MessageUtils.getNoPermissionMsg(PermissionHandler.ADMIN_PERMISSION)).queue();
50+
}
51+
}
52+
}
53+
54+
@Override
55+
public String help() {
56+
return HELP_MSG;
57+
}
58+
59+
@Override
60+
public void executed(boolean success, MessageReceivedEvent event) {
61+
}
62+
63+
@Override
64+
public String getTag() {
65+
return "purge";
66+
}
67+
68+
}

src/main/java/com/xelixexirish/logbot/commands/StatusCommand.java renamed to src/main/java/com/xelitexirish/logbot/commands/StatusCommand.java

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,19 +19,30 @@ public boolean called(String[] args, MessageReceivedEvent event) {
1919

2020
@Override
2121
public void action(String[] args, MessageReceivedEvent event) {
22-
event.getAuthor().openPrivateChannel();
2322
if (args.length > 0 && args[0].equalsIgnoreCase("online")) {
2423
if (PermissionHandler.isUserAdmin(event.getGuild(), event.getAuthor())) {
2524
LogBot.setOnlineStatus();
26-
event.getAuthor().getPrivateChannel().sendMessage("Bot status has been changed to: " + event.getJDA().getPresence().getStatus()).queue();
25+
if (!event.getAuthor().hasPrivateChannel()) {
26+
event.getAuthor().openPrivateChannel().queue(channel -> {
27+
channel.sendMessage("Bot status has been changed to: " + event.getJDA().getPresence().getStatus()).queue();
28+
});
29+
} else {
30+
event.getAuthor().getPrivateChannel().sendMessage("Bot status has been changed to: " + event.getJDA().getPresence().getStatus()).queue();
31+
}
2732
BotLogger.info(event.getAuthor().getName() + " set the bot status to: " + event.getJDA().getPresence().getStatus());
2833
} else {
2934
MessageUtils.getNoPermissionMsg(PermissionHandler.ADMIN_PERMISSION);
3035
}
3136
} else if (args.length > 0 && args[0].equalsIgnoreCase("offline")) {
3237
if (PermissionHandler.isUserAdmin(event.getGuild(), event.getAuthor())) {
3338
LogBot.setOfflineStatus();
34-
event.getAuthor().getPrivateChannel().sendMessage("Bot status has been changed to: " + event.getJDA().getPresence().getStatus()).queue();
39+
if (!event.getAuthor().hasPrivateChannel()) {
40+
event.getAuthor().openPrivateChannel().queue(channel -> {
41+
channel.sendMessage("Bot status has been changed to: " + event.getJDA().getPresence().getStatus()).queue();
42+
});
43+
} else {
44+
event.getAuthor().getPrivateChannel().sendMessage("Bot status has been changed to: " + event.getJDA().getPresence().getStatus()).queue();
45+
}
3546
BotLogger.info(event.getAuthor().getName() + " set the bot status to: " + event.getJDA().getPresence().getStatus());
3647
} else {
3748
MessageUtils.getNoPermissionMsg(PermissionHandler.ADMIN_PERMISSION);

src/main/java/com/xelixexirish/logbot/commands/VIPCommand.java renamed to src/main/java/com/xelitexirish/logbot/commands/VIPCommand.java

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ public boolean called(String[] args, MessageReceivedEvent event) {
1919

2020
@Override
2121
public void action(String[] args, MessageReceivedEvent event) {
22-
event.getAuthor().openPrivateChannel();
2322
if (args.length >= 1) {
2423
if (PermissionHandler.isUserAdmin(event.getGuild(), event.getAuthor())) {
2524
if (args[0].equalsIgnoreCase("add")) {
@@ -32,7 +31,13 @@ public void action(String[] args, MessageReceivedEvent event) {
3231
if (vipUser != null) {
3332
VIPHandler.addUserToVip(event.getGuild(), event.getAuthor(), vipUser);
3433
} else {
35-
event.getAuthor().getPrivateChannel().sendMessage("No user found with id: " + args[1] + " on server: " + event.getGuild().getName()).queue();
34+
if (!event.getAuthor().hasPrivateChannel()) {
35+
event.getAuthor().openPrivateChannel().queue(channel -> {
36+
channel.sendMessage("No user found with id: " + args[1] + " on server: " + event.getGuild().getName()).queue();
37+
});
38+
} else {
39+
event.getAuthor().getPrivateChannel().sendMessage("No user found with id: " + args[1] + " on server: " + event.getGuild().getName()).queue();
40+
}
3641
}
3742
}
3843
BotLogger.info("Adding user to VIP list for server: " + event.getGuild().getName());
@@ -47,14 +52,25 @@ public void action(String[] args, MessageReceivedEvent event) {
4752
if (vipUser != null) {
4853
VIPHandler.removeUserFromVip(event.getGuild(), event.getAuthor(), vipUser);
4954
} else {
50-
event.getAuthor().getPrivateChannel().sendMessage("No user found with id: " + args[1] + " on server: " + event.getGuild().getName()).queue();
55+
if (!event.getAuthor().hasPrivateChannel()) {
56+
event.getAuthor().openPrivateChannel().queue(channel -> {
57+
channel.sendMessage("No user found with id: " + args[1] + " on server: " + event.getGuild().getName()).queue();
58+
});
59+
} else {
60+
event.getAuthor().getPrivateChannel().sendMessage("No user found with id: " + args[1] + " on server: " + event.getGuild().getName()).queue();
61+
}
5162
}
5263
}
53-
5464
BotLogger.info("Removing user from VIP list for server: " + event.getGuild().getName());
5565
}
56-
}else {
57-
event.getAuthor().getPrivateChannel().sendMessage(MessageUtils.getNoPermissionMsg(PermissionHandler.ADMIN_PERMISSION)).queue();
66+
} else {
67+
if (!event.getAuthor().hasPrivateChannel()) {
68+
event.getAuthor().openPrivateChannel().queue(channel -> {
69+
channel.sendMessage(MessageUtils.getNoPermissionMsg(PermissionHandler.ADMIN_PERMISSION)).queue();
70+
});
71+
} else {
72+
event.getAuthor().getPrivateChannel().sendMessage(MessageUtils.getNoPermissionMsg(PermissionHandler.ADMIN_PERMISSION)).queue();
73+
}
5874
}
5975
} else {
6076
MessageUtils.usefulError(event.getAuthor(), "`" + Constants.COMMAND_PREFIX + "vip add <mentioned user>`\n" + Constants.COMMAND_PREFIX + "vip add <user id>`\nor\n`" + Constants.COMMAND_PREFIX + "vip remove <mentioned user>`\n`" + Constants.COMMAND_PREFIX + "vip remove <user id>");

src/main/java/com/xelixexirish/logbot/handlers/BotListener.java renamed to src/main/java/com/xelitexirish/logbot/handlers/BotListener.java

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,17 +37,31 @@ public void onMessageReceived(MessageReceivedEvent event) {
3737
stringBuilder.append("\t-" + guild.getName() + "\n");
3838
}
3939
try {
40-
event.getAuthor().getPrivateChannel().sendMessage(MessageUtils.wrapStringInCodeBlock(stringBuilder.toString())).block();
40+
if (!event.getAuthor().hasPrivateChannel()) {
41+
event.getAuthor().openPrivateChannel().queue(channel -> {
42+
try {
43+
channel.sendMessage(MessageUtils.wrapStringInCodeBlock(stringBuilder.toString())).block();
44+
} catch (RateLimitedException e) {
45+
e.printStackTrace();
46+
}
47+
});
48+
} else {
49+
event.getAuthor().getPrivateChannel().sendMessage(MessageUtils.wrapStringInCodeBlock(stringBuilder.toString())).block();
50+
}
4151
} catch (RateLimitedException e) {
4252
e.printStackTrace();
4353
}
4454
BotLogger.debug(stringBuilder.toString());
45-
4655
} else {
47-
event.getAuthor().getPrivateChannel().sendMessage("Sorry but I can't recognise any command or input you make unless it's made in a guild channel! I need to make sure you have permission!").queue();
56+
if (!event.getAuthor().hasPrivateChannel()) {
57+
event.getAuthor().openPrivateChannel().queue(channel -> {
58+
channel.sendMessage("Sorry but I can't recognise any command or input you make unless it's made in a guild channel! I need to make sure you have permission!").queue();
59+
});
60+
} else {
61+
event.getAuthor().getPrivateChannel().sendMessage("Sorry but I can't recognise any command or input you make unless it's made in a guild channel! I need to make sure you have permission!").queue();
62+
}
4863
}
4964
}
50-
5165
DiscordLogHandler.onMessageReceived(event);
5266
}
5367

0 commit comments

Comments
 (0)