public async Task <HttpResponseMessage> Hook(Update update) { try { await WriteUpdate(update); HttpResponseMessage message = new HttpResponseMessage(System.Net.HttpStatusCode.OK); Employee employee; if (update.Message.Contact != null) { employee = await this._employeeProvider.SetPhoneAndGetEmployee(update.Message.Contact.UserId, update.Message.Contact.PhoneNumber); if (employee == null) { SendMessageRequest req = new SendMessageRequest(update.Message.From.Id, "Вы не являетесь зарегистрированным участником проекта Чаевые-24. Проект Чаевые-24 позволяет работникам сферы услуг получать безналичные чаевые. Для подключения Вашего заведения позвоните на горячую линию отдела подключения +7 (812) 2-12-85-07."); message.Content = req.ToHttpContent(); return(message); } } else { employee = await this._employeeProvider.GetEmployeeByTelegramUserIdAsync(update.Message.From.Id); if (employee == null) { SendMessageRequest req = new SendMessageRequest(update.Message.From.Id, "Для авторизации в проекте Чаевые-24 отправьте, пожалуйста, свой номер телефона"); req.ReplyMarkup = this.GetPhoneKeyboardMarkup(); message.Content = req.ToHttpContent(); return(message); } } SendMessageRequest responseMessage = this.ProcessCommand(update, employee); message.Content = responseMessage.ToHttpContent(); return(message); } catch (Exception ex) { _logger.LogError(ex, "Ошибка"); throw; } }