Mise à jour de la documentation
This commit is contained in:
parent
43518d7d86
commit
9dae286965
25
README.md
25
README.md
@ -47,24 +47,31 @@ Vous trouverez-ci dessous les instructions pour configurer le conteneur avec not
|
||||
- Créez le fichier `compose.yaml` dans ce dossier avec la configuration ci-dessous :
|
||||
|
||||
```yaml
|
||||
version: "3.8"
|
||||
services:
|
||||
nvidia-stock-bot:
|
||||
image: git.djeex.fr/djeex/nvidia-stock-bot:latest
|
||||
container_name: nvidia-stock-bot
|
||||
restart: always
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- DISCORD_WEBHOOK_URL= # URL de votre webhook Discord
|
||||
- REFRESH_TIME= # Durée de rafraichissement du script en secondes
|
||||
- API_URL_SKU= # API listant le produit par exemple https://api.nvidia.partners/edge/product/search?page=1&limit=100&locale=fr-fr&Manufacturer=Nvidia&gpu=RTX%205090
|
||||
- API_URL_STOCK= # API appelant le stock sans préciser la valeur du sku, par exemple https://api.store.nvidia.com/partner/v1/feinventory?locale=fr-fr&skus=
|
||||
- PRODUCT_URL= # URL d'achat du GPU
|
||||
- PRODUCT_NAME= # Le nom du GPU qui s'affiche dans les notifications
|
||||
- TEST_MODE= # true pour tester les notifications discord. false par défaut.
|
||||
- PRODUCT_NAME= # Le nom exact du GPU que vous recherchez comme : "RTX 5080"
|
||||
- PYTHONUNBUFFERED=1 # Permet d'afficher les logs en temps réel
|
||||
command: python nvidia-stock-bot.py # Lance le script Python au démarrage du conteneur
|
||||
command: python nvidia-stock-bot.py
|
||||
```
|
||||
|
||||
**Variables d'environnements :**
|
||||
|
||||
| Variables | Explications | Valeurs possibles | Valeur par défaut |
|
||||
|---------------------|-------------------------------------------------|--------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------|
|
||||
| DISCORD_WEBHOOK_URL | URL de votre webhook Discord | Une URL | |
|
||||
| REFRESH_TIME | Durée de rafraichissement du script en secondes | `60`, `30`, etc... | `30` |
|
||||
| API_URL_SKU | API listant le produit | Une URL | `https://api.nvidia.partners/edge/product/search?page=1&limit=100&locale=fr-fr&Manufacturer=Nvidia` |
|
||||
| API_URL_STOCK | API donnant le stock | Une URL | `https://api.store.nvidia.com/partner/v1/feinventory?locale=fr-fr&skus=` |
|
||||
| PRODUCT_URL | URL d'achat du GPU | Une URL | `https://marketplace.nvidia.com/fr-fr/consumer/graphics-cards/?locale=fr-fr&page=1&limit=12&manufacturer=NVIDIA` |
|
||||
| PRODUCT_NAME | Le nom exact du GPU que vous recherchez | `RTX 5090`, `RTX 5080` ou `RTX 5070`. | |
|
||||
| TEST_MODE | Pour tester sans envoyer de notifs | `True`, `False` | `False` |
|
||||
| PYTHONUNBUFFERED | #Permet d'afficher les logs en temps réel | `1`, `0` | `1` |
|
||||
|
||||
**Lancer l'image**
|
||||
|
||||
Rendez-vous dans le dossier `nvidia-stock-bot` et lancez le conteneur :
|
||||
|
10
docker/.env
10
docker/.env
@ -1,6 +1,6 @@
|
||||
DS_HOOK= #votre url du webhook Discord
|
||||
FREQ= #frequence de rafraichissement en secondes
|
||||
API_URL_SKU= # API listant le produit par exemple https://api.nvidia.partners/edge/product/search?page=1&limit=100&locale=fr-fr&Manufacturer=Nvidia&gpu=RTX%205090
|
||||
API_URL_STOCK= # API appelant le stock sans préciser la valeur du sku, par exemple https://api.store.nvidia.com/partner/v1/feinventory?locale=fr-fr&skus=
|
||||
DS_HOOK= # votre url du webhook Discord
|
||||
FREQ= # frequence de rafraichissement en secondes, par défaut 30
|
||||
API_URL_SKU= # API listant le produit par défaut https://api.nvidia.partners/edge/product/search?page=1&limit=100&locale=fr-fr&Manufacturer=Nvidia
|
||||
API_URL_STOCK= # API appelant le stock sans préciser la valeur du sku, par défaut https://api.store.nvidia.com/partner/v1/feinventory?locale=fr-fr&skus=
|
||||
PRODUCT_URL= # URL d'achat du GPU
|
||||
PRODUCT_NAME= #Le nom du GPU qui s'affiche dans les notifications
|
||||
PRODUCT_NAME= # Le nom exact du GPU que vous recherchez comme : "RTX 5080"
|
||||
|
@ -1,9 +1,8 @@
|
||||
version: "3.8"
|
||||
services:
|
||||
nvidia-stock-bot:
|
||||
image: nvidia-stock-bot
|
||||
container_name: nvidia-stock-bot
|
||||
restart: always # Le conteneur redémarrera automatiquement en cas d'échec
|
||||
restart: unless-stopped
|
||||
env_file:
|
||||
- .env
|
||||
environment:
|
||||
@ -11,5 +10,7 @@ services:
|
||||
- REFRESH_TIME=${FREQ}
|
||||
- API_URL_SKU=${API_URL_SKU}
|
||||
- API_URL_STOCK=${API_URL_STOCK}
|
||||
- PRODUCT_URL=${PRODUCT_URL}
|
||||
- PRODUCT_NAME=${PRODUCT_NAME}
|
||||
- PYTHONUNBUFFERED=1 # Permet d'afficher les logs en temps réel
|
||||
command: python nvidia-stock-bot.py # Lance le script Python
|
@ -14,13 +14,21 @@ logging.info("Démarrage du script")
|
||||
|
||||
# Récupération des variables d'environnement
|
||||
try:
|
||||
DISCORD_WEBHOOK_URL = os.environ['DISCORD_WEBHOOK_URL']
|
||||
API_URL_SKU = os.environ['API_URL_SKU']
|
||||
API_URL_STOCK = os.environ['API_URL_STOCK']
|
||||
REFRESH_TIME = int(os.environ['REFRESH_TIME']) # Convertir en entier
|
||||
DISCORD_WEBHOOK_URL = os.environ.get('DISCORD_WEBHOOK_URL')
|
||||
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=')
|
||||
REFRESH_TIME = int(os.environ.get('REFRESH_TIME', 30))
|
||||
TEST_MODE = os.environ.get('TEST_MODE', 'False').lower() == 'true'
|
||||
PRODUCT_URL = os.environ['PRODUCT_URL']
|
||||
PRODUCT_NAME = os.environ['PRODUCT_NAME']
|
||||
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_NAME = os.environ.get('PRODUCT_NAME')
|
||||
|
||||
if not DISCORD_WEBHOOK_URL:
|
||||
logging.error("❌ DISCORD_WEBHOOK_URL est requis mais non défini.")
|
||||
exit(1)
|
||||
|
||||
if not PRODUCT_NAME:
|
||||
logging.error("❌ PRODUCT_NAME est requis mais non défini.")
|
||||
exit(1)
|
||||
|
||||
# Regex pour extraire l'ID et le token
|
||||
match = re.search(r'/(\d+)/(.*)', DISCORD_WEBHOOK_URL)
|
||||
|
Loading…
x
Reference in New Issue
Block a user