import java.io.*; import java.util.*; import org.kirsle.rivescript.RiveScript; public class RiveBot { public static void main(String[] args) { // Let the user specify the debug mode! boolean debug = false; for (int i = 0; i < args.length; i++) { if (args[i].equals("debug")) { debug = true; } } // Create a new RS object. System.out.println(":: Creating RS Object"); RiveScript rs = new RiveScript(debug); System.out.println(":: Loading replies."); rs.loadDirectory("./replies"); System.out.println(":: Sorting replies"); rs.sortReplies(); // Dump //rs.dumpTopics(); // Enter the main loop. InputStreamReader converter = new InputStreamReader(System.in); BufferedReader stdin = new BufferedReader(converter); while (true) { System.out.print("You> "); String message = ""; try { message = stdin.readLine(); } catch (IOException e) { System.err.println("Read error!"); } // Quitting? if (message.equals("quit")) { System.out.println("Goodbye!"); System.exit(0); } else if (message.equals("dump topics")) { rs.dumpTopics(); } else if (message.equals("dump sorted")) { rs.dumpSorted(); } else if (message.equals("dump profile")) { rs.dumpProfile("localuser"); } else { String reply = rs.reply("localuser", message); System.out.println("Bot> " + reply); } } } }