From d3fd8a383937a446fdf529a7c3b5cd9ffdb8a66a Mon Sep 17 00:00:00 2001 From: Giulio De Pasquale Date: Mon, 21 Jun 2021 18:07:26 +0100 Subject: [PATCH] added config --- Pipfile | 1 + Pipfile.lock | 37 ++++++++++++++++++++++++++++++++++++- app.py | 51 ++++++++++++++++++++++++++++++++++++++++++++++++--- config.yaml | 13 +++++++++++++ 4 files changed, 98 insertions(+), 4 deletions(-) create mode 100644 config.yaml diff --git a/Pipfile b/Pipfile index 4378d02..6521ce5 100644 --- a/Pipfile +++ b/Pipfile @@ -10,6 +10,7 @@ discord = "*" requests = "*" autopep8 = "*" discum = {git = "https://github.com/Merubokkusu/Discord-S.C.U.M.git"} +pyyaml = "*" [dev-packages] diff --git a/Pipfile.lock b/Pipfile.lock index 4348fea..6e347fa 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "22839cb267eac519dce4f8e4fb437a235d1368d104b1954f48ed1bc1b3beb428" + "sha256": "348b7a4b9a09aa84979ffba688a2c99ef003af505160a95d93aa56a8a8144cbd" }, "pipfile-spec": 6, "requires": { @@ -194,6 +194,41 @@ "index": "pypi", "version": "==0.18.0" }, + "pyyaml": { + "hashes": [ + "sha256:08682f6b72c722394747bddaf0aa62277e02557c0fd1c42cb853016a38f8dedf", + "sha256:0f5f5786c0e09baddcd8b4b45f20a7b5d61a7e7e99846e3c799b05c7c53fa696", + "sha256:129def1b7c1bf22faffd67b8f3724645203b79d8f4cc81f674654d9902cb4393", + "sha256:294db365efa064d00b8d1ef65d8ea2c3426ac366c0c4368d930bf1c5fb497f77", + "sha256:3b2b1824fe7112845700f815ff6a489360226a5609b96ec2190a45e62a9fc922", + "sha256:3bd0e463264cf257d1ffd2e40223b197271046d09dadf73a0fe82b9c1fc385a5", + "sha256:4465124ef1b18d9ace298060f4eccc64b0850899ac4ac53294547536533800c8", + "sha256:49d4cdd9065b9b6e206d0595fee27a96b5dd22618e7520c33204a4a3239d5b10", + "sha256:4e0583d24c881e14342eaf4ec5fbc97f934b999a6828693a99157fde912540cc", + "sha256:5accb17103e43963b80e6f837831f38d314a0495500067cb25afab2e8d7a4018", + "sha256:607774cbba28732bfa802b54baa7484215f530991055bb562efbed5b2f20a45e", + "sha256:6c78645d400265a062508ae399b60b8c167bf003db364ecb26dcab2bda048253", + "sha256:72a01f726a9c7851ca9bfad6fd09ca4e090a023c00945ea05ba1638c09dc3347", + "sha256:74c1485f7707cf707a7aef42ef6322b8f97921bd89be2ab6317fd782c2d53183", + "sha256:895f61ef02e8fed38159bb70f7e100e00f471eae2bc838cd0f4ebb21e28f8541", + "sha256:8c1be557ee92a20f184922c7b6424e8ab6691788e6d86137c5d93c1a6ec1b8fb", + "sha256:bb4191dfc9306777bc594117aee052446b3fa88737cd13b7188d0e7aa8162185", + "sha256:bfb51918d4ff3d77c1c856a9699f8492c612cde32fd3bcd344af9be34999bfdc", + "sha256:c20cfa2d49991c8b4147af39859b167664f2ad4561704ee74c1de03318e898db", + "sha256:cb333c16912324fd5f769fff6bc5de372e9e7a202247b48870bc251ed40239aa", + "sha256:d2d9808ea7b4af864f35ea216be506ecec180628aced0704e34aca0b040ffe46", + "sha256:d483ad4e639292c90170eb6f7783ad19490e7a8defb3e46f97dfe4bacae89122", + "sha256:dd5de0646207f053eb0d6c74ae45ba98c3395a571a2891858e87df7c9b9bd51b", + "sha256:e1d4970ea66be07ae37a3c2e48b5ec63f7ba6804bdddfdbd3cfd954d25a82e63", + "sha256:e4fac90784481d221a8e4b1162afa7c47ed953be40d31ab4629ae917510051df", + "sha256:fa5ae20527d8e831e8230cbffd9f8fe952815b2b7dae6ffec25318803a7528fc", + "sha256:fd7f6999a8070df521b6384004ef42833b9bd62cfee11a09bda1079b4b704247", + "sha256:fdc842473cd33f45ff6bce46aea678a54e3d21f1b61a7750ce3c498eedfe25d6", + "sha256:fe69978f3f768926cfa37b867e3843918e012cf83f680806599ddce33c2c68b0" + ], + "index": "pypi", + "version": "==5.4.1" + }, "requests": { "hashes": [ "sha256:27973dd4a904a4f13b263a19c866c13b92a39ed1c964655f025f3f8d3d75b804", diff --git a/app.py b/app.py index 193be06..09f02af 100644 --- a/app.py +++ b/app.py @@ -5,8 +5,12 @@ import re from bs4 import BeautifulSoup import requests from dotenv import load_dotenv +from os.path import realpath, dirname from os import getenv +from yaml import load +from pathlib import Path +CONFIG_FILE = Path(f"{dirname(realpath(__file__))}/config.yaml") URL_REGEX = re.compile( "(?:(?:https?|ftp):\/\/|\b(?:[a-z\d]+\.))(?:(?:[^\s()<>]+|\((?:[^\s()<>]+|(?:\([^\s()<>]+\)))?\))+(?:\((?:[^\s()<>]+|(?:\(?:[^\s()<>]+\)))?\)|[^\s`!()\[\]{};:'.,<>?«»“”‘’]))?") @@ -31,8 +35,7 @@ RTX3080TI_CHANNELS = [833700313819119676, RTX3090_CHANNELS = [755728368413966387, 760577787332788315, 796451832968642561] + FOUNDERS_CHANNELS -MONITORED_CHANNELS = set(PS5_CHANNELS + RTX3060_CHANNELS + RTX3060TI_CHANNELS + RTX3070_CHANNELS + - RTX3070TI_CHANNELS + RTX3080_CHANNELS + RTX3080TI_CHANNELS + RTX3090_CHANNELS) +MONITORED_CHANNELS = [] # load .env load_dotenv() @@ -153,12 +156,54 @@ def on_message(resp): def main(): + global MONITORED_CHANNELS + if not token: print("Could not load environmental variables. Make sure TOKEN is set in .env") exit(0) - print("Initialized.") + if not CONFIG_FILE.exists(): + print(f"Could not find {CONFIG_FILE}.") + exit(0) + print(f"Loading configuration \"{CONFIG_FILE}\"") + + with open(CONFIG_FILE, "r") as f: + config_data = load(f.read()) + + if "3060" in config_data and config_data["3060"] == True: + print("[*] Monitoring RTX 3060") + MONITORED_CHANNELS.extend(RTX3060_CHANNELS) + if "3060ti" in config_data and config_data["3060ti"] == True: + print("[*] Monitoring RTX 3060 Ti") + MONITORED_CHANNELS.extend(RTX3060TI_CHANNELS) + if "3070" in config_data and config_data["3070"] == True: + print("[*] Monitoring RTX 3070") + MONITORED_CHANNELS.extend(RTX3070_CHANNELS) + if "3070ti" in config_data and config_data["3070ti"] == True: + print("[*] Monitoring RTX 3070 Ti") + MONITORED_CHANNELS.extend(RTX3070TI_CHANNELS) + if "3080" in config_data and config_data["3080"] == True: + print("[*] Monitoring RTX 3080") + MONITORED_CHANNELS.extend(RTX3080_CHANNELS) + if "3080ti" in config_data and config_data["3080ti"] == True: + print("[*] Monitoring RTX 3080 Ti") + MONITORED_CHANNELS.extend(RTX3080TI_CHANNELS) + if "3090" in config_data and config_data["3090"] == True: + print("[*] Monitoring RTX 3090") + MONITORED_CHANNELS.extend(RTX3090_CHANNELS) + if "founders" in config_data and config_data["founders"] == True: + print("[*] Monitoring Founders Editions") + MONITORED_CHANNELS.extend(FOUNDERS_CHANNELS) + if "ps5" in config_data and config_data["ps5"] == True: + print("[*] Monitoring PS5") + MONITORED_CHANNELS.extend(PS5_CHANNELS) + + # removing duplicate channels (if any) by making monitored channels a set + MONITORED_CHANNELS = set(MONITORED_CHANNELS) + + # starting bot + print("Initialized.") bot.gateway.run(auto_reconnect=True) diff --git a/config.yaml b/config.yaml new file mode 100644 index 0000000..8ff79ec --- /dev/null +++ b/config.yaml @@ -0,0 +1,13 @@ +--- +# GPUs +"founders": true +"3060": true +"3060ti": true +"3070": true +"3070ti": true +"3080": true +"3080ti": true +"3090": true + +# Consoles +"ps5": true