我正在设置一个SQLite到我的不和谐机器人,我想创建一个数据库文件到每个服务器与服务器的名称,但我找不到公会到每个服务器
我有一个类来创建与sql和main的连接,创建连接的方法很好,但我只需要为每个服务器创建一个db文件
这是我的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行中。连接(我需要在这里输入服务器的名称)
我需要将我的bot连接到的每个服务器名称都放在其中
在构建JDA之前,不能从JDA请求服务器列表。为了确保JDA已正确加载,您可以尝试在JDA触发ReadyEvent后连接到数据库。
要获取包含机器人连接到的所有公会名称的ArrayList,请从Ready事件请求JDA:
private List<String> getGuilds(ReadyEvent event) {
List<String> list = new ArrayList<>();
for (Guild guild : event.getJDA().getGuilds())
list.add(guild.getName());
return list;
}
问题内容: 是否有一种快速的方法可以从中的所有表获取所有列名,而不必列出所有表? 问题答案:
我想要从服务器的一个主题开始所有的消息。 当使用上面的控制台命令时,我希望能够从一开始就获得一个主题中的所有消息,但我不能从一开始就使用java代码消费一个主题中的所有消息。
问题内容: 我只需要知道使用Java的Mac上文件的所有者名称,我该如何获取它?谢谢! 问题答案: 这个讨厌。有 没有 用于获取文件的所有者(至少直到并包括Java 6中,这是目前的生产版本的OSX)标准方法。现在,最简单的方法是使用a 来执行以文件名作为参数的对的调用,然后解析将在子进程的标准输出通道上返回的结果。解析结果时必须小心,因为OSX上的用户名可能包含空格。 或者,使用JNI。
问题内容: 有没有办法检索由?管理的所有表的名称?例如,所有通过?添加的表。 问题答案: 这是如何使用以下方法获取一个tableName [编辑] :您可以通过调用找到所有内容,并找到所有类似的表名
我试图获得java中activeMQ的所有队列名称,我在这里和这里找到了一些关于这个的话题,人们建议使用DestinationSource,我在编写代码时无法在Eclipse中导入它。我试过了: 我使用的是 java 1.7 和最新的 activemq 版本 5.14.1。任何想法,如果目标源仍然受支持?谢谢
问题内容: 我正在使用和创建神经网络;由于某种原因,我想获得某种内在的张量的值给定的输入,所以我使用的,作为一个。 但是,我发现很难找到张量名称的正确语法,即使知道它的名称也很困难(而且我对操作和张量感到困惑),因此我使用张量板绘制图形并寻找名称。 有没有一种方法可以在不使用张量板的情况下枚举图中的所有张量? 问题答案: 你可以做 另外,如果您要在IPython笔记本中进行原型制作,则可以直接在笔