use of fun.rubicon.sql.GuildSQL in project Rubicon by Rubicon-Bot.
the class CommandWhitelist method execute.
@Override
protected Message execute(CommandManager.ParsedCommandInvocation parsedCommandInvocation, UserPermissions userPermissions) {
String[] args = parsedCommandInvocation.getArgs();
Member member = parsedCommandInvocation.getMember();
Guild guild = parsedCommandInvocation.getGuild();
TextChannel channel = parsedCommandInvocation.getTextChannel();
Message message = parsedCommandInvocation.getMessage();
if (args.length == 0)
return createHelpMessage();
GuildSQL guildSQL = GuildSQL.fromGuild(guild);
if (guildSQL.enabledBlacklist()) {
return new MessageBuilder().setEmbed(EmbedUtil.error("Already using blacklist", "You can't use black- and whitelist on the same server").build()).build();
}
switch(args[0]) {
case "list":
executeList(args, member, guild, channel);
break;
case "add":
case "whitelist":
executeAdd(args, member, guild, channel, message);
break;
case "remove":
case "blacklist":
executeRemove(args, member, guild, channel, message);
break;
default:
SafeMessage.sendMessage(channel, createHelpMessage(), 5);
break;
}
return null;
}
use of fun.rubicon.sql.GuildSQL in project Rubicon by Rubicon-Bot.
the class CommandWhitelist method executeRemove.
private void executeRemove(String[] args, Member member, Guild guild, TextChannel textChannel, Message message) {
GuildSQL sql = GuildSQL.fromGuild(guild);
if (message.getMentionedChannels().isEmpty()) {
SafeMessage.sendMessage(textChannel, EmbedUtil.error("Unknown usage", "Please use `rc!whitelist add <#Channel>`").build(), 7);
return;
}
TextChannel channel = message.getMentionedChannels().get(0);
if (!sql.isWhitelisted(channel)) {
SafeMessage.sendMessage(textChannel, EmbedUtil.info("Not whitelisted", "This channel is not whitelisted").build());
return;
}
String oldEntry = RubiconBot.getMySQL().getGuildValue(guild, "whitelist");
String newEntry;
if (oldEntry.equals(channel.getId()))
newEntry = "";
else
newEntry = oldEntry.replace(channel.getId(), "");
if (newEntry.contains(","))
newEntry = new StringBuilder(newEntry).replace(newEntry.lastIndexOf(","), newEntry.lastIndexOf(",") + 1, "").toString();
RubiconBot.getMySQL().updateGuildValue(guild, "whitelist", newEntry);
SafeMessage.sendMessage(textChannel, EmbedUtil.success("Successfully removed channel from whitelist", "Successfully removed channel `" + channel.getName() + "` from whitelist!").build(), 5);
}
use of fun.rubicon.sql.GuildSQL in project Rubicon by Rubicon-Bot.
the class CommandBlacklist method executeAdd.
private void executeAdd(String[] args, Member member, Guild guild, TextChannel textChannel, Message message) {
GuildSQL guildSQL = GuildSQL.fromGuild(guild);
if (message.getMentionedChannels().isEmpty()) {
SafeMessage.sendMessage(textChannel, EmbedUtil.error("Unknown usage", "Please use `rc!whitelist add <#Channel>`").build(), 7);
return;
}
TextChannel channel = message.getMentionedChannels().get(0);
if (guildSQL.isBlacklisted(channel)) {
SafeMessage.sendMessage(textChannel, EmbedUtil.info("Already blacklisted", "This channel is already whitelisted").build());
return;
}
String oldEntry = RubiconBot.getMySQL().getGuildValue(guild, "blacklist");
String newEntry;
if (oldEntry.equals(""))
newEntry = channel.getId();
else
newEntry = oldEntry + "," + channel.getId();
RubiconBot.getMySQL().updateGuildValue(guild, "blacklist", newEntry);
SafeMessage.sendMessage(textChannel, EmbedUtil.success("Successfully blacklisted channel", "Successfully whitelisted channel `" + channel.getName() + "` !").build(), 5);
}
use of fun.rubicon.sql.GuildSQL in project Rubicon by Rubicon-Bot.
the class CommandBlacklist method execute.
@Override
protected Message execute(CommandManager.ParsedCommandInvocation parsedCommandInvocation, UserPermissions userPermissions) {
String[] args = parsedCommandInvocation.getArgs();
Member member = parsedCommandInvocation.getMember();
Guild guild = parsedCommandInvocation.getGuild();
TextChannel channel = parsedCommandInvocation.getTextChannel();
Message message = parsedCommandInvocation.getMessage();
if (args.length == 0)
return createHelpMessage();
GuildSQL guildSQL = GuildSQL.fromGuild(guild);
if (guildSQL.enabledWhitelist()) {
return new MessageBuilder().setEmbed(EmbedUtil.error("Already using whitelist", "You can't use black- and whitelist on the same server").build()).build();
}
switch(args[0]) {
case "list":
executeList(args, member, guild, channel);
break;
case "add":
case "blacklist":
executeAdd(args, member, guild, channel, message);
break;
case "remove":
case "whitelist":
executeRemove(args, member, guild, channel, message);
break;
default:
SafeMessage.sendMessage(channel, createHelpMessage(), 5);
break;
}
return null;
}
use of fun.rubicon.sql.GuildSQL in project Rubicon by Rubicon-Bot.
the class CommandBlacklist method executeList.
private void executeList(String[] args, Member member, Guild guild, TextChannel textChannel) {
GuildSQL guildSQL = GuildSQL.fromGuild(guild);
if (guildSQL.enabledBlacklist()) {
List<String> channelIDs = Arrays.asList(RubiconBot.getMySQL().getGuildValue(guild, "blacklist").split(","));
StringBuilder channels = new StringBuilder();
channelIDs.forEach(id -> {
try {
TextChannel channel = guild.getTextChannelById(id);
channels.append(channel.getName()).append(", ");
} catch (NullPointerException ignored) {
String oldEntry = RubiconBot.getMySQL().getGuildValue(guild, "blacklist");
String newEntry = oldEntry.replace(id, "");
if (newEntry.contains(","))
newEntry = new StringBuilder(newEntry).replace(newEntry.lastIndexOf(","), newEntry.lastIndexOf(",") + 1, "").toString();
RubiconBot.getMySQL().updateGuildValue(guild, "blacklist", newEntry);
if (channelIDs.size() == 0) {
SafeMessage.sendMessage(textChannel, EmbedUtil.info("Blacklisted Channels", "Blacklist mode: `" + String.valueOf(guildSQL.enabledBlacklist()).replace("true", "enabled").replace("false", "disabled") + "`").build());
return;
}
}
});
channels.replace(channels.lastIndexOf(","), channels.lastIndexOf(",") + 1, "");
SafeMessage.sendMessage(textChannel, EmbedUtil.info("Blacklisted Channels", "Blacklist mode: `" + String.valueOf(guildSQL.enabledBlacklist()).replace("true", "enabled").replace("false", "disabled") + "`\nChannels: `" + channels.toString() + "`").build());
} else
SafeMessage.sendMessage(textChannel, EmbedUtil.info("Blacklisted Channels", "Blacklist mode: `" + String.valueOf(guildSQL.enabledBlacklist()).replace("true", "enabled").replace("false", "disabled") + "`").build());
}
Aggregations