fixed issues causing plugin not to operate
This commit is contained in:
@@ -52,7 +52,7 @@ public class Main extends JavaPlugin {
|
||||
sql.connect();
|
||||
if(!sql.tableExists(sqltable)){
|
||||
log(Level.INFO, "Table not found. Creating new table...");
|
||||
sql.update("CREATE TABLE " + sqltable + " (DiscordID NOT NULL CHAR(18), MinecraftName VARCHAR(16), UUID CHAR(36), PRIMARY KEY (DiscordID);");
|
||||
sql.update("CREATE TABLE " + sqltable + " (DiscordID CHAR(18), MinecraftName VARCHAR(16), UUID CHAR(36), PRIMARY KEY (DiscordID));");
|
||||
log(Level.INFO, "Table created!");
|
||||
}
|
||||
startReconnect();
|
||||
@@ -180,7 +180,7 @@ public class Main extends JavaPlugin {
|
||||
public ServerBot getBot() {
|
||||
return bot;
|
||||
}
|
||||
|
||||
|
||||
public boolean isExempt(String name) {
|
||||
for(String item: exempt) {
|
||||
if(item.equalsIgnoreCase(name)) {
|
||||
@@ -189,15 +189,15 @@ public class Main extends JavaPlugin {
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
public boolean assignRole() {
|
||||
return assignrole;
|
||||
}
|
||||
|
||||
|
||||
public String getAssignRoleName() {
|
||||
return rolename;
|
||||
}
|
||||
|
||||
|
||||
public String getKickMessage() {
|
||||
return kickmsg;
|
||||
}
|
||||
@@ -213,56 +213,63 @@ public class Main extends JavaPlugin {
|
||||
public boolean isMember(Player p) {
|
||||
String name = p.getName().toLowerCase();
|
||||
ArrayList<String> ids = new ArrayList<String>();
|
||||
ResultSet rs = sql.query("SELECT * FROM " + sqltable + " WHERE MinecraftName = " + name.toLowerCase());
|
||||
try {
|
||||
while (rs.next()) {
|
||||
ids.add(rs.getString("DiscordID"));
|
||||
ResultSet rs;
|
||||
if(sql.itemExists("MinecraftName", name, sqltable)) {
|
||||
rs = sql.query("SELECT * FROM " + sqltable + " HAVING MinecraftName = " + "\'" + name.toLowerCase() + "\';");
|
||||
try {
|
||||
while (rs.next()) {
|
||||
String tempid = rs.getString("DiscordID");
|
||||
ids.add(tempid);
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
log(Level.SEVERE, "Error getting Discord IDs from database!");
|
||||
e.printStackTrace();
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
log(Level.SEVERE, "Error getting Discord IDs from database!");
|
||||
e.printStackTrace();
|
||||
}
|
||||
for(String id : ids) {
|
||||
User user = bot.getJDA().getUserById(id);
|
||||
if(user != null) {
|
||||
for(Guild guild : bot.getJDA().getGuilds()) {
|
||||
if(guild.isMember(user)) {
|
||||
return true;
|
||||
for(String id : ids) {
|
||||
User user = bot.getJDA().getUserById(id);
|
||||
if(user != null) {
|
||||
for(Guild guild : bot.getJDA().getGuilds()) {
|
||||
if(guild.isMember(user)) {
|
||||
String uuid = p.getUniqueId().toString();
|
||||
sql.update("UPDATE " + sqltable + " SET UUID = " + "\'" + uuid + "\'" + " WHERE DiscordID = " + "\'" + id + "\';");
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
String uuid = p.getUniqueId().toString();
|
||||
ids = new ArrayList<String>();
|
||||
rs = sql.query("SELECT * FROM " + sqltable + " WHERE UUID = " + uuid);
|
||||
try {
|
||||
while (rs.next()) {
|
||||
ids.add(rs.getString("DiscordID"));
|
||||
if(sql.itemExists("UUID", uuid, sqltable)) {
|
||||
ids = new ArrayList<String>();
|
||||
rs = sql.query("SELECT * FROM " + sqltable + " WHERE UUID = " + "\'" + uuid + "\';");
|
||||
try {
|
||||
while (rs.next()) {
|
||||
ids.add(rs.getString("DiscordID"));
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
log(Level.SEVERE, "Error getting Discord IDs from database!");
|
||||
e.printStackTrace();
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
log(Level.SEVERE, "Error getting Discord IDs from database!");
|
||||
e.printStackTrace();
|
||||
}
|
||||
for(String id : ids) {
|
||||
User user = bot.getJDA().getUserById(id);
|
||||
if(user != null) {
|
||||
for(Guild guild : bot.getJDA().getGuilds()) {
|
||||
if(guild.isMember(user)) {
|
||||
sql.update("UPDATE " + sqltable + " SET MinecraftName = " + p.getName().toLowerCase() + " WHERE DiscordID = " + id + ";");
|
||||
return true;
|
||||
for(String id : ids) {
|
||||
User user = bot.getJDA().getUserById(id);
|
||||
if(user != null) {
|
||||
for(Guild guild : bot.getJDA().getGuilds()) {
|
||||
if(guild.isMember(user)) {
|
||||
sql.update("UPDATE " + sqltable + " SET MinecraftName = " + "\'" + p.getName().toLowerCase() + "\'" + " WHERE DiscordID = " + "\'" + id + "\';");
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
public User getDiscordUser(Player p) {
|
||||
String name = p.getName().toLowerCase();
|
||||
ArrayList<String> ids = new ArrayList<String>();
|
||||
ResultSet rs = sql.query("SELECT * FROM " + sqltable + " WHERE MinecraftName = " + name.toLowerCase());
|
||||
ResultSet rs = sql.query("SELECT * FROM " + sqltable + " HAVING MinecraftName = " + "\'" + name.toLowerCase() + "\';");
|
||||
try {
|
||||
while (rs.next()) {
|
||||
ids.add(rs.getString("DiscordID"));
|
||||
@@ -283,5 +290,5 @@ public class Main extends JavaPlugin {
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -38,6 +38,7 @@ public class ServerBot {
|
||||
jda.addEventListener(new BotListener(this));
|
||||
jda.setAutoReconnect(true);
|
||||
String link = "https://discordapp.com/oauth2/authorize?&client_id=" + jda.getSelfUser().getId();
|
||||
link = link + "&scope=bot&permissions=8";
|
||||
plugin.log(Level.INFO, "Connection successful!");
|
||||
plugin.log(Level.INFO, "You can add this bot to Discord using this link: ");
|
||||
plugin.log(Level.INFO, link);
|
||||
@@ -82,7 +83,6 @@ public class ServerBot {
|
||||
return jda;
|
||||
}
|
||||
|
||||
|
||||
public void shutDown(){
|
||||
jda.shutdown();
|
||||
}
|
||||
|
||||
@@ -27,7 +27,10 @@ public class AddMeCommand implements Command{
|
||||
public void action(String[] args, MessageReceivedEvent event) {
|
||||
if(args.length == 1) {
|
||||
String name = args[0].toLowerCase();
|
||||
bot.log(Level.INFO, event.getAuthor().getName() + " issued a Discord Bot command: -addme " + name);
|
||||
if(name.length() > 16) {
|
||||
return;
|
||||
}
|
||||
bot.log(Level.INFO, event.getAuthor().getName() + " issued a Discord Bot command: !addme " + name);
|
||||
if(bot.getSQL().itemExists("DiscordID", event.getAuthor().getId(), bot.getTableName())) {
|
||||
bot.getSQL().set("MinecraftName", name, "DiscordID", "=", event.getAuthor().getId(), bot.getTableName());
|
||||
}else {
|
||||
|
||||
@@ -8,7 +8,7 @@ public class CommandParser {
|
||||
public CommandContainer parse(String rw, MessageReceivedEvent e){
|
||||
ArrayList<String> split = new ArrayList<String>();
|
||||
String raw = rw;
|
||||
String fixed = raw.replaceFirst("-", "");
|
||||
String fixed = raw.replaceFirst("!", "");
|
||||
String[] splitf = fixed.split(" ");
|
||||
for(String s: splitf){
|
||||
split.add(s);
|
||||
|
||||
@@ -38,6 +38,9 @@ public class AddExempt implements CommandExecutor{
|
||||
}
|
||||
}
|
||||
String name = args[0];
|
||||
if(name.length() > 16) {
|
||||
return true;
|
||||
}
|
||||
plugin.addExempt(name);
|
||||
if(sender instanceof Player) {
|
||||
((Player)sender).sendMessage(ChatColor.GREEN + "[BCraftBot] Player added to the exempt list!");
|
||||
|
||||
@@ -24,29 +24,33 @@ public class PlayerListener implements Listener {
|
||||
@EventHandler
|
||||
public void onPlayerLogin(PlayerLoginEvent event){
|
||||
Player player = event.getPlayer();
|
||||
if(plugin.isMember(player) || plugin.isExempt(player.getName())) {
|
||||
if(plugin.assignRole()) {
|
||||
for(Guild guild : plugin.getBot().getJDA().getGuilds()) {
|
||||
|
||||
Role role = null;
|
||||
for(Role r : guild.getRoles()) {
|
||||
if(r.getName().equalsIgnoreCase(plugin.getAssignRoleName())) {
|
||||
role = r;
|
||||
}
|
||||
}
|
||||
|
||||
User user = plugin.getDiscordUser(player);
|
||||
Member mem = guild.getMember(user);
|
||||
|
||||
if(user != null && user.getMutualGuilds().contains(guild) && role != null) {
|
||||
guild.getController().addRolesToMember(mem, role).queue();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}else {
|
||||
if(!plugin.isMember(player) && !plugin.isExempt(player.getName())) {
|
||||
event.disallow(Result.KICK_OTHER, plugin.getKickMessage());
|
||||
return;
|
||||
}
|
||||
if(plugin.assignRole() && !plugin.isExempt(player.getName())) {
|
||||
|
||||
|
||||
for(Guild guild : plugin.getBot().getJDA().getGuilds()) {
|
||||
|
||||
Role role = null;
|
||||
for(Role r : guild.getRoles()) {
|
||||
if(r.getName().equalsIgnoreCase(plugin.getAssignRoleName())) {
|
||||
role = r;
|
||||
}
|
||||
}
|
||||
|
||||
User user = plugin.getDiscordUser(player);
|
||||
Member mem = guild.getMember(user);
|
||||
|
||||
if(user != null && user.getMutualGuilds().contains(guild) && role != null) {
|
||||
guild.getController().addRolesToMember(mem, role).queue();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user