private string HandleNewUser(ITweet tweet, string targetAddress, RewardType rewardType) { var canWithdraw = _withdrawalService.CanExecuteAsync(rewardType).GetAwaiter().GetResult(); if (!canWithdraw) { _logger.Warning("Not enough funds for withdrawal."); return(string.Format(_appSettings.BotSettings.MessageFaucetDrained, tweet.CreatedBy.Name)); } _withdrawalService.ExecuteAsync(rewardType, targetAddress).GetAwaiter().GetResult(); _statService.AddStat(DateTime.UtcNow, _amountHelper.GetAmount(rewardType), true); var reward = new Reward { Id = tweet.CreatedBy.Id, Followers = tweet.CreatedBy.FollowersCount, LastRewardDate = DateTime.UtcNow, Withdrawals = 1 }; _rewardCollection.Insert(reward); return(string.Format(_appSettings.BotSettings.MessageRewarded, tweet.CreatedBy.ScreenName, _amountHelper.GetAmount(rewardType))); }