public string GetAntwort(string eingabe, GaitoBotSession session) { if (eingabe == null || eingabe.Trim() == "") { eingabe = "TARGET EMPTYINPUT"; } session.Denkprotokoll.Add(new BotDenkProtokollSchritt(eingabe, BotDenkProtokollSchritt.SchrittArten.Eingabe)); AntwortFinder antwortFinder = new AntwortFinder(this._normalisierung.StartupInfos.SatzTrenner.ToArray(), this._normalisierung, this._wissen, session, this._botEigenschaften, this._beiEinwortEingabenOhneMatchAufSraiOnlyOneWordUmleiten); List <AntwortSatz> list = antwortFinder.GetAntwortSaetze(eingabe); StringBuilder stringBuilder = new StringBuilder(); if (list == null) { session.Denkprotokoll.Add(new BotDenkProtokollSchritt(ResReader.Reader(session.DenkprotokollKultur).GetString("KonnteKeineGueltigeAntwortEreugen", session.DenkprotokollKultur), BotDenkProtokollSchritt.SchrittArten.Warnung)); list = new List <AntwortSatz>(); list.Add(new AntwortSatz(ResReader.Reader(this.LoggingKultur).GetString("NotfallAntwort", this.LoggingKultur), true)); } foreach (AntwortSatz item in list) { string[] array = item.Satz.Split('|'); foreach (string text in array) { GaitoBotSessionSchritt gaitoBotSessionSchritt = new GaitoBotSessionSchritt(); gaitoBotSessionSchritt.BotAusgabe = text; if (session.LetzterSchritt != null) { gaitoBotSessionSchritt.That = session.LetzterSchritt.BotAusgabe; } else { gaitoBotSessionSchritt.That = string.Empty; } gaitoBotSessionSchritt.Topic = session.AktuellesThema; gaitoBotSessionSchritt.UserEingabe = eingabe; session.AddSchritt(gaitoBotSessionSchritt); if (stringBuilder.Length != 0) { stringBuilder.Append(" "); } stringBuilder.Append(text); } } return(stringBuilder.ToString()); }
public void AddSchritt(GaitoBotSessionSchritt schritt) { this._letzteSchritte.Add(schritt); this.SetzeAktuellesThema(schritt.Topic); this.LastActivity = DateTime.UtcNow; }