public virtual void Run()
{
// Read commands from stdin until bot terminates.
this.isRunning = true;
while (this.isRunning)
{
Console.Write("> ");
var line = Console.ReadLine();
if (line == null)
break;
if (line.Length == 0)
continue;
var parts = line.Split(' ');
var command = parts[0].ToLower();
var parameters = parts.Skip(1).ToArray();
ReadCommand(command, parameters);
}
}