public MainWindow() { using(BotStartForm bsf = new BotStartForm()) { if(bsf.ShowDialog() != System.Windows.Forms.DialogResult.OK) { Environment.Exit(0); return; } _bot = bsf.Bot; } InitializeComponent(); _bot.OnMessageRead += _bot_OnMessageRead; _bot.OnDisconnect += _bot_OnDisconnect; _bot.OnConnect += _bot_OnConnect; _bot.Start(); }
static void Main(string[] args) { var configPath = defaultConfigPath; if (args.Length > 0) { configPath = args[0]; } var doc = XDocument.Load(configPath); var configElement = doc.Element("configuration"); var googleSheetConf = configElement.Element("googleSheetsApi"); var credentialsEnvVar = googleSheetConf.Element("credentialsEnvVar").Attribute("val").Value; var credentialsFileName = googleSheetConf.Element("credentialsFileName").Attribute("val").Value; var secretTokenEnvVar = configElement .Element("telegramApi") .Element("secretTokenEnvVar") .Attribute("val").Value; var firebaseApiConf = configElement.Element("firebaseApi"); var secretFirebaseTokenVar = firebaseApiConf.Element("secretTokenVar").Attribute("val").Value; var basePath = firebaseApiConf.Element("basePath").Attribute("val").Value; var requisitionSheetHeaders = new List <string>(); var requirmentsSheetHeaderComments = new List <string>(); var learningPlanSheetHeaders = new List <string>(); var learningPlanSheetHeaderComments = new List <string>(); var requisitionPatternMsgList = new List <(string pattern, string msg)>(); var learningPlanPatternMsgList = new List <(string pattern, string msg)>(); var requisitionSheetSettings = configElement .Element("sheetSettings") .Elements("sheet").Where(e => e.Attribute("name").Value == "Requisitions").First(); FillHeaderConfiguration(requisitionSheetSettings, requisitionSheetHeaders, requirmentsSheetHeaderComments, requisitionPatternMsgList); var learningPlanSheetSettings = configElement .Element("sheetSettings") .Elements("sheet").Where(e => e.Attribute("name").Value == "LearningPlan").First(); FillHeaderConfiguration(learningPlanSheetSettings, learningPlanSheetHeaders, learningPlanSheetHeaderComments, learningPlanPatternMsgList); var credentialDirPath = Environment.GetEnvironmentVariable(credentialsEnvVar); var credentialPath = Path.Combine(credentialDirPath, credentialsFileName); var secretToken = Environment.GetEnvironmentVariable(secretTokenEnvVar); var firebaseSecret = Environment.GetEnvironmentVariable(secretFirebaseTokenVar); var container = ConfigureContainer(); Console.WriteLine("Starting..."); var bot = new TBot(secretToken, credentialPath, firebaseSecret, basePath, requisitionSheetHeaders, requirmentsSheetHeaderComments, learningPlanSheetHeaders, learningPlanSheetHeaderComments, requisitionPatternMsgList, learningPlanPatternMsgList, container); bot.Start(); Console.WriteLine("Press Enter to stop the Bot"); Console.ReadLine(); bot.Stop(); }