Fixed more bugs, allowed for conversations with rixa to be toggled
This commit is contained in:
parent
bf746fd5ae
commit
001ddf5d30
@ -6,7 +6,6 @@ import me.savvy.rixa.commands.handlers.CommandType;
|
||||
import me.savvy.rixa.commands.handlers.RixaPermission;
|
||||
import me.savvy.rixa.guild.RixaGuild;
|
||||
import me.savvy.rixa.guild.management.Guilds;
|
||||
import me.savvy.rixa.modules.levels.LevelsModule;
|
||||
import me.savvy.rixa.modules.music.MusicModule;
|
||||
import me.savvy.rixa.utils.MessageBuilder;
|
||||
import net.dv8tion.jda.core.entities.ChannelType;
|
||||
@ -172,30 +171,33 @@ public class ConfigCommand implements CommandExec {
|
||||
new MessageBuilder("Successfully set music role to " + role.getName() + "!").setColor(event.getMember().getColor()).queue(event.getChannel());
|
||||
}
|
||||
} else if (messages[1].equalsIgnoreCase("enable")) {
|
||||
if (messages[2].equalsIgnoreCase("music")) {
|
||||
((MusicModule) rixaGuild.getModule("Music")).setEnabled(true);
|
||||
new MessageBuilder("Successfully enabled the music module!").setColor(event.getMember().getColor()).queue(event.getChannel());
|
||||
} else if (messages[2].equalsIgnoreCase("levels")) {
|
||||
((LevelsModule) rixaGuild.getModule("Levels")).setEnabled(true);
|
||||
event.getChannel().sendMessage("Successfully enabled the levels module").queue();
|
||||
} else if (messages[2].equalsIgnoreCase("joinverification")) {
|
||||
rixaGuild.getModules().keySet().forEach(moduleName -> {
|
||||
if (messages[2].equalsIgnoreCase(moduleName)) {
|
||||
rixaGuild.getModule(moduleName).setEnabled(true);
|
||||
new MessageBuilder("Successfully enabled the `" + moduleName + "` module!").setColor(event.getMember().getColor()).queue(event.getChannel());
|
||||
}
|
||||
});
|
||||
if (messages[2].equalsIgnoreCase("joinverification")) {
|
||||
Guilds.getGuild(event.getGuild()).getGuildSettings().setJoinVerification(true);
|
||||
new MessageBuilder("Successfully enabled Join Verification!").setColor(event.getMember().getColor()).queue(event.getChannel());
|
||||
}
|
||||
} else if (messages[1].equalsIgnoreCase("disable")) {
|
||||
if (messages[2].equalsIgnoreCase("music")) {
|
||||
((MusicModule) rixaGuild.getModule("Music")).setEnabled(false);
|
||||
new MessageBuilder("Successfully disabled the music module!").setColor(event.getMember().getColor()).queue(event.getChannel());
|
||||
} else if (messages[2].equalsIgnoreCase("levels")) {
|
||||
((MusicModule) rixaGuild.getModule("Music")).setEnabled(false);
|
||||
event.getChannel().sendMessage("Successfully disabled the levels module").queue();
|
||||
} else if (messages[2].equalsIgnoreCase("joinverification")) {
|
||||
|
||||
rixaGuild.getModules().keySet().forEach(moduleName -> {
|
||||
if (messages[2].equalsIgnoreCase(moduleName)) {
|
||||
rixaGuild.getModule(moduleName).setEnabled(false);
|
||||
new MessageBuilder("Successfully disabled the `" + moduleName + "` module!").setColor(event.getMember().getColor()).queue(event.getChannel());
|
||||
}
|
||||
});
|
||||
if (messages[2].equalsIgnoreCase("joinverification")) {
|
||||
Guilds.getGuild(event.getGuild()).getGuildSettings().setJoinVerification(false);
|
||||
new MessageBuilder("Successfully disabled Join Verification!").setColor(event.getMember().getColor()).queue(event.getChannel());
|
||||
} else if (messages[2].equalsIgnoreCase("joinmessage")) {
|
||||
Guilds.getGuild(event.getGuild()).getGuildSettings().setJoinMessageChannel("default_value");
|
||||
new MessageBuilder("Successfully disabled Join messages!").setColor(event.getMember().getColor()).queue(event.getChannel());
|
||||
} else if (messages[2].equalsIgnoreCase("quitmessage")) {
|
||||
Guilds.getGuild(event.getGuild()).getGuildSettings().setQuitMessageChannel("default_value");
|
||||
new MessageBuilder("Successfully disabled Quit messages!").setColor(event.getMember().getColor()).queue(event.getChannel());
|
||||
}
|
||||
} else if (messages[1].equalsIgnoreCase("addperm") || messages[1].equalsIgnoreCase("addpermission") || messages[1].equalsIgnoreCase("aperm")) {
|
||||
String permission = "notFound";
|
||||
|
@ -12,8 +12,7 @@ public enum DatabaseTables {
|
||||
" `experience` int(90) NOT NULL\n" +
|
||||
");"),
|
||||
|
||||
MODULES("CREATE TABLE IF NOT EXISTS `modules` ( `guild_id` varchar(255) DEFAULT NULL, `levels` tinyint(1) NOT NULL DEFAULT '1'\n" +
|
||||
")"),
|
||||
MODULES("CREATE TABLE IF NOT EXISTS `modules` (`guild_id` varchar(255) DEFAULT NULL, `levels` tinyint(1) NOT NULL DEFAULT '1', `conversations` tinyint(1) NOT NULL DEFAULT '1');"),
|
||||
|
||||
MUSIC("CREATE TABLE IF NOT EXISTS `music` ( `guild_id` varchar(255) NOT NULL UNIQUE PRIMARY KEY, `music_role` varchar(255) NOT NULL DEFAULT 'default_value'," +
|
||||
" `skip_amount` int(5) NOT NULL DEFAULT '0', `max_playlist_amount` int(5) NOT NULL DEFAULT '100', `enabled` tinyint(1) NOT NULL DEFAULT '0'\n" +
|
||||
|
@ -56,7 +56,9 @@ public class MessageEvent {
|
||||
new MessageBuilder(event.getGuild().getName() + "'s server prefix is `" + rixaGuild.getGuildSettings().getPrefix() + "`.").queue(event.getChannel());
|
||||
return;
|
||||
}
|
||||
s = ((ConversationModule) rixaGuild.getModule("Conversations")).getChatBotSession().think(s);
|
||||
ConversationModule conversationModule = (ConversationModule) rixaGuild.getModule("Conversations");
|
||||
if (!conversationModule.isEnabled()) return;
|
||||
s = conversationModule.getChatBotSession().think(s);
|
||||
if (s.isEmpty()) return;
|
||||
event.getChannel().sendMessage(s).queue();
|
||||
return;
|
||||
|
@ -185,7 +185,7 @@ public class RixaGuild {
|
||||
}
|
||||
}
|
||||
|
||||
public RixaModule getModule(String levels) {
|
||||
return this.modules.get(levels);
|
||||
public RixaModule getModule(String module) {
|
||||
return this.modules.get(module);
|
||||
}
|
||||
}
|
||||
|
@ -5,6 +5,7 @@ import lombok.Setter;
|
||||
import me.savvy.rixa.Rixa;
|
||||
import me.savvy.rixa.data.database.sql.SQLBuilder;
|
||||
import me.savvy.rixa.enums.Result;
|
||||
import me.savvy.rixa.utils.DatabaseUtils;
|
||||
import net.dv8tion.jda.core.entities.Guild;
|
||||
import net.dv8tion.jda.core.entities.TextChannel;
|
||||
|
||||
@ -153,14 +154,7 @@ public class GuildSettings {
|
||||
}
|
||||
|
||||
private void update(String table, String setting, String key, Object placeholder, Object placeholder2) throws SQLException {
|
||||
PreparedStatement statement = db.getPreparedStatement("UPDATE ? SET ? = ? WHERE ? = ?;");
|
||||
statement.setString(1, table);
|
||||
statement.setString(2, setting);
|
||||
statement.setObject(3, placeholder);
|
||||
statement.setString(4, key);
|
||||
statement.setObject(5, placeholder2);
|
||||
statement.executeUpdate();
|
||||
statement.close();
|
||||
DatabaseUtils.update(table, setting, key, placeholder, placeholder2);
|
||||
}
|
||||
|
||||
public void setQuitMessageChannel(TextChannel quitMessageChannel) {
|
||||
|
@ -13,5 +13,7 @@ public interface RixaModule {
|
||||
|
||||
void load();
|
||||
|
||||
void setEnabled(boolean b);
|
||||
|
||||
void save();
|
||||
}
|
||||
|
@ -1,8 +1,14 @@
|
||||
package me.savvy.rixa.modules.conversations;
|
||||
|
||||
import com.google.code.chatterbotapi.*;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import me.savvy.rixa.Rixa;
|
||||
import me.savvy.rixa.guild.RixaGuild;
|
||||
import me.savvy.rixa.modules.RixaModule;
|
||||
import me.savvy.rixa.utils.DatabaseUtils;
|
||||
|
||||
import java.sql.PreparedStatement;
|
||||
|
||||
public class ConversationModule implements RixaModule {
|
||||
|
||||
@ -10,6 +16,10 @@ public class ConversationModule implements RixaModule {
|
||||
private ChatterBotFactory factory;
|
||||
private ChatterBotSession chatBotSession;
|
||||
private ChatterBot chatBot;
|
||||
@Getter
|
||||
@Setter
|
||||
private boolean enabled;
|
||||
|
||||
|
||||
public ConversationModule(RixaGuild rixaGuild) {
|
||||
this.rixaGuild = rixaGuild;
|
||||
@ -27,12 +37,15 @@ public class ConversationModule implements RixaModule {
|
||||
|
||||
@Override
|
||||
public boolean isEnabled() {
|
||||
return true;
|
||||
return enabled;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void load() {
|
||||
try {
|
||||
PreparedStatement ps = Rixa.getDatabase().getPreparedStatement("SELECT `conversations` FROM `modules` WHERE `guild_id` = ?");
|
||||
ps.setString(1, rixaGuild.getGuild().getId());
|
||||
this.enabled = Rixa.getDatabase().getBoolean(ps, "enabled");
|
||||
factory = new ChatterBotFactory();
|
||||
chatBot = factory.create(ChatterBotType.PANDORABOTS, "b0dafd24ee35a477");
|
||||
chatBotSession = chatBot.createSession();
|
||||
@ -42,7 +55,9 @@ public class ConversationModule implements RixaModule {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void save() {}
|
||||
public void save() {
|
||||
DatabaseUtils.update("modules", "conversations", "guild_id", enabled, rixaGuild.getGuild().getId());
|
||||
}
|
||||
|
||||
public ChatterBotSession getChatBotSession() {
|
||||
return chatBotSession;
|
||||
|
@ -18,6 +18,7 @@ public class DatabaseUtils {
|
||||
statement.setObject(2, placeholder);
|
||||
statement.setObject(3, placeholder2);
|
||||
statement.executeUpdate();
|
||||
statement.close();
|
||||
} catch (SQLException e) {
|
||||
e.printStackTrace();
|
||||
return Result.FALSE;
|
||||
|
Loading…
Reference in New Issue
Block a user