Skip to content

Commit

Permalink
Merge pull request #2 from KingDGrizzle/master
Browse files Browse the repository at this point in the history
Massive Update
  • Loading branch information
realshaunoneill authored Dec 2, 2016
2 parents 428b581 + 14791fa commit 2fb2f23
Show file tree
Hide file tree
Showing 19 changed files with 188 additions and 95 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,6 @@ public boolean called(String[] args, MessageReceivedEvent event) {

@Override
public void action(String[] args, MessageReceivedEvent event) {

event.getAuthor().openPrivateChannel();
if (PermissionHandler.isUserAdmin(event.getGuild(), event.getAuthor())) {
if (args.length > 0 && args[0].equalsIgnoreCase("channel")) {
getChannelLog(args, event);
Expand All @@ -36,7 +34,13 @@ public void action(String[] args, MessageReceivedEvent event) {
getUserLog(args, event);
}
} else {
event.getAuthor().getPrivateChannel().sendMessage(MessageUtils.getNoPermissionMsg(PermissionHandler.ADMIN_PERMISSION)).queue();
if (!event.getAuthor().hasPrivateChannel()) {
event.getAuthor().openPrivateChannel().queue(channel -> {
channel.sendMessage(MessageUtils.getNoPermissionMsg(PermissionHandler.ADMIN_PERMISSION)).queue();
});
} else {
event.getAuthor().getPrivateChannel().sendMessage(MessageUtils.getNoPermissionMsg(PermissionHandler.ADMIN_PERMISSION)).queue();
}
}
}

Expand All @@ -58,18 +62,26 @@ public String getTag() {
}

private void getChannelLog(String[] args, MessageReceivedEvent event) {
event.getAuthor().openPrivateChannel();
if (args.length == 1) {
// get channel

File logFile = FileHandler.getLogFile(event.getGuild(), event.getTextChannel());
MessageBuilder messageBuilder = new MessageBuilder();
messageBuilder.appendString("This is the log file for channel: " + event.getTextChannel().getName());

try {
event.getAuthor().getPrivateChannel().sendFile(logFile, messageBuilder.build()).queue();
} catch (IOException e) {
e.printStackTrace();
if (!event.getAuthor().hasPrivateChannel()) {
event.getAuthor().openPrivateChannel().queue(channel -> {
try {
channel.sendFile(logFile, messageBuilder.build()).queue();
} catch (IOException e) {
e.printStackTrace();
}
});
} else {
try {
event.getAuthor().getPrivateChannel().sendFile(logFile, messageBuilder.build()).queue();
} catch (IOException e) {
e.printStackTrace();
}
}
BotLogger.info(event.getAuthor().getName() + " asked for file: " + logFile.getName() + " on server: " + event.getGuild().getName());

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

File[] channelFiles = FileHandler.getAllServerLogFiles(event.getGuild());
if (channelFiles != null) {
event.getAuthor().getPrivateChannel().sendMessage("Here are the chats logs for the server: " + event.getGuild().getName()).queue();

if (!event.getAuthor().hasPrivateChannel()) {
event.getAuthor().openPrivateChannel().queue(channel -> {
channel.sendMessage("Here are the chats logs for the server: " + event.getGuild().getName()).queue();
});
} else {
event.getAuthor().getPrivateChannel().sendMessage("Here are the chats logs for the server: " + event.getGuild().getName()).queue();
}
for (File file : channelFiles) {
try {
event.getAuthor().getPrivateChannel().sendFile(file, null).queue();
Expand All @@ -91,24 +108,33 @@ private void getChannelLog(String[] args, MessageReceivedEvent event) {
BotLogger.info(event.getAuthor() + " asked for file: " + file.getName() + " on server: " + event.getGuild().getName());
}
} else {
event.getAuthor().getPrivateChannel().sendMessage("Sorry but an error occurred or there was no chat logs found!").queue();
if (!event.getAuthor().hasPrivateChannel()) {
event.getAuthor().openPrivateChannel().queue(channel -> {
channel.sendMessage("Sorry but an error occurred or there was no chat logs found!").queue();
});
} else {
event.getAuthor().getPrivateChannel().sendMessage("Sorry but an error occurred or there was no chat logs found!").queue();
}
}

} else if (event.getMessage().getMentionedChannels().size() > 0) {
// get channel #channelName

event.getAuthor().getPrivateChannel().sendMessage("Here are the chat logs for the channels you asked for:").queue();
if (!event.getAuthor().hasPrivateChannel()) {
event.getAuthor().openPrivateChannel().queue(channel -> {
channel.sendMessage("Here are the chat logs for the channels you asked for:").queue();
});
} else {
event.getAuthor().getPrivateChannel().sendMessage("Here are the chat logs for the channels you asked for:").queue();
}
for (TextChannel channel : event.getMessage().getMentionedChannels()) {
File channelFile = FileHandler.getLogFile(event.getGuild(), channel);
try {
event.getAuthor().getPrivateChannel().sendFile(channelFile, null).queue();
event.getAuthor().getPrivateChannel().sendFile(channelFile, null).queue();
} catch (IOException e) {
e.printStackTrace();
}

BotLogger.info(event.getAuthor() + " asked for file: " + channelFile.getName() + " on server: " + event.getGuild().getName());
}

} else {
sendHelpMessage(event);
}
Expand All @@ -117,24 +143,26 @@ private void getChannelLog(String[] args, MessageReceivedEvent event) {

private void getUserLog(String[] args, MessageReceivedEvent event) {
// get user <users> <length>
event.getAuthor().openPrivateChannel();
List<User> logUser = event.getMessage().getMentionedUsers();
int searchLength = 0;
try {
searchLength = Integer.parseInt(args[args.length - 1]);
} catch (Exception e) {
}

event.getAuthor().getPrivateChannel().sendMessage("Here are the chat logs for the user you asked for, this may take a long time:").queue();
if (!event.getAuthor().hasPrivateChannel()) {
event.getAuthor().openPrivateChannel().queue(channel -> {
channel.sendMessage("Here are the chat logs for the user you asked for, this may take a long time:").queue();
});
} else {
event.getAuthor().getPrivateChannel().sendMessage("Here are the chat logs for the user you asked for, this may take a long time:").queue();
}
for (User user : logUser) {

File logFile = FileHandler.getTempLogFile(event, user, searchLength);
try {
event.getAuthor().getPrivateChannel().sendFile(logFile, null).queue();
} catch (IOException e) {
e.printStackTrace();
}

BotLogger.info(event.getAuthor().getName() + " asked for file: " + logFile.getName() + " on the server: " + event.getGuild().getName());
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,12 +62,12 @@ private ICommand getCommandFromString(String commandName) {
private static void sendHelpMessage(MessageReceivedEvent event, ICommand command) {
if (command != null) {
if (command.help() != null) {
event.getTextChannel().sendMessage(command.help()).queue();;
event.getTextChannel().sendMessage(command.help()).queue();
} else {
event.getTextChannel().sendMessage("Sorry there is no info available for this command, please contact a bot administrator.").queue();;
event.getTextChannel().sendMessage("Sorry there is no info available for this command, please contact a bot administrator.").queue();
}
} else {
event.getTextChannel().sendMessage("Sorry but that is not a recognised command!").queue();;
event.getTextChannel().sendMessage("Sorry but that is not a recognised command!").queue();
}
}

Expand Down
68 changes: 68 additions & 0 deletions src/main/java/com/xelitexirish/logbot/commands/PurgeCommand.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
package com.xelitexirish.logbot.commands;

import com.xelitexirish.logbot.handlers.FileHandler;
import com.xelitexirish.logbot.handlers.PermissionHandler;
import com.xelitexirish.logbot.utils.MessageUtils;
import net.dv8tion.jda.core.entities.TextChannel;
import net.dv8tion.jda.core.events.message.MessageReceivedEvent;

public class PurgeCommand implements ICommand {

private final String HELP_MSG = "Deletes the specified channel logs. Usage: 'purge channel <mentioned channels>' or 'purge temp'";
@Override
public boolean called(String[] args, MessageReceivedEvent event) {
return true;
}

@Override
public void action(String[] args, MessageReceivedEvent event) {
if (PermissionHandler.isUserAdmin(event.getGuild(), event.getAuthor())) {
if (args[0].equalsIgnoreCase("channel")) {
for (TextChannel channels : event.getMessage().getMentionedChannels()) {
if (!event.getAuthor().hasPrivateChannel()) {
event.getAuthor().openPrivateChannel().queue(channel -> {
channel.sendMessage("Deleting the channel file for the following channel: " + channels).queue();
});
} else {
event.getAuthor().getPrivateChannel().sendMessage("Deleting the channel file for the following channel: " + channels).queue();
}
FileHandler.getLogFile(event.getGuild(), channels).delete();
}
} else if (args[0].equalsIgnoreCase("temp")) {
if (PermissionHandler.isUserMaintainer(event.getAuthor())) {
if (!event.getAuthor().hasPrivateChannel()) {
event.getAuthor().openPrivateChannel().queue(channel -> {
channel.sendMessage("Deleting the temp folder for LogBot").queue();
});
} else {
event.getAuthor().getPrivateChannel().sendMessage("Deleting the temp folder for LogBot").queue();
}
FileHandler.removeTempFolder();
}
}
} else {
if (!event.getAuthor().hasPrivateChannel()) {
event.getAuthor().openPrivateChannel().queue(channel -> {
channel.sendMessage(MessageUtils.getNoPermissionMsg(PermissionHandler.ADMIN_PERMISSION)).queue();
});
} else {
event.getAuthor().getPrivateChannel().sendMessage(MessageUtils.getNoPermissionMsg(PermissionHandler.ADMIN_PERMISSION)).queue();
}
}
}

@Override
public String help() {
return HELP_MSG;
}

@Override
public void executed(boolean success, MessageReceivedEvent event) {
}

@Override
public String getTag() {
return "purge";
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -19,19 +19,30 @@ public boolean called(String[] args, MessageReceivedEvent event) {

@Override
public void action(String[] args, MessageReceivedEvent event) {
event.getAuthor().openPrivateChannel();
if (args.length > 0 && args[0].equalsIgnoreCase("online")) {
if (PermissionHandler.isUserAdmin(event.getGuild(), event.getAuthor())) {
LogBot.setOnlineStatus();
event.getAuthor().getPrivateChannel().sendMessage("Bot status has been changed to: " + event.getJDA().getPresence().getStatus()).queue();
if (!event.getAuthor().hasPrivateChannel()) {
event.getAuthor().openPrivateChannel().queue(channel -> {
channel.sendMessage("Bot status has been changed to: " + event.getJDA().getPresence().getStatus()).queue();
});
} else {
event.getAuthor().getPrivateChannel().sendMessage("Bot status has been changed to: " + event.getJDA().getPresence().getStatus()).queue();
}
BotLogger.info(event.getAuthor().getName() + " set the bot status to: " + event.getJDA().getPresence().getStatus());
} else {
MessageUtils.getNoPermissionMsg(PermissionHandler.ADMIN_PERMISSION);
}
} else if (args.length > 0 && args[0].equalsIgnoreCase("offline")) {
if (PermissionHandler.isUserAdmin(event.getGuild(), event.getAuthor())) {
LogBot.setOfflineStatus();
event.getAuthor().getPrivateChannel().sendMessage("Bot status has been changed to: " + event.getJDA().getPresence().getStatus()).queue();
if (!event.getAuthor().hasPrivateChannel()) {
event.getAuthor().openPrivateChannel().queue(channel -> {
channel.sendMessage("Bot status has been changed to: " + event.getJDA().getPresence().getStatus()).queue();
});
} else {
event.getAuthor().getPrivateChannel().sendMessage("Bot status has been changed to: " + event.getJDA().getPresence().getStatus()).queue();
}
BotLogger.info(event.getAuthor().getName() + " set the bot status to: " + event.getJDA().getPresence().getStatus());
} else {
MessageUtils.getNoPermissionMsg(PermissionHandler.ADMIN_PERMISSION);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ public boolean called(String[] args, MessageReceivedEvent event) {

@Override
public void action(String[] args, MessageReceivedEvent event) {
event.getAuthor().openPrivateChannel();
if (args.length >= 1) {
if (PermissionHandler.isUserAdmin(event.getGuild(), event.getAuthor())) {
if (args[0].equalsIgnoreCase("add")) {
Expand All @@ -32,7 +31,13 @@ public void action(String[] args, MessageReceivedEvent event) {
if (vipUser != null) {
VIPHandler.addUserToVip(event.getGuild(), event.getAuthor(), vipUser);
} else {
event.getAuthor().getPrivateChannel().sendMessage("No user found with id: " + args[1] + " on server: " + event.getGuild().getName()).queue();
if (!event.getAuthor().hasPrivateChannel()) {
event.getAuthor().openPrivateChannel().queue(channel -> {
channel.sendMessage("No user found with id: " + args[1] + " on server: " + event.getGuild().getName()).queue();
});
} else {
event.getAuthor().getPrivateChannel().sendMessage("No user found with id: " + args[1] + " on server: " + event.getGuild().getName()).queue();
}
}
}
BotLogger.info("Adding user to VIP list for server: " + event.getGuild().getName());
Expand All @@ -47,14 +52,25 @@ public void action(String[] args, MessageReceivedEvent event) {
if (vipUser != null) {
VIPHandler.removeUserFromVip(event.getGuild(), event.getAuthor(), vipUser);
} else {
event.getAuthor().getPrivateChannel().sendMessage("No user found with id: " + args[1] + " on server: " + event.getGuild().getName()).queue();
if (!event.getAuthor().hasPrivateChannel()) {
event.getAuthor().openPrivateChannel().queue(channel -> {
channel.sendMessage("No user found with id: " + args[1] + " on server: " + event.getGuild().getName()).queue();
});
} else {
event.getAuthor().getPrivateChannel().sendMessage("No user found with id: " + args[1] + " on server: " + event.getGuild().getName()).queue();
}
}
}

BotLogger.info("Removing user from VIP list for server: " + event.getGuild().getName());
}
}else {
event.getAuthor().getPrivateChannel().sendMessage(MessageUtils.getNoPermissionMsg(PermissionHandler.ADMIN_PERMISSION)).queue();
} else {
if (!event.getAuthor().hasPrivateChannel()) {
event.getAuthor().openPrivateChannel().queue(channel -> {
channel.sendMessage(MessageUtils.getNoPermissionMsg(PermissionHandler.ADMIN_PERMISSION)).queue();
});
} else {
event.getAuthor().getPrivateChannel().sendMessage(MessageUtils.getNoPermissionMsg(PermissionHandler.ADMIN_PERMISSION)).queue();
}
}
} else {
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>");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,17 +37,31 @@ public void onMessageReceived(MessageReceivedEvent event) {
stringBuilder.append("\t-" + guild.getName() + "\n");
}
try {
event.getAuthor().getPrivateChannel().sendMessage(MessageUtils.wrapStringInCodeBlock(stringBuilder.toString())).block();
if (!event.getAuthor().hasPrivateChannel()) {
event.getAuthor().openPrivateChannel().queue(channel -> {
try {
channel.sendMessage(MessageUtils.wrapStringInCodeBlock(stringBuilder.toString())).block();
} catch (RateLimitedException e) {
e.printStackTrace();
}
});
} else {
event.getAuthor().getPrivateChannel().sendMessage(MessageUtils.wrapStringInCodeBlock(stringBuilder.toString())).block();
}
} catch (RateLimitedException e) {
e.printStackTrace();
}
BotLogger.debug(stringBuilder.toString());

} else {
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();
if (!event.getAuthor().hasPrivateChannel()) {
event.getAuthor().openPrivateChannel().queue(channel -> {
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();
});
} else {
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();
}
}
}

DiscordLogHandler.onMessageReceived(event);
}

Expand Down
Loading

0 comments on commit 2fb2f23

Please sign in to comment.