rendered paste bodypublic override void OnCommand(BotShell sender, CommandArgs e)
{
int min = 1;
long verifynum;
int result, max;
string verifytext;
switch (e.Command)
{
case "roll":
if (e.Args.Length == 1)
{
try
{
min = 1;
max = Convert.ToInt32(e.Args[0]);
}
catch
{
max = -1;
min = -1;
}
}
else
{
try
{
min = Convert.ToInt32(e.Args[0]);
max = Convert.ToInt32(e.Args[1]);
}
catch
{
min = -1;
max = -1;
}
}
if (min <= -1 && max <= -1)
{
Bot.SendReply(e, "Roll »» Syntax is: roll [min] [max] or basic roll [max].");
}
else if (max <= min)
{
Bot.SendReply(e, "Roll »» Syntax error: [max] has to be higher than [min].");
}
else
{
result = (RandomNumber(min, max));
verifynum = InsertRoll(e.Sender, 0, min, max, result);
if (verifynum == -1)
verifytext = "You can't verify, couldn't save it in my memory.";
else
verifytext = " To verify do /tell " + Bot.Character + " verify " + verifynum;
Bot.SendReply(e, "Roll »» When I rolled between " + HTML.CreateColorString(sender.ColorHeaderHex, min.ToString()) + " and " + HTML.CreateColorString(sender.ColorHeaderHex, max.ToString()) + ", I rolled " + HTML.CreateColorString(sender.ColorHeaderHex, result.ToString()) + "." + verifytext);
}
break;
case "flip":
min = 1;
max = 2;
result = RandomNumber(min, max);
string landingname;
if (result == 1)
landingname = "Tail";
else
landingname = "Head";
verifynum = InsertRoll(e.Sender, 1, min, max, result);
if (verifynum == -1)
verifytext = " You can't verify, I couldn't save it in my memory.";
else
verifytext = " To verify do /tell " + Bot.Character + " verify " + verifynum;
Bot.SendReply(e, "Flip »» When I flipped the coin it landed with " + HTML.CreateColorString(sender.ColorHeaderHex, landingname + "s up") + "." + verifytext);
break;
case "verify":
if (e.Args.Length == 1)
{
try
{
string rhname;
int rhid;
try
{
rhid = Convert.ToInt32(e.Args[0]);
rhname = "";
}
catch
{
rhid = -1;
rhname = e.Args[0];
}
using (DbCommand command = Bot.Config.Connection.CreateCommand())
{
bool empty = true;
if (rhid > 0 || rhname != "")
{
if (rhid > 0)
{
command.CommandText = "SELECT [rh_date], [rh_name], [rh_min], [rh_max], [rh_result], [rh_type] FROM [RollHistory] WHERE [rh_id] = " + rhid + " LIMIT 1";
DbDataReader reader = command.ExecuteReader();
while (reader.Read())
{
empty = false;
if (reader.GetInt64(5) == 0)
Bot.SendReply(e, "Verify »» " + Bot.UppercaseFirst(reader.GetString(1)) + " asked me to roll between " + HTML.CreateColorString(sender.ColorHeaderHex, reader.GetInt32(2).ToString()) + " and " + HTML.CreateColorString(sender.ColorHeaderHex, reader.GetInt32(3).ToString()) + " at " + TimeStamp.ToDateTime(reader.GetInt64(0)).ToUniversalTime() + ". I replied that I rolled " + HTML.CreateColorString(sender.ColorHeaderHex, reader.GetInt32(4).ToString()) + ".");
else
{
if (reader.GetInt64(4) == 1)
landingname = "Tail";
else
landingname = "Head";
Bot.SendReply(e, "Verify »» " + Bot.UppercaseFirst(reader.GetString(1)) + " asked me to flip a coin at " + TimeStamp.ToDateTime(reader.GetInt64(0)).ToUniversalTime() + ". I replied that it landed with " + HTML.CreateColorString(sender.ColorHeaderHex, landingname + "s up") + ".");
}
}
reader.Close();
}
else if (rhname != "")
{
command.CommandText = "SELECT [rh_date], [rh_name], [rh_min], [rh_max], [rh_result], [rh_type] FROM [RollHistory] WHERE [rh_name] LIKE '" + Config.EscapeString(rhname) + "'";
DbDataReader reader = command.ExecuteReader();
while (reader.Read())
{
empty = false;
RichTextWindow replyWindow = new RichTextWindow(this.Bot);
replyWindow.AppendTitle("Verify");
replyWindow.AppendNormal(" ");
//TimeStamp.ToDateTime(reader.GetInt64(2)).ToUniversalTime()
// " + HTML.CreateColorString(sender.ColorHeaderHex, reader.GetInt64(4)) + "
//replyWindow.AppendHighlight(+", By: " + reader.GetString(1));
replyWindow.AppendLineBreak();
replyWindow.AppendNormal(reader.GetString(3));
Bot.SendReply(e, replyWindow.ToString("click here"));
}
reader.Close();
}
}
if (rhname == "" && rhid < 1)
Bot.SendReply(e, "Verify »» Syntax error: [id] got to be positive.");
else if (empty == true)
Bot.SendReply(e, "Verify »» This person/id does not exist in my memory.");
}
}
catch (Exception ex)
{
Bot.SendReply(e, "Verify »» " + ex.StackTrace);
}
}
else
{
Bot.SendReply(e, "Verify »» Syntax is: verify [id] or verify [name] for a list.");
}
break;
}
}