Compare commits
No commits in common. "main" and "v2.5" have entirely different histories.
@ -16,7 +16,7 @@ RUN pip install --no-cache-dir -r requirements.txt
|
|||||||
|
|
||||||
# Définir les variables d'environnement par défaut (modifiable lors du lancement du conteneur)
|
# Définir les variables d'environnement par défaut (modifiable lors du lancement du conteneur)
|
||||||
ENV DISCORD_WEBHOOK_URL="https://example.com/webhook" \
|
ENV DISCORD_WEBHOOK_URL="https://example.com/webhook" \
|
||||||
REFRESH_TIME="30"
|
REFRESH_TIME="60"
|
||||||
|
|
||||||
# Exposer un point de commande pour exécuter le script
|
# Exposer un point de commande pour exécuter le script
|
||||||
CMD ["python", "nvidia-stock-bot.py"]
|
CMD ["python", "nvidia-stock-bot.py"]
|
28
README.md
28
README.md
@ -11,20 +11,20 @@
|
|||||||
<img src="https://git.djeex.fr/Djeex/nvidia-stock-bot/raw/branch/main/assets/img/nvidia-stock-bot-logo.png" alt="Nvidia Stock Bot" width="300">
|
<img src="https://git.djeex.fr/Djeex/nvidia-stock-bot/raw/branch/main/assets/img/nvidia-stock-bot-logo.png" alt="Nvidia Stock Bot" width="300">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
**🤖 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.
|
**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.*
|
*Le code a été en partie rédigé et structuré à l'aide d'une IA générative.*
|
||||||
|
|
||||||
## 📌 Sommaire
|
## Sommaire
|
||||||
|
|
||||||
- [✨ Fonctionnalités](#fonctionnalit%C3%A9s)
|
- [Fonctionnalités](#fonctionnalit%C3%A9s)
|
||||||
- [🐳 Installation docker sans le dépot (rapide)](#installation-sans-le-d%C3%A9pot-avec-docker-compose)
|
- [Installation docker sans le dépot (rapide)](#installation-sans-le-d%C3%A9pot-avec-docker-compose)
|
||||||
- [🐙 Installation docker avec le dépot (développeur)](#installation-avec-le-d%C3%A9pot)
|
- [Installation docker avec le dépot (développeur)](#installation-avec-le-d%C3%A9pot)
|
||||||
- [🐍 Installation avec Python (développeur)](#installation-avec-python)
|
- [Installation avec Python (développeur)](#installation-avec-python)
|
||||||
- [🖼️ Captures d'écran](#captures-d%C3%A9cran)
|
- [Captures d'écran](#captures-d%C3%A9cran)
|
||||||
- [🧑💻 Contributeurs](#contributeurs)
|
- [Contributeurs](#contributeurs)
|
||||||
|
|
||||||
## ✨ Fonctionnalités
|
## Fonctionnalités
|
||||||
|
|
||||||
- Notification Discord `@everyone` en cas de changement du SKU (potentiel drop imminent)
|
- Notification Discord `@everyone` en cas de changement du SKU (potentiel drop imminent)
|
||||||
- Notification Discord `@everyone` en cas de stock détecté avec modèle, prix, et lien
|
- Notification Discord `@everyone` en cas de stock détecté avec modèle, prix, et lien
|
||||||
@ -34,7 +34,7 @@
|
|||||||
|
|
||||||
<img src="https://git.djeex.fr/Djeex/nvidia-stock-bot/raw/branch/main/assets/img/nvbot_schematics.png" align="center">
|
<img src="https://git.djeex.fr/Djeex/nvidia-stock-bot/raw/branch/main/assets/img/nvbot_schematics.png" align="center">
|
||||||
|
|
||||||
## 🐳 Installation sans le dépot avec docker compose
|
## 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.
|
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.
|
||||||
|
|
||||||
@ -85,7 +85,7 @@ docker compose up -d
|
|||||||
docker logs -f nvidia-stock-bot
|
docker logs -f nvidia-stock-bot
|
||||||
```
|
```
|
||||||
|
|
||||||
## 📦 Installation avec le dépot
|
## 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.
|
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.
|
||||||
|
|
||||||
@ -123,7 +123,7 @@ docker compose up -d
|
|||||||
docker logs -f nvidia-stock-bot
|
docker logs -f nvidia-stock-bot
|
||||||
```
|
```
|
||||||
|
|
||||||
## 🐍 Installation avec Python
|
## 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.
|
Vous trouverez ci-dessous comment exécuter directement le script Python. Avec cette solution, le bot s'arretera si vous fermez votre terminal.
|
||||||
|
|
||||||
@ -158,13 +158,13 @@ Vous trouverez ci-dessous comment exécuter directement le script Python. Avec c
|
|||||||
python nvidia-stock-bot.py
|
python nvidia-stock-bot.py
|
||||||
```
|
```
|
||||||
|
|
||||||
## 🖼️ Captures d'écran
|
## Captures d'écran
|
||||||
|
|
||||||
<div align="center" >
|
<div align="center" >
|
||||||
<img src="https://git.djeex.fr/Djeex/nvidia-stock-bot/raw/branch/main/assets/img/nvidia-stock-bot-discord.png" alt="Nvidia Stock Bot - captures">
|
<img src="https://git.djeex.fr/Djeex/nvidia-stock-bot/raw/branch/main/assets/img/nvidia-stock-bot-discord.png" alt="Nvidia Stock Bot - captures">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
## 🧑💻 Contributeurs
|
## Contributeurs
|
||||||
|
|
||||||
On remercie pour leurs contributions :
|
On remercie pour leurs contributions :
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
DS_HOOK= # Votre url du webhook Discord
|
DS_HOOK= # votre url du webhook Discord
|
||||||
FREQ= # Frequence de rafraichissement en secondes, par défaut 30
|
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_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=
|
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_URL= # URL d'achat du GPU
|
||||||
PRODUCT_NAME= # Le nom exact du GPU que vous recherchez comme : "RTX 5080"
|
PRODUCT_NAME= # Le nom exact du GPU que vous recherchez comme : "RTX 5080"
|
||||||
|
@ -17,12 +17,11 @@ try:
|
|||||||
DISCORD_WEBHOOK_URL = os.environ.get('DISCORD_WEBHOOK_URL')
|
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_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.get('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')
|
||||||
PRODUCT_NAME = os.environ.get('PRODUCT_NAME')
|
PRODUCT_NAME = os.environ.get('PRODUCT_NAME')
|
||||||
|
|
||||||
# Logging des erreurs
|
|
||||||
if not DISCORD_WEBHOOK_URL:
|
if not DISCORD_WEBHOOK_URL:
|
||||||
logging.error("❌ DISCORD_WEBHOOK_URL est requis mais non défini.")
|
logging.error("❌ DISCORD_WEBHOOK_URL est requis mais non défini.")
|
||||||
exit(1)
|
exit(1)
|
||||||
@ -46,7 +45,6 @@ try:
|
|||||||
# Reconstruction de l'url masquée
|
# Reconstruction de l'url masquée
|
||||||
wh_masked_url = f"https://discord.com/api/webhooks/{masked_webhook_id}/{masked_webhook_token}"
|
wh_masked_url = f"https://discord.com/api/webhooks/{masked_webhook_id}/{masked_webhook_token}"
|
||||||
|
|
||||||
# Logging des erreurs
|
|
||||||
except KeyError as e:
|
except KeyError as e:
|
||||||
logging.error(f"Variable d'environnement manquante : {e}")
|
logging.error(f"Variable d'environnement manquante : {e}")
|
||||||
exit(1)
|
exit(1)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user