0
votes

So I'm using Microsofts Bot framework and their DirectLine api to talk to it. I do this beacuse I need to send a notification to the bot. The class below is called by my endpoint that I have in my backend. So when I call my notify endpoint, this class is invoked and is supposed to start a conversation with the bot to trigger certain events in it. The problem is that it doesn't seem to work as expected. When I run the code and make a request to my endpoint, it get's stuck at var conversation = await client.Conversations.StartConversationAsync(); the await keyword stops the execution until it is finished, problem is that it never finishes. BUT I can see in the debug window that the request is sent with a 201 created statuscode, so it should finish, but it never does. Not sure what to do here.

 private static async Task StartBotConversation()
        {
            string directLineSecret = "SECRECT";
            string fromUser = "DirectLineSampleClientUser";

            DirectLineClient client = new DirectLineClient(directLineSecret);

            Debug.WriteLine("Before starting con ");
            var conversation = await client.Conversations.StartConversationAsync();

            Debug.WriteLine("After starting con");
            Activity userMessage = new Activity
            {
                From = new ChannelAccount(fromUser),
                Text = "ERROR1337",
                Type = ActivityTypes.Trigger
            };
            Debug.WriteLine("Before posting activity");
            await client.Conversations.PostActivityAsync(conversation.ConversationId, userMessage);
            Debug.WriteLine("After posting activity");
        }
1

1 Answers

0
votes

Do this : BotConversation = await Client.Conversations .StartConversationAsync().ConfigureAwait(false); It worked for me, I hope it helps you.