private string ProcessMessage() { if (_messageContext.GetPatternMatch("Hi").Success) { return($"{Emoji.VictoryHand} Hi, was kann ich für Dich tun?"); } if (_messageContext.GetPatternMatch("Danke").Success) { return($"{Emoji.Wink} Habe ich doch gerne gemacht."); } if (_messageContext.GetPatternMatch("Wetter").Success) { return(GetWeatherStatus()); } if (_messageContext.GetPatternMatch("Fenster").Success) { return(GetWindowStatus()); } FilterComponentIds(); if (!_filteredComponentIds.Any()) { if (_messageContext.IdentifiedComponentIds.Count > 0) { return($"{Emoji.Confused} Mit so vielen Anfragen kann ich nicht umgehen. Bitte nenne mir nur eine eindeutige Komponente."); } return($"{Emoji.Confused} Du musst mir schon einen Sensor oder Aktor nennen."); } if (_filteredComponentIds.Count > 1) { return($"{Emoji.Flushed} Bitte nicht mehrere Komponenten auf einmal."); } if (_filteredComponentIds.Count == 1) { var component = _controller.GetComponent <IComponent>(_messageContext.IdentifiedComponentIds.First()); IActuator actuator = component as IActuator; if (actuator != null) { return(UpdateActuatorState(actuator)); } ISensor sensor = component as ISensor; if (sensor != null) { return(GetSensorStatus(sensor)); } } return($"{Emoji.Confused} Das habe ich leider nicht verstanden. Bitte stelle Deine Anfrage präziser."); }
private string ProcessMessage(MessageContext messageContext) { if (messageContext.GetPatternMatch("Hi").Success) { return $"{Emoji.VictoryHand} Hi, was kann ich für Dich tun?"; } if (messageContext.GetPatternMatch("Danke").Success) { return $"{Emoji.Wink} Habe ich doch gerne gemacht."; } if (messageContext.GetPatternMatch("Wetter").Success) { return GetWeatherStatus(); } if (messageContext.GetPatternMatch("Fenster").Success) { return GetWindowStatus(); } if (!messageContext.FilteredComponentIds.Any()) { if (messageContext.IdentifiedComponentIds.Count > 0) { return $"{Emoji.Confused} Mit so vielen Anfragen kann ich nicht umgehen. Bitte nenne mir nur eine eindeutige Komponente."; } return $"{Emoji.Confused} Du musst mir schon einen Sensor oder Aktor nennen."; } if (messageContext.FilteredComponentIds.Count > 1) { return $"{Emoji.Flushed} Bitte nicht mehrere Komponenten auf einmal."; } if (messageContext.FilteredComponentIds.Count == 1) { var component = _componentService.GetComponent<IComponent>(messageContext.IdentifiedComponentIds.First()); IActuator actuator = component as IActuator; if (actuator != null) { return UpdateActuatorState(actuator, messageContext); } ISensor sensor = component as ISensor; if (sensor != null) { return GetSensorStatus(sensor); } } return $"{Emoji.Confused} Das habe ich leider nicht verstanden. Bitte stelle Deine Anfrage präziser."; }