fixed a minor bug where the bot would exit immediately when deploying instead of waiting for the build to finish

milan
BodgeMaster 2022-02-20 08:53:04 +01:00
parent 4b075d63ed
commit 22e0139466
1 changed files with 69 additions and 66 deletions

View File

@ -6,73 +6,76 @@ import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class Main{
public class Main {
public static void main(String[] args) {
// Insert your bot's token here
String token = args[0];
CheckDeploy check = new CheckDeploy(7500, "/var/www/deployment/Hacky-Quizbot/id.txt");
check.start();
DiscordApi api = new DiscordApiBuilder().setToken(token).login().join();
public static void main(String[] args) {
// Insert your bot's token here
String token = args[0];
// Add a listener which answers with "Pong!" if someone writes "!ping"
api.addMessageCreateListener(event -> {
if (event.getMessageContent().equalsIgnoreCase("!ping")) {
event.getChannel().sendMessage("Pong!");
}
});
CheckDeploy check = new CheckDeploy(7500, "/var/www/deployment/Hacky-Quizbot/id.txt");
check.start();
// Print the invite url of your bot
System.out.println("You can invite the bot by using the following url: " + api.createBotInvite());
}
public static class CheckDeploy extends Thread{
private int interval;
private String id;
private String filename;
public CheckDeploy(int interval, String filename) {
this.interval = interval;
this.filename = filename;
}
public String grabId() {
File file = new File(this.filename);
Scanner reader;
String id = new String();
try {
reader = new Scanner(file);
while(reader.hasNextLine()) {
id = reader.nextLine();
}
reader.close();
}catch (FileNotFoundException e) {
System.err.println("File not found");
}
return id;
}
public void run() {
this.id = this.grabId(); //replace with correct filename
while(true) {
String new_id = this.grabId();
if(!new_id.equals(this.id)) {
System.exit(0);
}
try {
sleep(this.interval);
}catch (Exception e) {
System.err.println(e.getMessage());
}
}
}
}
DiscordApi api = new DiscordApiBuilder().setToken(token).login().join();
// Add a listener which answers with "Pong!" if someone writes "!ping"
api.addMessageCreateListener(event -> {
if (event.getMessageContent().equalsIgnoreCase("!ping")) {
event.getChannel().sendMessage("Pong!");
}
});
// Print the invite url of your bot
System.out.println("You can invite the bot by using the following url: " + api.createBotInvite());
}
public static class CheckDeploy extends Thread {
private int interval;
private String id;
private String filename;
public CheckDeploy(int interval, String filename) {
this.interval = interval;
this.filename = filename;
}
public String grabId() throws FileNotFoundException {
File file = new File(this.filename);
Scanner reader;
String id = new String();
reader = new Scanner(file);
while (reader.hasNextLine()) {
id = reader.nextLine();
}
reader.close();
return id;
}
public void run() {
try {
this.id = this.grabId();
} catch (FileNotFoundException e) {
System.err.println("Failed to grab ID on startup.");
System.exit(1);
}
while (true) {
String new_id = this.id;
try {
new_id = this.grabId();
} catch (FileNotFoundException e) {
System.err.println("Failed to check ID.");
}
if (!new_id.equals(this.id)) {
System.exit(0);
}
try {
sleep(this.interval);
} catch (Exception e) {
System.err.println(e.getMessage());
}
}
}
}
}