Better default env var
This commit is contained in:
@ -8,7 +8,4 @@ COPY /app/ /app/
|
|||||||
|
|
||||||
RUN pip install --no-cache-dir -r requirements.txt
|
RUN pip install --no-cache-dir -r requirements.txt
|
||||||
|
|
||||||
ENV DISCORD_WEBHOOK_URL="https://example.com/webhook" \
|
|
||||||
REFRESH_TIME="30"
|
|
||||||
|
|
||||||
CMD ["python", "main.py"]
|
CMD ["python", "main.py"]
|
@ -17,7 +17,7 @@ try:
|
|||||||
DISCORD_SERVER_NAME = os.environ.get('DISCORD_SERVER_NAME', 'Shared for free')
|
DISCORD_SERVER_NAME = os.environ.get('DISCORD_SERVER_NAME', 'Shared for free')
|
||||||
API_URL_SKU = os.environ.get('API_URL_SKU', 'https://api.nvidia.partners/edge/product/search?page=1&limit=100&locale=fr-fr&Manufacturer=Nvidia')
|
API_URL_SKU = os.environ.get('API_URL_SKU', 'https://api.nvidia.partners/edge/product/search?page=1&limit=100&locale=fr-fr&Manufacturer=Nvidia')
|
||||||
API_URL_STOCK = os.environ.get('API_URL_STOCK', 'https://api.store.nvidia.com/partner/v1/feinventory?locale=fr-fr&skus=')
|
API_URL_STOCK = os.environ.get('API_URL_STOCK', 'https://api.store.nvidia.com/partner/v1/feinventory?locale=fr-fr&skus=')
|
||||||
REFRESH_TIME = int(os.environ['REFRESH_TIME'])
|
REFRESH_TIME = int(os.environ.get('REFRESH_TIME', 30))
|
||||||
TEST_MODE = os.environ.get('TEST_MODE', 'False').lower() == 'true'
|
TEST_MODE = os.environ.get('TEST_MODE', 'False').lower() == 'true'
|
||||||
PRODUCT_URL = os.environ.get('PRODUCT_URL', 'https://marketplace.nvidia.com/fr-fr/consumer/graphics-cards/?locale=fr-fr&page=1&limit=12&manufacturer=NVIDIA')
|
PRODUCT_URL = os.environ.get('PRODUCT_URL', 'https://marketplace.nvidia.com/fr-fr/consumer/graphics-cards/?locale=fr-fr&page=1&limit=12&manufacturer=NVIDIA')
|
||||||
DISCORD_ROLES = os.environ.get('DISCORD_ROLES')
|
DISCORD_ROLES = os.environ.get('DISCORD_ROLES')
|
||||||
@ -67,6 +67,10 @@ if match:
|
|||||||
else:
|
else:
|
||||||
wh_masked_url = "[Invalid webhook URL]"
|
wh_masked_url = "[Invalid webhook URL]"
|
||||||
|
|
||||||
|
# Test mode
|
||||||
|
if TEST_MODE:
|
||||||
|
logging.warning("🚧 Test mode is active. No real alerts will be sent.")
|
||||||
|
|
||||||
# HTTP headers
|
# HTTP headers
|
||||||
HEADERS = {
|
HEADERS = {
|
||||||
"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) "
|
"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) "
|
||||||
@ -128,6 +132,7 @@ footer = loc["footer"]
|
|||||||
sku_description = loc["sku_description"]
|
sku_description = loc["sku_description"]
|
||||||
imminent_drop = loc["imminent_drop"]
|
imminent_drop = loc["imminent_drop"]
|
||||||
|
|
||||||
|
# Logging
|
||||||
logging.info(f"GPU: {PRODUCT_NAMES}")
|
logging.info(f"GPU: {PRODUCT_NAMES}")
|
||||||
logging.info(f"Discord Webhook URL: {wh_masked_url}")
|
logging.info(f"Discord Webhook URL: {wh_masked_url}")
|
||||||
logging.info(f"Discord Role Mention: {DISCORD_ROLES}")
|
logging.info(f"Discord Role Mention: {DISCORD_ROLES}")
|
||||||
|
@ -10,6 +10,7 @@ from env_config import (
|
|||||||
AVATAR = "https://git.djeex.fr/Djeex/nvidia-stock-bot/raw/branch/main/assets/img/ds_wh_pp.jpg"
|
AVATAR = "https://git.djeex.fr/Djeex/nvidia-stock-bot/raw/branch/main/assets/img/ds_wh_pp.jpg"
|
||||||
THUMBNAIL = "https://git.djeex.fr/Djeex/nvidia-stock-bot/raw/branch/main/assets/img/RTX5000.jpg"
|
THUMBNAIL = "https://git.djeex.fr/Djeex/nvidia-stock-bot/raw/branch/main/assets/img/RTX5000.jpg"
|
||||||
|
|
||||||
|
# In stock
|
||||||
def send_discord_notification(gpu_name, product_link, products_price):
|
def send_discord_notification(gpu_name, product_link, products_price):
|
||||||
timestamp = int(time.time())
|
timestamp = int(time.time())
|
||||||
if TEST_MODE:
|
if TEST_MODE:
|
||||||
@ -45,6 +46,7 @@ def send_discord_notification(gpu_name, product_link, products_price):
|
|||||||
except Exception as e:
|
except Exception as e:
|
||||||
logging.error(f"🚨 Error sending webhook: {e}")
|
logging.error(f"🚨 Error sending webhook: {e}")
|
||||||
|
|
||||||
|
# Out of stock
|
||||||
def send_out_of_stock_notification(gpu_name, product_link, products_price):
|
def send_out_of_stock_notification(gpu_name, product_link, products_price):
|
||||||
timestamp = int(time.time())
|
timestamp = int(time.time())
|
||||||
if TEST_MODE:
|
if TEST_MODE:
|
||||||
@ -76,6 +78,7 @@ def send_out_of_stock_notification(gpu_name, product_link, products_price):
|
|||||||
except Exception as e:
|
except Exception as e:
|
||||||
logging.error(f"🚨 Error sending webhook: {e}")
|
logging.error(f"🚨 Error sending webhook: {e}")
|
||||||
|
|
||||||
|
# SKU change
|
||||||
def send_sku_change_notification(gpu_name, old_sku, new_sku, product_link):
|
def send_sku_change_notification(gpu_name, old_sku, new_sku, product_link):
|
||||||
timestamp = int(time.time())
|
timestamp = int(time.time())
|
||||||
if TEST_MODE:
|
if TEST_MODE:
|
||||||
|
Reference in New Issue
Block a user