コード例 #1
0
 public void Run(ircMessage theMessage)
 {
     if (UserManager.GetInstance().Exists(theMessage.CommandArgs[0]) && UserManager.GetInstance().Exists(theMessage.CommandArgs[1]))
     {
         if (toolbox.IsOp(theMessage.Nickname) || (String.IsNullOrEmpty(UserManager.GetInstance()[theMessage.CommandArgs[0]].password) && String.IsNullOrEmpty(UserManager.GetInstance()[theMessage.CommandArgs[1]].password)))
         {
             UserManager.GetInstance().GroupUser(theMessage.CommandArgs[0], theMessage.CommandArgs[1]);
             theMessage.Answer("Okay");
             return;
         }
         if (!String.IsNullOrEmpty(UserManager.GetInstance()[theMessage.CommandArgs[0]].password))
         {
             theMessage.SendPrivateMessage("Benutzer " + theMessage.CommandArgs[0] + " erfordert ein Passwort!");
             UserRequested.Add(theMessage);
         }
         else if (!String.IsNullOrEmpty(UserManager.GetInstance()[theMessage.CommandArgs[1]].password))
         {
             theMessage.SendPrivateMessage("Benutzer " + theMessage.CommandArgs[1] + " erfordert ein Passwort!");
             UserRequested.Add(theMessage);
         }
     }
     else
     {
         theMessage.Answer("Ich konnte mindestens einen der angegebenen Benutzer nicht finden");
     }
 }
コード例 #2
0
 private void CheckPhase1(ircMessage theMessage)
 {
     if (!(theMessage.IsPrivate && GetInProgressMessage(theMessage) != null && !String.IsNullOrEmpty(UserManager.GetInstance()[GetInProgressMessage(theMessage).CommandArgs[0]].password) && !Check1Done.Contains(GetInProgressMessage(theMessage))))
     {
         return;
     }
     if (UserManager.GetInstance()[GetInProgressMessage(theMessage).CommandArgs[0]].CheckPassword(theMessage.Message))
     {
         theMessage.Answer("Korrekt");
         Check1Done.Add(GetInProgressMessage(theMessage));
         if (!String.IsNullOrEmpty(UserManager.GetInstance()[GetInProgressMessage(theMessage).CommandArgs[1]].password))
         {
             theMessage.Answer(GetInProgressMessage(theMessage).CommandArgs[1] + " erfordert ein Passwort");
         }
         else
         {
             CheckPhase2(theMessage);
         }
     }
     else
     {
         theMessage.Answer("Passwort falsch, abbruch!");
         UserRequested.Remove(GetInProgressMessage(theMessage));
     }
     theMessage.Handled = true;
     theMessage.Hidden  = true;
 }
コード例 #3
0
 private ircMessage GetInProgressMessage(ircMessage theRequester)
 {
     foreach (ircMessage oneMessage in UserRequested)
     {
         if (oneMessage.Nickname == theRequester.Nickname)
         {
             return(oneMessage);
         }
     }
     return(null);
 }
コード例 #4
0
 private void CheckPhase2(ircMessage theMessage)
 {
     if (!(theMessage.IsPrivate && GetInProgressMessage(theMessage) != null && !theMessage.Handled))
     {
         return;
     }
     if (String.IsNullOrEmpty(UserManager.GetInstance()[GetInProgressMessage(theMessage).CommandArgs[1]].password) || UserManager.GetInstance()[GetInProgressMessage(theMessage).CommandArgs[1]].CheckPassword(theMessage.Message))
     {
         UserManager.GetInstance().GroupUser(GetInProgressMessage(theMessage).CommandArgs[0], GetInProgressMessage(theMessage).CommandArgs[1]);
         theMessage.Answer("Benutzer erfolgreich verschmolzen!");
     }
     else
     {
         theMessage.Answer("Passwort falsch, abbruch!");
     }
     UserRequested.Remove(GetInProgressMessage(theMessage));
     theMessage.Handled = true;
     theMessage.Hidden  = true;
 }