private async Task <Db.Bot> InstallBot(Db.Bot Bot, Service service, ProxyServer ProxyServer, BotResponse Response) { if (Response.Ok && ProxyServer.CreateConfigFile(Bot.ReserveWebHookUrl.WebHookUrl.Dns.Name, Bot.ReserveWebApp.WebApp.ToString(), Convert.ToInt32(Bot.ReserveWebHookUrl.WebHookUrl.Port.PortNumber))) { //Если все хорошо вызываем метод SetWebhook await TelegramFunction.SetWebHook(Bot.Token, Bot.ReserveWebHookUrl.WebHookUrl.Dns.PublicKeyPathOnMainServer(), Bot.ReserveWebHookUrl.WebHookUrl.ToString()); InsertServiceBotHistory(Bot, service); InsertWebAppHistory(Bot, Bot.ReserveWebApp.WebApp); InsertWebHookHistory(Bot, Bot.ReserveWebHookUrl.WebHookUrl); DbContext.Remove <ReserveWebApp>(Bot.ReserveWebApp); DbContext.Remove <ReserveWebHookUrl>(Bot.ReserveWebHookUrl); service.IsStart = true; service.StartTimeStamp = DateTime.Now; service.EndTimeStamp = DateTime.Now.Add(new TimeSpan(Convert.ToInt32(service.DayDuration), 0, 0, 0)); Bot.WebAppId = Bot.ReserveWebApp.WebAppId; Bot.WebHookUrlId = Bot.ReserveWebHookUrl.WebHookUrlId; Bot.Launched = true; Bot.Visable = true; Bot.ProxyServeId = ProxyServer.Id; Bot.ServiceId = service.Id; DbContext.Update <Db.Bot>(Bot); DbContext.SaveChanges(); Bot.SendMessageToOwner("Добро пожаловать. Нажмите сюда /admin"); Bot.Service = service; return(Bot); } else // Ошибка во время установки бота на вебприложение { throw new Exception(Response.Result); } }