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; } }
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; } }
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; }
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."); } } }
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!"); } } }
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); }