Files
MamieHenriette/README.md
2025-08-09 16:55:21 +02:00

175 lines
3.5 KiB
Markdown
Executable File

# 👵 Mamie Henriette - Discord Status Bot 🤖
## 📖 Description
Mamie Henriette est un bot Discord intelligent qui change automatiquement de statut, surveillant et gérant votre serveur avec une touche d'humour et de caractère.
## ✨ Fonctionnalités
- Changement cyclique automatique des statuts
- Configuration flexible via variables d'environnement
- Gestion des erreurs et logging
- Support multi-statuts Discord
- Déploiement simplifié avec Docker
- 📊 Surveillance optionnelle avec Zabbix
## 🛠 Prérequis
- Docker et Docker Compose
- Compte Discord et Token du bot
- (Optionnel) Serveur Zabbix pour la surveillance
## 📦 Installation
1. Clonez le dépôt
```bash
git clone https://git.favrep.ch/lapatatedouce/MamieHenrriette
cd MamieHenrriette
```
2. Copiez le fichier de configuration
```bash
cp .env.example .env
```
3. Éditez le fichier `.env` avec vos paramètres
```bash
nano .env
```
4. Démarrez le conteneur Docker
**Mode développement (avec logs):**
```bash
docker-compose up --build
```
**Mode production (en arrière-plan):**
```bash
docker-compose up --build -d
```
**Voir les logs:**
```bash
docker-compose logs -f discord-bot
```
**Arrêter le conteneur:**
```bash
docker-compose down
```
## 🔧 Configuration
### Variables d'environnement principales
- `TOKEN`: Votre token Discord (obligatoire)
- `STATUS`: Statut initial (défaut: online)
- `INTERVAL`: Intervalle de changement de statut (défaut: 3600 secondes)
### 📊 Configuration Zabbix (optionnelle)
- `ENABLE_ZABBIX`: Activer la surveillance Zabbix (défaut: false)
- `ZABBIX_SERVER`: Adresse du serveur Zabbix
- `ZABBIX_HOSTNAME`: Nom d'hôte pour identifier le bot
- `ZABBIX_PORT`: Port d'exposition Zabbix (défaut: 10050)
#### Métriques surveillées par Zabbix
- Statut du bot Discord
- Temps de fonctionnement (uptime)
- Utilisation mémoire
- Erreurs et avertissements dans les logs
- Connectivité à Discord
#### Activation de Zabbix
Dans votre fichier `.env` :
```bash
ENABLE_ZABBIX=true
ZABBIX_SERVER=votre-serveur-zabbix.com
ZABBIX_HOSTNAME=MamieHenriette
```
### Fichier `statuts.txt`
Créez un fichier `statuts.txt` avec vos statuts, un par ligne.
Exemple :
```
Surveiller le serveur
Mamie est là !
En mode supervision
```
## 📋 Dépendances
- discord.py==2.3.2
- python-dotenv==1.0.0
---
# 🖥️ Installation environnement de développement
## Installation des dépendances système
```bash
sudo apt install python3 python3-pip
```
## Création de l'environnement Python local
Dans le dossier du projet :
```bash
python3 -m venv .venv
```
Puis activer l'environnement :
```bash
source .venv/bin/activate
```
## Installation des dépendances Python
```bash
pip install -r requirements.txt
```
## Exécution
```bash
python3 run-web.py
```
# Structure du projet
```
.
|-- database : module de connexion à la BDD
| |-- __init.py__
| |-- models.py : contient les pojo représentant chaque table
| |-- schema.sql : contient un scrip sql d'initialisation de la bdd, celui-ci doit être réentrant
|
|-- discordbot : module de connexion à discord
| |-- __init.py__
|
|-- webapp : module du site web d'administration
| |-- static : Ressource fixe directement accessible par le navigateir
| | |-- css
| | |-- ...
| |
| |-- template : Fichier html
| | |-- template.html : structure globale du site
| | |-- commandes.html : page de gestion des commandes
| | |-- ...
| |
| |-- __init.py__
| |-- index.py : controller de la page d'acceuil
| |-- commandes.py : controller de gestion des commandes
| |-- ...
|
|-- run-web.py : launcher
```