示例#1
0
 public string Start()
 {
     return(BotInitializer.Start());
 }
示例#2
0
        protected void Application_Start()
        {
            //Database.SetInitializer(new DbInitializer());
            // new GmailBotDbContext().Database.Initialize(true);

            Database.SetInitializer(new System.Data.Entity.MigrateDatabaseToLatestVersion <GmailBotDbContext, Configuration>());

            var configuration = new Configuration();
            var migrator      = new System.Data.Entity.Migrations.DbMigrator(configuration);

            if (migrator.GetPendingMigrations().Any())
            {
                migrator.Update();
            }

            AreaRegistration.RegisterAllAreas();
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);

            LogMaker.NewMessage += LogMaker_NewMessage;
#pragma warning disable 618
#if !DEBUG && !WEBHOOK
            string clientSecretsStr = Encoding.UTF8.GetString(App_LocalResources.Tokens.client_secret);
#else
            string clientSecretsStr = Encoding.UTF8.GetString(App_LocalResources.TokensTest.client_secret_debug);
#endif
            var botSettings        = new BotSettings();
            var clienSecretsJtoken = JsonConvert.DeserializeObject <JToken>(clientSecretsStr);
            var clientSecrets      = JsonConvert.DeserializeObject <Secrets>(clienSecretsJtoken["web"].ToString());

#if !DEBUG && !WEBHOOK
            botSettings.BotName               = System.Configuration.ConfigurationSettings.AppSettings["Botname"];
            botSettings.Token                 = App_LocalResources.Tokens.BotToken;
            botSettings.Topic                 = App_LocalResources.Tokens.TopicName;
            botSettings.ClientSecrets         = clientSecrets;
            botSettings.Subscription          = App_LocalResources.Tokens.Subscription;
            botSettings.ImagesPath            = System.Configuration.ConfigurationSettings.AppSettings["ImagesPath"];
            botSettings.DomainName            = App_LocalResources.Tokens.DomainName;
            botSettings.AttachmentsTempFolder = Path.Combine(HttpRuntime.AppDomainAppPath,
                                                             System.Configuration.ConfigurationSettings.AppSettings["AttachmentsTemp"]);
            botSettings.MaxAttachmentSize =
                int.Parse(System.Configuration.ConfigurationSettings.AppSettings["MaxAttachmentSize"]);
            botSettings.BotVersion      = ReturnBotVersion();
            botSettings.GmnbApiKey      = App_LocalResources.Tokens.gmnbAPIKey;
            botSettings.ApplicationName = App_LocalResources.Tokens.ApplicationName;
#else
            botSettings.BotName               = System.Configuration.ConfigurationSettings.AppSettings["Botname"];
            botSettings.Token                 = App_LocalResources.TokensTest.BotToken;
            botSettings.Topic                 = App_LocalResources.TokensTest.TopicName;
            botSettings.ClientSecrets         = clientSecrets;
            botSettings.Subscription          = App_LocalResources.TokensTest.Subscription;
            botSettings.ImagesPath            = System.Configuration.ConfigurationSettings.AppSettings["ImagesPath"];
            botSettings.DomainName            = App_LocalResources.TokensTest.DomainName;
            botSettings.AttachmentsTempFolder = Path.Combine(HttpRuntime.AppDomainAppPath,
                                                             System.Configuration.ConfigurationSettings.AppSettings["AttachmentsTemp"]);
            botSettings.MaxAttachmentSize =
                int.Parse(System.Configuration.ConfigurationSettings.AppSettings["MaxAttachmentSize"]);
            botSettings.BotVersion      = ReturnBotVersion();
            botSettings.GmnbApiKey      = App_LocalResources.TokensTest.gmnbAPIKey;
            botSettings.ApplicationName = App_LocalResources.TokensTest.ApplicationName;
#endif

            _botInitializer = BotInitializer.GetInstance(botSettings);
#if DEBUG
            _botInitializer.InitializeUpdates();
#else
            _botInitializer.InitializeUpdates(true);
#endif
            _botInitializer.InitializeUpdatesHandler();
            _botInitializer.InitializeAuthotizer();
            _botInitializer.InitializeServiceFactory();
            _botInitializer.InitializeMessageHandler();
            _botInitializer.InitializeCallbackQueryHandler();
            _botInitializer.InitializeInlineQueryHandler();
            _botInitializer.InitializeChosenInlineResultHandler();
#if (!WEBHOOK)
            _botInitializer.InitializeNotifyHandler();
#endif
#if !DEBUG && !WEBHOOK
            _botInitializer.InitializePushNotificationWatchesAsync(initializeDelay);
            _botInitializer.InitializePushNotificationWatchTimer(_updatePeriod);
#endif
#pragma warning restore 618
        }