Как получить имена всех серверов, где мой бот разногласий в [JDA] - PullRequest
0 голосов
/ 28 июня 2019

Я настраиваю SQLite для своего бота Discord и хочу создать файл БД для каждого сервера с именем сервера, но я не могу найти гильдию для каждого сервера

У меня есть класс для создания подключения к SQL и основной, метод создания подключения работает хорошо, но мне просто нужно создать для каждого сервера файл БД

Это мой класс соединения SQLite:

    package LiteSQL;

    import java.io.File;
    import java.io.IOException;
    import java.sql.*;

    public class LiteSQL {

    private static Connection con;
    private static Statement stmt;
    public static void connect(String serverName){
        con=null;

        try{

            File file = new File(serverName+".db");
            if(!file.exists())
                file.createNewFile();

            String url="jdbc:sqlite:"+file.getPath();
            con = DriverManager.getConnection(url);
            stmt = con.createStatement();

            System.out.println("SQL Connected");
        }catch(SQLException | IOException e){
            e.printStackTrace();
        }


    }



    public static void disconnect(){
        try{
            if(con!=null) {
                con.close();
                System.out.println("Disconnected from SQL");
            }
        }catch(SQLException e){
            e.printStackTrace();
        }
    }

    public static void onUpdate(String sql){
        try{

            stmt.execute(sql);
        }catch(SQLException e){
            e.printStackTrace();
        }
    }


    public static ResultSet onQury(String sql){
        try{
            return stmt.executeQuery(sql);
        }catch(SQLException e){
            e.printStackTrace();
        }
        return null;
        }
    }

и это мой основной метод

    package Main;

    import Commands.*;
    import Commands.AdminCommands.Clear;
    import Commands.AdminCommands.Verify;
    import Commands.AdminCommands.mute;
    import Commands.AdminCommands.unmute;
    import Commands.Music.*;
    import Events.MemberJoin;
    import Events.MemberLeave;
    import Events.Reactions;
    import LiteSQL.LiteSQL;
    import net.dv8tion.jda.core.AccountType;
    import net.dv8tion.jda.core.JDA;
    import net.dv8tion.jda.core.JDABuilder;
    import net.dv8tion.jda.core.entities.Game;
    import net.dv8tion.jda.core.entities.Guild;

    public class Bot {

    public static final String prefix = "~";
    public static JDA jda;


    public static void main(String[] args) throws Exception{
        LiteSQL.connect(I need to put here the servers' names);
         jda = new 
     JDABuilder(AccountType.BOT).setToken("NTkzMDgwMjIyMDMxNTQ0MzIx.XRI0wA.2TKzqfhrimbdip684e30QfFhMK8").build();


        jda.getPresence().setGame(Game.playing("Java Version bot '~'     prefix"));


        }


    }

В строке LiteSQL.connect(I need to put here the servers' names); Мне нужно указать каждое имя сервера, к которому подключен мой бот

...