title: Botframework v4: Send Typing indicaor
body: <p>Hello I am sending a typing indicator like this to every turn.
  It's working but is there a better or more efficient way to do this?
  I am sending it several times because if i only send it once, the typing indicator will not show.</p>
  
  <pre><code>   AddStep(async (stepContext, cancellationToken) =&gt;
              {
                  var typingMsg = stepContext.Context.Activity.CreateReply();
                  typingMsg.Type = ActivityTypes.Typing;
                  typingMsg.Text = null;
                  await stepContext.Context.SendActivityAsync(typingMsg);
                  await stepContext.Context.SendActivityAsync(typingMsg);
                  await stepContext.Context.SendActivityAsync(typingMsg);
                  await stepContext.Context.SendActivityAsync(typingMsg);
                  await stepContext.Context.SendActivityAsync(typingMsg);
  
                  await stepContext.Context.SendActivityAsync(MessageFactory.Text($"I have some important questions to ask you."), cancellationToken: cancellationToken);
                  await stepContext.Context.SendActivityAsync(MessageFactory.Text($"This will not take long."), cancellationToken: cancellationToken);
                  return await stepContext.NextAsync(cancellationToken: cancellationToken);
              });
  </code></pre>
  
  <p>EDIT: Is it okay to do this on turns that i want to add a 2 seconds typing indicator? Because some  turns have long dialog and i want it to feel natural. And should i add it to all turns without but without the task.delay? Will it not impact the passing of results from the previous step?</p>
  
  <pre><code>        AddStep(async (stepContext, cancellationToken) =&gt;
          {
              var typingMsg = stepContext.Context.Activity.CreateReply();
              typingMsg.Type = ActivityTypes.Typing;
              typingMsg.Text = null;
              await stepContext.Context.SendActivityAsync(typingMsg);
              await Task.Delay(2000);
  
              await stepContext.Context.SendActivityAsync(MessageFactory.Text($"I have some important questions to ask you."), cancellationToken: cancellationToken);
              await stepContext.Context.SendActivityAsync(MessageFactory.Text($"This will not take long."), cancellationToken: cancellationToken);
              return await stepContext.NextAsync(cancellationToken: cancellationToken);
          });
  </code></pre>