public async Task StartAsync(IDialogContext context) { if (context == null) { throw new ArgumentNullException(nameof(context)); } var activity = (IMessageActivity)context.Activity; EndUserAndAgentConversationMappingState mappingState = await VsoHelper.GetStateFromVsoGivenAgentConversationId(activity.Conversation.Id); if (ActivityHelper.HasAttachment(activity)) { await context.PostWithRetryAsync( $"Sending file attachments to user is not supported. " + $"Please send it via SharePoint > Share > Email. Email is in VSO ticket"); } else { await ActivityHelper.SendMessageToUserEx((IMessageActivity)context.Activity, mappingState.EndUserName, mappingState.EndUserId, activity.Text.Replace(DialogMatches.ReplyToUser + " ", ""), mappingState.VsoId); } await OnlineStatus.SetMemberActive( context.Activity.From.Name, context.Activity.From.Id, OnlineStatus.AgentMemberType); context.Done <object>(null); }