Nvidia Stock Bot
Nvidia Stock Bot - Un robot qui permet d'être alerté en temps réel des stocks de cartes graphiques Nvidia RTX FE grâce à des notifications Discord.
Le code a été en partie rédigé et structuré à l'aide d'une IA générative.
Sommaire
- Fonctionnalités
 - Installation docker sans le dépot (rapide)
 - Installation docker avec le dépot (développeur)
 - Installation avec Python (développeur)
 - Captures d'écran
 - Contributeurs
 
Fonctionnalités
- Notification Discord 
@everyoneen cas de changement du SKU (potentiel drop imminent) - Notification Discord 
@everyoneen cas de stock détecté avec modèle, prix, et lien - Notification Discord silencieuse en cas d'absence de stock détécté
 - Choix de la fréquence de la vérification
 - Choix du modèle à surveiller
 
Installation sans le dépot avec docker compose
Vous trouverez-ci dessous les instructions pour configurer le conteneur avec notre image pré-compilée. Avec cette solution, votre bot tournera tout seul tant que le conteneur est actif.
Pré-requis
Configuration
- Créez un dossier 
nvidia-stock-bot - Créez le fichier 
compose.yamldans ce dossier avec la configuration ci-dessous : 
version: "3.8"
services:
  nvidia-stock-bot:
    image: git.djeex.fr/djeex/nvidia-stock-bot:latest
    container_name: nvidia-stock-bot
    restart: always
    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.
      - 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
Lancer l'image
Rendez-vous dans le dossier nvidia-stock-bot et lancez le conteneur :
docker compose up -d
Voir les logs pour vérifier le bon fonctionnement
docker logs -f nvidia-stock-bot
Installation avec le dépot
Vous trouverez-ci dessous les instructions pour installer le dépot, compiler l'image docker, et lancer le conteneur. Avec cette solution, votre bot tournera tout seul tant que le conteneur est actif.
Pré-requis
Cloner et paramétrer
- Clonez le repo :
 
git clone https://git.djeex.fr/Djeex/nvidia-stock-bot.git
- Rendez vous dans le dossier 
nvidia-stock-botet compilez l'image docker : 
docker build -t nvidia-stock-bot .
- Puis rendez-vous dans le dossier 
nvidia-stock-bot/dockeret éditez le fichier.envavec :- l'url de votre webhook discord
 - les différents liens API et produits
 - la fréquence de consultation des stock (par défaut 60s, attention à ne pas trop descendre sous peine de blocage de votre adresse IP par nVidia)
 
 
Lancer l'image
Rendez-vous dans le dossier nvidia-stock-bot/docker et lancez le conteneur :
docker compose up -d
Voir les logs pour vérifier le bon fonctionnement
docker logs -f nvidia-stock-bot
Installation avec Python
Vous trouverez ci-dessous comment exécuter directement le script Python. Avec cette solution, le bot s'arretera si vous fermez votre terminal.
Pré-requis
- Python 3.11 ou plus
 - requests : 
pip install requests 
Configuration
- 
Créez un environnement virtuel (exemple :
python3 -m venv nom_de_l_environnement) - 
Créez un dossier et aller dedans
 - 
Téléchargez le script python :
curl -o nvidia-stock-bot.py -# https://git.djeex.fr/Djeex/nvidia-stock-bot/raw/branch/main/nvidia-stock-bot.py - 
Exportez les variables d'environnement avec votre webhook discord et le temps de rafraichissement en secondes, par exemple :
export DISCORD_WEBHOOK_URL="https://votre_url_discord" export REFRESH_TIME="60" export API_URL_SKU="https://api.nvidia.partners/edge/product/search?page=1&limit=100&locale=fr-fr&Manufacturer=Nvidia&gpu=RTX%205080" export API_URL_STOCK="https://api.store.nvidia.com/partner/v1/feinventory?locale=fr-fr&skus=" export PRODUCT_URL= "https://marketplace.nvidia.com/fr-fr/consumer/graphics-cards/?locale=fr-fr&page=1&limit=12&gpu=RTX%205080&manufacturer=NVIDIA" export PRODUCT_NAME="RTX 5080" export TEST_MODE=false - 
Lancez le script
python nvidia-stock-bot.py 
Captures d'écran
Contributeurs
On remercie pour leurs contributions :
- Djeex
 - KevOut
 - Extreme2pac
 

