L'application s'exécutera et programmera le démarrage du serveur Exaroton à l'heure spécifiée dans le fuseau horaire configuré. Elle enverra également une notification à l'URL du webhook spécifiée lorsque le serveur sera démarré.
Important
- Python 3.10 ou version ultérieure 🐍
- Un compte Exaroton 🌐
- Docker 🐳 (optionnel)
- 🚀 Planificateur de Serveur Exaroton
- 📋 Exigences
- ⭐ Exécution Directe du Script
- 🐳 Exécution avec Docker
- 🌱 Explication des Variables d'Environnement
- 🤝 Contributions
- 📄 Licence
-
Clonez le dépôt :
git clone https://github.com/sergisvk/exaroton-reset.git cd exaroton-reset
-
Créez un fichier
.env
dans le répertoire racine du projet et ajoutez les variables d'environnement suivantes :TOKEN= TIMEZONE=Europe/Paris WEBHOOK_URL= CRON_SCHEDULE_START="0 6 * * *" # Démarre le serveur à 6h00 CRON_SCHEDULE_STOP="0 22 * * *" # Arrête le serveur à 22h00 ID_SERVER="" LANGUAGE=""
[!NOTE] Cliquez ici pour voir l'explication de chaque variable d'environnement.
-
Installez les dépendances :
pip install -r requirements.txt
-
Exécutez le script :
python main.py
-
Clonez le dépôt :
git clone https://github.com/sergisvk/exaroton-reset.git cd exaroton-reset
-
Créez un fichier
.env
dans le répertoire racine du projet et ajoutez les variables d'environnement suivantes :TOKEN= TIMEZONE=Europe/Paris WEBHOOK_URL= CRON_SCHEDULE_START="0 6 * * *" # Démarre le serveur à 6h00 CRON_SCHEDULE_STOP="0 22 * * *" # Arrête le serveur à 22h00 ID_SERVER="" LANGUAGE="fr-FR"
[!NOTE] Cliquez ici pour voir l'explication de chaque variable d'environnement.
-
Construisez l'image Docker et exécutez le conteneur :
docker build -t exaroton-reset . docker run --env-file .env exaroton-reset
Tip
À mon avis, c'est la meilleure façon d'exécuter le conteneur en utilisant Docker Compose.
-
Créez un fichier
docker-compose.yml
dans le répertoire racine du projet avec le contenu suivant :version: '3.8' services: exaroton-reset: image: ghcr.io/sergisvk/exaroton-reset:latest environment: - TOKEN=${TOKEN} - TIMEZONE=${TIMEZONE} - WEBHOOK_URL=${WEBHOOK_URL} - ID_SERVER=${ID_SERVER} - CRON_SCHEDULE_START=${CRON_SCHEDULE_START} - CRON_SCHEDULE_STOP=${CRON_SCHEDULE_STOP} - LANGUAGE=${LANGUAGE} restart: unless-stopped
-
Exécutez la commande suivante pour démarrer le conteneur : Une autre façon d'exécuter le conteneur en utilisant Docker Compose est de passer le fichier
.env
dans la sectionenvironment
du fichierdocker-compose.yml
.version: '3.8' services: exaroton-reset: image: ghcr.io/sergisvk/exaroton-reset:latest env_file: - .env restart: unless-stopped
Cela démarrera le conteneur en utilisant la dernière image publiée dans le registre de conteneurs GitHub et les variables d'environnement définies dans le fichier .env
.
-
TOKEN
: Il s'agit du jeton API Exaroton utilisé pour authentifier les requêtes à l'API Exaroton. Vous devez obtenir ce jeton depuis votre compte Exaroton. -
TIMEZONE
: Le fuseau horaire dans lequel vous souhaitez planifier le démarrage du serveur. Il doit être au format tz reconnu (par exemple,Europe/Paris
). -
WEBHOOK_URL
: L'URL du webhook où les notifications seront envoyées. Cela peut être une URL de webhook Discord ou un autre service qui accepte les webhooks. -
CRON_SCHEDULE_START
: Le programme cron pour démarrer le serveur. Dans ce cas, il est configuré pour démarrer le serveur tous les jours à 6h00 ("0 6 * * *"
). -
CRON_SCHEDULE_STOP
: Le programme cron pour arrêter le serveur. Dans ce cas, il est configuré pour arrêter le serveur tous les jours à 22h00 ("0 22 * * *"
). -
ID_SERVER
: L'ID de votre serveur Exaroton. Cet ID est unique pour chaque serveur et est utilisé pour identifier le serveur que vous souhaitez démarrer. -
LANGUAGE
: La langue dans laquelle les notifications seront envoyées. Les langues disponibles sonten-UK
,es-ES
,fr-FR
,pt-PT
.
Le format cron est utilisé pour planifier des tâches à des intervalles spécifiques. La syntaxe d'une expression cron est la suivante :
* * * * *
| | | | |
| | | | +---- Jour de la semaine (0 - 7) (Dimanche à Samedi, où 0 et 7 sont Dimanche)
| | | +------ Mois (1 - 12)
| | +-------- Jour du mois (1 - 31)
| +---------- Heure (0 - 23)
+------------ Minute (0 - 59)
Chaque champ peut contenir une ou plusieurs valeurs, séparées par des virgules. Les valeurs peuvent être des nombres spécifiques, des plages de nombres ou des caractères spéciaux tels que *
(n'importe quelle valeur), /
(incréments) et -
(plages).
Les contributions sont les bienvenues. Veuillez ouvrir un problème ou une demande de tirage pour discuter des modifications que vous souhaitez apporter.
Ce projet est maintenu par SergiSvK. Si vous trouvez ce projet utile, envisagez de faire un don.
Ce projet est sous licence MIT. Consultez le fichier LICENSE pour plus d'informations.