public async Task Execute() { Logger.ColoredConsoleWrite(ConsoleColor.Red, "This bot is absolutely free and open-source!"); Logger.ColoredConsoleWrite(ConsoleColor.Red, "If you've paid for it. Request a chargeback immediately!"); Logger.ColoredConsoleWrite(ConsoleColor.Green, $"Starting Execute on login server: {_clientSettings.AuthType}", LogLevel.Info); _client.CurrentAltitude = _client.Settings.DefaultAltitude; _client.CurrentLongitude = _client.Settings.DefaultLongitude; _client.CurrentLatitude = _client.Settings.DefaultLatitude; while (true) { try { await _client.Login.DoLogin(); if (!string.IsNullOrEmpty(_clientSettings.TelegramAPIToken) && !string.IsNullOrEmpty(_clientSettings.TelegramName)) { try { _telegram = new TelegramUtil(_client, new Telegram.Bot.TelegramBotClient(_clientSettings.TelegramAPIToken), _clientSettings, _client.Inventory); Logger.ColoredConsoleWrite(ConsoleColor.Green, "To activate informations with Telegram, write the bot a message for more informations"); var me = await _telegram.getClient().GetMeAsync(); _telegram.getClient().OnCallbackQuery += _telegram.BotOnCallbackQueryReceived; _telegram.getClient().OnMessage += _telegram.BotOnMessageReceived; _telegram.getClient().OnMessageEdited += _telegram.BotOnMessageReceived; Logger.ColoredConsoleWrite(ConsoleColor.Green, "Telegram Name: " + me.Username); _telegram.getClient().StartReceiving(); } catch (Exception) { } } await PostLoginExecute(); } catch (Exception ex) { Logger.Error($"Error: " + ex.Source); Logger.Error($"{ex}"); Logger.ColoredConsoleWrite(ConsoleColor.Green, "Trying to Restart."); try { _telegram.getClient().StopReceiving(); } catch (Exception) { } } Logger.ColoredConsoleWrite(ConsoleColor.Red, "Restarting in 10 Seconds."); await Task.Delay(10000); } }
public TelegramUtil(Client client, Telegram.Bot.TelegramBotClient telegram, ISettings settings, Inventory inv) { instance = this; _client = client; _telegram = telegram; _botSettings = settings; _inventory = inv; Array values = Enum.GetValues(typeof(TelegramUtilInformationTopics)); foreach (TelegramUtilInformationTopics topic in values) { _informationDescription[topic] = TranslationHandler.GetString(_informationDescriptionIDs[topic], _informationDescriptionDefault[topic]); _information[topic] = false; } DoLiveStats(settings); DoInformation(); }
public TelegramUtil(Client client, Telegram.Bot.TelegramBotClient telegram, ISettings settings, Inventory inv) { instance = this; _client = client; _telegram = telegram; _clientSettings = settings; _inventory = inv; Array values = Enum.GetValues(typeof(TelegramUtilInformationTopics)); foreach (TelegramUtilInformationTopics topic in values) { _informationDescription[topic] = TranslationHandler.GetString(_informationDescriptionIDs[topic], _informationDescriptionDefault[topic]); _information[topic] = false; } DoLiveStats(settings); DoInformation(); }
public async Task Execute() { Logger.ColoredConsoleWrite(ConsoleColor.Green, $"Starting Execute on login server: {_clientSettings.AuthType}", LogLevel.Info); while (true) { try { if (_clientSettings.AuthType == AuthType.Ptc) await _client.DoPtcLogin(_clientSettings.PtcUsername, _clientSettings.PtcPassword); else if (_clientSettings.AuthType == AuthType.Google) await _client.DoGoogleLogin(); if (!string.IsNullOrEmpty(_clientSettings.TelegramAPIToken) && !string.IsNullOrEmpty(_clientSettings.TelegramName)) { try { _telegram = new TelegramUtil(_client, new Telegram.Bot.TelegramBotClient(_clientSettings.TelegramAPIToken), _clientSettings, _inventory); Logger.ColoredConsoleWrite(ConsoleColor.Green, "To Activate Informations with Telegram, write the Bot a message for more Informations"); var me = await _telegram.getClient().GetMeAsync(); _telegram.getClient().OnCallbackQuery += _telegram.BotOnCallbackQueryReceived; _telegram.getClient().OnMessage += _telegram.BotOnMessageReceived; _telegram.getClient().OnMessageEdited += _telegram.BotOnMessageReceived; Logger.ColoredConsoleWrite(ConsoleColor.Green, "Telegram Name: " + me.Username); _telegram.getClient().StartReceiving(); } catch (Exception) { } } await PostLoginExecute(); } catch (PtcOfflineException) { Logger.Error("PTC Server Offline. Trying to Restart in 20 Seconds..."); try { _telegram.getClient().StopReceiving(); } catch (Exception) { } await Task.Delay(10000); } catch (AccessTokenExpiredException) { Logger.Error("Server Offline, or Access Token expired. Restarting in 20 Seconds."); try { _telegram.getClient().StopReceiving(); } catch (Exception) { } await Task.Delay(10000); } catch (Exception ex) { Logger.Error($"Error: " + ex.Source); Logger.Error($"{ex}"); Logger.ColoredConsoleWrite(ConsoleColor.Green, "Trying to Restart."); try { _telegram.getClient().StopReceiving(); } catch(Exception) { } } Logger.ColoredConsoleWrite(ConsoleColor.Red, "Restarting in 10 Seconds."); await Task.Delay(10000); } }