diff options
author | Tyler Murphy <tylermurphy534@gmail.com> | 2022-09-02 13:33:37 -0400 |
---|---|---|
committer | Tyler Murphy <tylermurphy534@gmail.com> | 2022-09-02 13:33:37 -0400 |
commit | 7932ef8bc5ef07b81fe84a718e741e523d0833cc (patch) | |
tree | 38489cb27258182f86688a099310401b4a9d8608 /src/main/java/net | |
parent | v11 (diff) | |
download | ken-7932ef8bc5ef07b81fe84a718e741e523d0833cc.tar.gz ken-7932ef8bc5ef07b81fe84a718e741e523d0833cc.tar.bz2 ken-7932ef8bc5ef07b81fe84a718e741e523d0833cc.zip |
release
Diffstat (limited to 'src/main/java/net')
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"); |