summaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/net/tylermurphy/ken/Ken.java7
-rw-r--r--src/main/java/net/tylermurphy/ken/command/Responder.java5
-rw-r--r--src/main/java/net/tylermurphy/ken/command/moderation/SetJoining.java4
-rw-r--r--src/main/java/net/tylermurphy/ken/command/music/Play.java5
-rw-r--r--src/main/java/net/tylermurphy/ken/command/selfrole/Roles.java7
-rw-r--r--src/main/java/net/tylermurphy/ken/database/EconomyTable.java2
-rw-r--r--src/main/java/net/tylermurphy/ken/database/GuildSettingsTable.java16
-rw-r--r--src/main/java/net/tylermurphy/ken/database/ModerationTable.java2
-rw-r--r--src/main/java/net/tylermurphy/ken/database/SelfRoleTable.java9
-rw-r--r--src/main/java/net/tylermurphy/ken/database/UserTable.java2
-rw-r--r--src/main/java/net/tylermurphy/ken/database/connections/MySQLConnection.java1
11 files changed, 35 insertions, 25 deletions
diff --git a/src/main/java/net/tylermurphy/ken/Ken.java b/src/main/java/net/tylermurphy/ken/Ken.java
index 235479a..7c61448 100644
--- a/src/main/java/net/tylermurphy/ken/Ken.java
+++ b/src/main/java/net/tylermurphy/ken/Ken.java
@@ -1,7 +1,8 @@
package net.tylermurphy.ken;
import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
-import com.google.api.client.json.jackson2.JacksonFactory;
+
+import com.google.api.client.json.gson.GsonFactory;
import com.google.api.services.youtube.YouTube;
import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.JDA;
@@ -62,7 +63,7 @@ public class Ken {
try {
youTube = new YouTube.Builder(
GoogleNetHttpTransport.newTrustedTransport(),
- JacksonFactory.getDefaultInstance(),
+ GsonFactory.getDefaultInstance(),
null
).setApplicationName("Ken").build();
} catch(Exception e) {
@@ -106,8 +107,6 @@ public class Ken {
public Guild getGuildById(long id) { return api.getGuildById(id); }
- public User getUserById(long id) { return api.getUserById(id); }
-
public EmbedBuilder getDefaultEmbed() {
EmbedBuilder builder = new EmbedBuilder();
builder.setColor(new Color(
diff --git a/src/main/java/net/tylermurphy/ken/command/Responder.java b/src/main/java/net/tylermurphy/ken/command/Responder.java
index 62a386d..30e24f1 100644
--- a/src/main/java/net/tylermurphy/ken/command/Responder.java
+++ b/src/main/java/net/tylermurphy/ken/command/Responder.java
@@ -249,7 +249,6 @@ public class Responder extends ListenerAdapter {
event.getHook().sendMessageEmbeds(builder.build()).queue();
event.getHook().editOriginalComponents(new ArrayList<>()).queue();
}
-
}
private void reply(Response response, InteractionHook hook){
@@ -318,10 +317,10 @@ public class Responder extends ListenerAdapter {
public void onGuildMemberJoin(GuildMemberJoinEvent event) {
User user = event.getUser();
Ken.getInstance().getDatabase().getUserTable().setData(user.getIdLong(), user.getName(), Integer.parseInt(user.getDiscriminator()));
- boolean setValue = false;
+ boolean setValue = true;
String value = Ken.getInstance().getDatabase().getGuildSettingsTable().getData(event.getGuild().getIdLong(), "closeServer");
if(value != null) setValue = Boolean.parseBoolean(value);
- if(setValue){
+ if(!setValue){
try {
event.getGuild().kick(user, "Server is currently closed").queue();
user.openPrivateChannel().queue(privateChannel -> {
diff --git a/src/main/java/net/tylermurphy/ken/command/moderation/SetJoining.java b/src/main/java/net/tylermurphy/ken/command/moderation/SetJoining.java
index dda30b0..8e8a8f8 100644
--- a/src/main/java/net/tylermurphy/ken/command/moderation/SetJoining.java
+++ b/src/main/java/net/tylermurphy/ken/command/moderation/SetJoining.java
@@ -23,9 +23,9 @@ public class SetJoining {
if(toggle == setValue){
return Response.error("Server is already set to " + (toggle ? "open" : "closed"));
}
- boolean success = Ken.getInstance().getDatabase().getGuildSettingsTable().setData(guild.getIdLong(), "closeServer", String.valueOf(Boolean.valueOf(toggle)));
+ boolean success = Ken.getInstance().getDatabase().getGuildSettingsTable().setData(guild.getIdLong(), "closeServer", String.valueOf(toggle));
if(success) {
- return Response.error("Set the server to " + (toggle ? "open" : "closed"));
+ return Response.success("Set the server to " + (toggle ? "open" : "closed"));
} else {
return Response.error("Failed to save the change to the database");
}
diff --git a/src/main/java/net/tylermurphy/ken/command/music/Play.java b/src/main/java/net/tylermurphy/ken/command/music/Play.java
index 554b8dc..e7fd47b 100644
--- a/src/main/java/net/tylermurphy/ken/command/music/Play.java
+++ b/src/main/java/net/tylermurphy/ken/command/music/Play.java
@@ -12,6 +12,7 @@ import net.tylermurphy.ken.command.Response;
import net.tylermurphy.ken.music.PlayerManager;
import java.net.URL;
+import java.util.Collections;
import java.util.List;
public class Play {
@@ -74,10 +75,10 @@ public class Play {
private String searchYoutube(String input) {
try {
List<SearchResult> results = Ken.getInstance().getYouTube().search()
- .list("id,snippet")
+ .list(Collections.singletonList("id,snippet"))
.setQ(input)
.setMaxResults(1L)
- .setType("video")
+ .setType(Collections.singletonList("video"))
.setFields("items(id/kind,id/videoId,snippet/title,snippet/thumbnails/default/url)")
.setKey(Ken.getInstance().getConfig().getString("youtubeAPIKey"))
.execute()
diff --git a/src/main/java/net/tylermurphy/ken/command/selfrole/Roles.java b/src/main/java/net/tylermurphy/ken/command/selfrole/Roles.java
index c294d82..3634642 100644
--- a/src/main/java/net/tylermurphy/ken/command/selfrole/Roles.java
+++ b/src/main/java/net/tylermurphy/ken/command/selfrole/Roles.java
@@ -53,6 +53,9 @@ public class Roles {
@SelectMenuCallback(name="roles")
public Response onSelect(String choice, Member sender, Guild guild){
long id = Long.parseLong(choice);
+ if(id == 0L) {
+ return Response.error("There are no role selections on this page");
+ }
Role role = Ken.getInstance().getRoleById(id);
try {
if (sender.getRoles().contains(role)) {
@@ -93,6 +96,10 @@ public class Roles {
result.add(role.getName());
result.add(role.getId());
}
+ if(result.isEmpty()){
+ result.add("No Roles Listed");
+ result.add(String.valueOf(0L));
+ }
return result;
}
diff --git a/src/main/java/net/tylermurphy/ken/database/EconomyTable.java b/src/main/java/net/tylermurphy/ken/database/EconomyTable.java
index 9a716a5..cad9ae2 100644
--- a/src/main/java/net/tylermurphy/ken/database/EconomyTable.java
+++ b/src/main/java/net/tylermurphy/ken/database/EconomyTable.java
@@ -43,7 +43,7 @@ public class EconomyTable {
}
public boolean setData(long guildId, long userId, String data) {
- String sql = "INSERT OR REPLACE INTO economy_data (guild_id, user_id, data) VALUES(?,?,?)";
+ String sql = "REPLACE INTO economy_data (guild_id, user_id, data) VALUES(?,?,?)";
try(Connection connection = database.connect(); PreparedStatement statement = connection.prepareStatement(sql)) {
statement.setLong(1, guildId);
statement.setLong(2, userId);
diff --git a/src/main/java/net/tylermurphy/ken/database/GuildSettingsTable.java b/src/main/java/net/tylermurphy/ken/database/GuildSettingsTable.java
index f21133e..6303861 100644
--- a/src/main/java/net/tylermurphy/ken/database/GuildSettingsTable.java
+++ b/src/main/java/net/tylermurphy/ken/database/GuildSettingsTable.java
@@ -13,9 +13,9 @@ public class GuildSettingsTable {
String sql = """
CREATE TABLE IF NOT EXISTS guild_settings_data (
guild_id BIGINT NOT NULL,
- key VARCHAR(64) NOT NULL,
+ name VARCHAR(64) NOT NULL,
value VARCHAR(24) NOT NULL,
- PRIMARY KEY (guild_id,key)
+ PRIMARY KEY (guild_id,name)
);""";
try(Connection connection = database.connect(); Statement statement = connection.createStatement()) {
@@ -27,11 +27,11 @@ public class GuildSettingsTable {
this.database = database;
}
- public String getData(long guildId, String key){
- String sql = "SELECT * FROM guild_settings_data WHERE guild_id=? AND key=?";
+ public String getData(long guildId, String name){
+ String sql = "SELECT * FROM guild_settings_data WHERE guild_id=? AND name=?";
try(Connection connection = database.connect(); PreparedStatement statement = connection.prepareStatement(sql)) {
statement.setLong(1, guildId);
- statement.setString(2, key);
+ statement.setString(2, name);
ResultSet rs = statement.executeQuery();
if(rs.next()) return rs.getString("value");
else return null;
@@ -41,11 +41,11 @@ public class GuildSettingsTable {
}
}
- public boolean setData(long guildId, String key, String value){
- String sql = "INSERT OR REPLACE INTO guild_settings_data (guild_id, key, value) VALUES(?,?,?)";
+ public boolean setData(long guildId, String name, String value){
+ String sql = "REPLACE INTO guild_settings_data (guild_id, name, value) VALUES(?,?,?)";
try(Connection connection = database.connect(); PreparedStatement statement = connection.prepareStatement(sql)) {
statement.setLong(1, guildId);
- statement.setString(2, key);
+ statement.setString(2, name);
statement.setString(3, value);
return statement.executeUpdate() != 0;
} catch (SQLException e) {
diff --git a/src/main/java/net/tylermurphy/ken/database/ModerationTable.java b/src/main/java/net/tylermurphy/ken/database/ModerationTable.java
index 8a29eca..6079c25 100644
--- a/src/main/java/net/tylermurphy/ken/database/ModerationTable.java
+++ b/src/main/java/net/tylermurphy/ken/database/ModerationTable.java
@@ -60,7 +60,7 @@ public class ModerationTable {
}
public boolean setData(long guildId, long userId, JSONArray history, String status, long until) {
- String sql = "INSERT OR REPLACE INTO moderation_data (guild_id, user_id, history, status, until) VALUES(?,?,?,?,?)";
+ String sql = "REPLACE INTO moderation_data (guild_id, user_id, history, status, until) VALUES(?,?,?,?,?)";
try(Connection connection = database.connect(); PreparedStatement statement = connection.prepareStatement(sql)) {
statement.setLong(1, guildId);
statement.setLong(2, userId);
diff --git a/src/main/java/net/tylermurphy/ken/database/SelfRoleTable.java b/src/main/java/net/tylermurphy/ken/database/SelfRoleTable.java
index 5411bd7..5ad289c 100644
--- a/src/main/java/net/tylermurphy/ken/database/SelfRoleTable.java
+++ b/src/main/java/net/tylermurphy/ken/database/SelfRoleTable.java
@@ -42,7 +42,7 @@ public class SelfRoleTable {
}
public boolean setData(long guildId, int page, String data){
- String sql = "INSERT OR REPLACE INTO self_role_data (guild_id, page, data) VALUES(?,?,?)";
+ String sql = "REPLACE INTO self_role_data (guild_id, page, data) VALUES(?,?,?)";
try(Connection connection = database.connect(); PreparedStatement statement = connection.prepareStatement(sql)) {
statement.setLong(1, guildId);
statement.setInt(2, page);
@@ -69,11 +69,14 @@ public class SelfRoleTable {
}
public int getPages(long guildId) {
- String sql = "SELECT MAX(page) AS pageCount FROM self_role_data WHERE guild_id = ?";
+ String sql = "SELECT * FROM self_role_data WHERE guild_id = ? ORDER BY page DESC LIMIT 1";
try(Connection connection = database.connect(); PreparedStatement statement = connection.prepareStatement(sql)) {
statement.setLong(1, guildId);
ResultSet rs = statement.executeQuery();
- return rs.getInt("pageCount");
+ if(rs.next()) {
+ return rs.getInt("page");
+ }
+ return 0;
} catch (SQLException e) {
Ken.getInstance().getLogger().error("SQL Error: " + e.getMessage());
return -1;
diff --git a/src/main/java/net/tylermurphy/ken/database/UserTable.java b/src/main/java/net/tylermurphy/ken/database/UserTable.java
index 2dfe231..1b109f6 100644
--- a/src/main/java/net/tylermurphy/ken/database/UserTable.java
+++ b/src/main/java/net/tylermurphy/ken/database/UserTable.java
@@ -49,7 +49,7 @@ public class UserTable {
}
public boolean setData(long userId, String username, int discriminator) {
- String sql = "INSERT OR REPLACE INTO user_data (user_id, username, discriminator) VALUES(?,?,?)";
+ String sql = "REPLACE INTO user_data (user_id, username, discriminator) VALUES(?,?,?)";
try(Connection connection = database.connect(); PreparedStatement statement = connection.prepareStatement(sql)) {
statement.setLong(1, userId);
statement.setString(2, username);
diff --git a/src/main/java/net/tylermurphy/ken/database/connections/MySQLConnection.java b/src/main/java/net/tylermurphy/ken/database/connections/MySQLConnection.java
index 4fb7fce..d32490c 100644
--- a/src/main/java/net/tylermurphy/ken/database/connections/MySQLConnection.java
+++ b/src/main/java/net/tylermurphy/ken/database/connections/MySQLConnection.java
@@ -21,6 +21,7 @@ public class MySQLConnection implements DatabaseConnection {
String password = Ken.getInstance().getConfig().getString("database.password");
String databaseName = Ken.getInstance().getConfig().getString("database.databaseName");
+ config.setDriverClassName(org.mariadb.jdbc.Driver.class.getName());
config.setJdbcUrl("jdbc:mariadb://"+host+":"+port+"/"+databaseName);
config.addDataSourceProperty("cachePrepStmts", "true");
config.addDataSourceProperty("prepStmtCacheSize", "250");