3.9 KiB
Nvidia Stock Bot - WIP -
Par KevOut & Djeex
Ce robot :
- Appelle l'API de Nvidia listant le produit (par défaut toutes les 60s)
- Récupère le SKU du produit concerné
- Appelle le stock lié à ce SKU
- Si du stock est trouvé, envoie une notification discord via le webhook paramétré
Trois modes d'installation :
- Avec le dépot Git et Docker
- Sans le dépot Git et avec notre image docker fournie
- Avec python (développeurs)
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
- Git
- Docker
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-bot
et compilez l'image docker :
docker build -t nvidia-stock-bot .
Rendez-vous dans le dossier nvidia-stock-bot/docker
et éditez le fichier .env
avec :
- l'url de votre webhook discord
- 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 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
- Docker
Configuration
version: "3.8"
services:
nvidia-stock-bot:
image: git.djeex.fr/djeex/nvidia-stock-bot:wip
container_name: nvidia-stock-bot
restart: always # Le conteneur redémarrera automatiquement en cas d'échec
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=
- 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
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"
-
Lancez le script
python nvidia-stock-bot.py