private async Task MessageReceivedAsync(IDialogContext context, IAwaitable <object> result) { var activity = await result as IMessageActivity; var playerName = Utils.SanitizeText(activity.Text); if (await LeaderboardService.IsNewPlayer(playerName)) { context.ConversationData.SetValue(Constants.PLAYER_NAME_KEY, playerName); await context.PostAsync($"Let's play and earn some coins!"); await context.Forward(new WhoIsDialog(), AfterWhoIsDialog, activity); } else { await context.PostAsync("This address has already been used."); context.Wait(MessageReceivedAsync); } }