private static void TextToSpeech(AssistantResponse response) { _assistant.MuteAllPlugins(); _synth.Speak(response.Text); _assistant.UnmuteAllPlugins(); }
public async Task <AssistantResponse> RespondAsync(HttpRequest req, Platform targetPlatform, CancellationToken cancellationToken = default) { Response = new AssistantResponse(); var bodyContent = ConvertStreamToByteArray(req.Body); switch (targetPlatform) { case Platform.GoogleAssistant: ParseRequestForGoogleAssistant(bodyContent); break; case Platform.Alexa: await ParseRequestForAlexa(req, bodyContent); break; case Platform.Clova: await ParseRequestForClova(req, bodyContent); break; default: throw new InvalidOperationException($"targetPlatform:{targetPlatform}"); } switch (Request.Type) { case Models.RequestType.LaunchRequest: await OnLaunchRequestAsync(Request.Session, cancellationToken); break; case Models.RequestType.IntentRequest: await OnIntentRequestAsync(Request.Intent, Request.Slots, Request.Session, cancellationToken); break; case Models.RequestType.AudioPlayStartedEventRequest: await OnAudioPlayStartedAsync(Request.Session, cancellationToken); break; case Models.RequestType.AudioPlayPausedOrStoppedEventRequest: await OnAudioPlayPausedOrStoppedAsync(Request.Session, cancellationToken); break; case Models.RequestType.AudioPlayNearlyFinishedEventRequest: await OnAudioPlayNearlyFinishedAsync(Request.Session, cancellationToken); break; case Models.RequestType.AudioPlayFinishedEventRequest: await OnAudioPlayFinishedAsync(Request.Session, cancellationToken); break; } Response.UserId = Request.UserId; return(Response); }
public static void Receive(AssistantResponse response) { Console.WriteLine($"Бот: {response.Text}"); }