예제 #1
0
 public override void Process(CmdTrigger trigger)
 {
     var username = trigger.Args.NextWord();
     var userlevel = trigger.Args.NextWord().ToLower();
     if (string.IsNullOrEmpty(username) || string.IsNullOrEmpty(userlevel))
     {
         trigger.Reply("Invalid input please try again!");
     }
     else
     {
         if (!ValidateUserLevel(userlevel))
         {
             trigger.Reply("Invalid userlevel specified, options are guest,user,admin");
             return;
         }
         using (var db = new UtilityBotDBContainer())
         {
             foreach (var account in Queryable.Where(db.Accounts, account => account.Username == username))
             {
                 account.UserLevel = userlevel;
                 trigger.Reply("Account level changed to " + userlevel);
                 db.SaveChanges();
                 return;
             }
         }
     }
 }
예제 #2
0
 public override void Process(CmdTrigger trigger)
 {
     var nick = trigger.Args.NextWord();
     var messagetosend = trigger.Args.Remainder;
     if (string.IsNullOrEmpty(nick) || string.IsNullOrEmpty(messagetosend))
     {
         trigger.Reply("Failed to parse input, please try again");
     }
     else
     {
         using (var db = new UtilityBotDBContainer())
         {
             var msg = new Message
             {
                 DateLeft = DateTime.Now.ToString(),
                 FromIrcNick = trigger.User.Nick,
                 IrcNick = nick,
                 MessageText = messagetosend
             };
             db.Messages.AddObject(msg);
             db.SaveChanges();
             trigger.Reply("Message saved");
             return;
         }
     }
 }
예제 #3
0
 public override void Process(CmdTrigger trigger)
 {
     var username = trigger.Args.NextWord();
     var password = trigger.Args.NextWord();
     var userlevel = trigger.Args.NextWord();
     if (string.IsNullOrEmpty(username) || string.IsNullOrEmpty(password) || string.IsNullOrEmpty(userlevel))
     {
         trigger.Reply("Error invalid input please try again!, remember the input order is username password userlevel \n userlevel options: guest user admin");
     }
     else
     {
         using (var db = new UtilityBotDBContainer())
         {
             if (Enumerable.Any(Queryable.Where(db.Accounts, account => account.Username == username)))
             {
                 trigger.Reply("That account already exists!");
                 return;
             }
         }
         AddAccount(trigger, username, password, userlevel);
         trigger.Reply("Account created");
     }
 }
예제 #4
0
 public static void AddAccount(CmdTrigger trigger, string username, string password, string userlevel)
 {
     using (var db = new UtilityBotDBContainer())
     {
         var account = new Account { Username = username, Password = password, UserLevel = userlevel };
         db.Accounts.AddObject(account);
         db.SaveChanges();
     }
 }
예제 #5
0
 public static void Login(CmdTrigger trigger, string username, string password)
 {
     using (var db = new UtilityBotDBContainer())
     {
         var authed = false;
         foreach (var account in db.Accounts)
         {
             if (account.Username == username && account.Password == password)
             {
                 switch (account.UserLevel)
                 {
                     case "guest":
                         {
                             authed = true;
                             trigger.Reply(string.Format("Logged in as {0} with level {1}", account.Username, account.UserLevel));
                         }
                         break;
                     case "user":
                         {
                             authed = true;
                             trigger.Reply(string.Format("Logged in as {0} with level {1}", account.Username, account.UserLevel));
                         }
                         break;
                     case "admin":
                         {
                             authed = true;
                             trigger.Reply(string.Format("Logged in as {0} with level {1}", account.Username, account.UserLevel));
                         }
                         break;
                 }
             }
         }
         if (!authed)
             trigger.Reply("Account data invalid! Please try again!");
     }
 }
예제 #6
0
 public override void Process(CmdTrigger trigger)
 {
     try
     {
         var username = trigger.Args.NextWord();
         if (string.IsNullOrEmpty(username))
         {
             trigger.Reply("Please specify username!");
         }
         else
         {
             using (var db = new UtilityBotDBContainer())
             {
                 foreach (var account in Queryable.Where(db.Accounts, account => account.Username == username))
                 {
                     db.DeleteObject(account);
                     db.SaveChanges();
                     trigger.Reply("Account deleted!");
                     return;
                 }
                 trigger.Reply("Account not found!");
             }
         }
     }
     catch (Exception e)
     {
         WriteErrorSystem.WriteError(e);
     }
 }