public async Task ProcessIntent(AIResponse aIResponse) { AccessToken accessToken = await _tokenManager.GetAccessTokenFromCache().ConfigureAwait(false); _lineMessagingClient = new LineMessagingClient(accessToken.access_token); var app = new LineBotApp(_lineMessagingClient); // try case IntentName to IntentType Enum IntentType intentType = IntentType.Unknown; if (Enum.TryParse <IntentType>(aIResponse.Result.Metadata.IntentName, out intentType)) { aIResponse.Result.Metadata.IntentType = intentType; } Event tempEvent = new Event(); switch (aIResponse.Result.Metadata.IntentType) { case IntentType.ButtonIntent: // Down Cast tempEvent = aIResponse.OriginalRequest.Event; MessageEvent messageEventTemp = (MessageEvent)tempEvent; TextEventMessage eventMessageTemp = (TextEventMessage)messageEventTemp.Message; eventMessageTemp.Text = "buttons"; break; default: break; } await app.RunAsync(new List <WebhookEvent>(){ (WebhookEvent)tempEvent }); }
public void TextEventMessage_writes_correctly_to_file() { var message = new TextEventMessage("test"); message.Write(writer); var expectedOutput = new byte[] { 0xff, 0x01, 0x04, 0x74, 0x65, 0x73, 0x74 }; stream.ToArray().Should().Equal(expectedOutput); }