package de.yannicpunktdee.yoshibot.listeners;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

import de.yannicpunktdee.yoshibot.main.YoshiBot;

public class CommandLine extends Thread implements Runnable {
	
	private BufferedReader reader;
	
	/**
	 * Nicht manuell aufrufen. Wird einmalig in startYoshiBot in einem neuen Thread aufgerufen und reagiert
	 * auf administrative Konsoleneingaben außerhalb von Discord.
	 */
	@Override public void run() {
		String line = "";
		reader = new BufferedReader(new InputStreamReader(System.in));
		try {
			System.out.print("> ");
			while((line = reader.readLine()) != null) {
				line = line.trim();
				if(line.equalsIgnoreCase("exit")) {
					YoshiBot.getInstance().stop();
					return;
				}
				System.out.print("> ");
			}
		} catch(IOException e) {
			System.err.println("Es ist eine IOException aufgetreten.");
		}
	}
	
	public void stopCommandLine() {
		try {
			reader.close();
			interrupt();
		} catch (IOException e) {
			System.err.println("Fehler beim Schließen des Readers.");
		}
	}

}
