示例#1
0
 public void Run(IrcMessage theMessage)
 {
     using (var context = new BotContext())
     {
         User user = context.GetUser(theMessage.Nickname);
         if (user.Authenticated)
         {
             theMessage.Answer("Du bist bereits authentifiziert");
             return;
         }
         if (!theMessage.IsPrivate)
         {
             theMessage.Answer("Ohje das solltest du besser im Query tuen");
             return;
         }
         if (user.CheckPassword(theMessage.CommandLine))
         {
             user.Authentication = DateTime.Now;
             context.SaveChanges();
             theMessage.SendPrivateMessage("Du bist jetzt authentifiziert");
         }
         else
         {
             theMessage.SendPrivateMessage("Das Passwort war falsch");
         }
         theMessage.Hidden = true;
     }
 }
示例#2
0
        public void Run(IrcMessage theMessage)
        {
            theMessage.Hidden = true;
            if (!theMessage.IsPrivate)
            {
                theMessage.SendPrivateMessage("Zu deiner eigenen Sicherheit solltest du das lieber mit mir im Query bereden");
                return;
            }
            Requested = theMessage.Nickname;
            User user;

            using (var context = new BotContext())
            {
                user = context.GetUser(Requested);
            }
            if (!String.IsNullOrEmpty(user.Password))
            {
                theMessage.SendPrivateMessage("Bitte gib zuerst dein altes Passwort ein:");
                ServerConnection.OnPreProcessingMessage += CheckOldPW;
            }
            else
            {
                theMessage.SendPrivateMessage("Okay bitte gib nun dein Passwort ein");
                ServerConnection.OnPreProcessingMessage += SetNewPW;
            }
        }
示例#3
0
 private void CheckOldPW(object sender, IrcMessage theMessage)
 {
     if (!theMessage.IsPrivate || Requested != theMessage.Nickname)
     {
         return;
     }
     theMessage.Hidden = true;
     using (var context = new BotContext())
     {
         if (context.GetUser(Requested).CheckPassword(theMessage.Message))
         {
             theMessage.SendPrivateMessage("Passwort korrekt, gib nun dein neues Passwort ein:");
             ServerConnection.OnPreProcessingMessage += SetNewPW;
         }
         else
         {
             theMessage.SendPrivateMessage("Passwort inkorrekt, abbruch!");
             PluginManager.RecycleScoped(this);
         }
     }
     ServerConnection.OnPreProcessingMessage -= CheckOldPW;
 }
示例#4
0
 public void Run(IrcMessage theMessage)
 {
     using (var context = new BotContext())
     {
         string output = context.BoxEntries.Select(x => x.User.LastUsedName.Name).Distinct().Join(", ");
         if (!String.IsNullOrEmpty(output))
         {
             theMessage.SendPrivateMessage("Diese Benutzer haben bei mir mindestens eine Box registriert: " + output);
         }
         else
         {
             theMessage.Answer("Ich fürchte, mir ist ein Fehler unterlaufen. Ich kann keine registrierten Benutzer feststellen.");
         }
     }
 }
示例#5
0
 public void Run(IrcMessage theMessage)
 {
     using (var context = new BotContext())
     {
         IQueryable <BoxEntry> filtered;
         if (BoxDatabase.TryFindExactBox(theMessage.CommandLine, out Box? result))
         {
             filtered = context.BoxEntries.Where(x => x.Box !.Id == result.Id);
         }
         else
         {
             filtered = context.BoxEntries.Where(x => x.Text.Contains(theMessage.CommandLine));
         }
         string besitzer = filtered.Select(x => x.User.LastUsedName.Name).Where(x => !String.IsNullOrEmpty(x)).Distinct().OrderBy(x => x).Join(", ");
         if (!String.IsNullOrEmpty(besitzer))
         {
             theMessage.SendPrivateMessage("Folgende Benutzer scheinen diese Box zu besitzen: " + besitzer);
         }
         else
         {
             theMessage.SendPrivateMessage("Diese Box scheint niemand zu besitzen!");
         }
     }
 }
示例#6
0
 void SetNewPW(object sender, IrcMessage theMessage)
 {
     if (!theMessage.IsPrivate || Requested != theMessage.Nickname)
     {
         return;
     }
     theMessage.Hidden = true;
     using (var context = new BotContext())
     {
         context.GetUser(Requested).SetPassword(theMessage.Message);
         context.SaveChanges();
     }
     theMessage.SendPrivateMessage("Passwort wurde geändert!");
     ServerConnection.OnPreProcessingMessage -= SetNewPW;
     PluginManager.RecycleScoped(this);
 }