mirror of
https://github.com/skylanix/MamieHenriette.git
synced 2026-02-06 06:40:35 +01:00
854fddb3010a7672f48af91e09572ed85fa59dcc
MamieHenriette 👵
Bot multi-plateformes pour Discord, Twitch et YouTube Live
Vue d'ensemble
Mamie Henriette est un bot intelligent open-source développé spécifiquement pour la communauté de STEvE sur YouTube, Twitch et Discord.
⚠️ Statut : En cours de développement
Caractéristiques principales
- Interface web d'administration complète
- Gestion multi-plateformes (Discord, Twitch, YouTube Live)
- Système de notifications automatiques
- Base de données intégrée pour la persistance
- Surveillance optionnelle avec Zabbix (non testée)
Fonctionnalités
Discord
- Statuts dynamiques : Rotation automatique des humeurs (10 min)
- Notifications Humble Bundle : Surveillance et alertes automatiques (30 min)
- Commandes personnalisées : Gestion via interface web
- Modération : Outils intégrés
Twitch (en développement)
- Chat bot : Commandes et interactions
- Événements live : Notifications de stream
YouTube Live (en développement)
- Chat bot : Modération et commandes
- Événements : Notifications de diffusion
Interface d'administration
- Dashboard : Vue d'ensemble et statistiques
- Configuration : Tokens, paramètres des plateformes
- Gestion des humeurs : Création et modification des statuts
- Commandes : Édition des commandes personnalisées
- Modération : Outils de gestion communautaire
Surveillance
- Zabbix Agent 2 : Monitoring avancé (non testé)
- Métriques : Santé du bot et uptime
Installation
Prérequis
- Docker Engine ou Docker Desktop
- Token Discord pour le bot
Création du bot Discord
Avant d'installer MamieHenriette, vous devez créer un bot Discord et obtenir son token :
-
Accéder au portail développeur : Rendez-vous sur Discord Developer Portal
-
Créer une nouvelle application :
- Cliquez sur "New Application"
- Donnez un nom à votre bot (ex: "MmeMichue")
- Acceptez les conditions et cliquez sur "Create"
-
Configurer le bot :
- Dans le menu latéral, cliquez sur "Bot"
- Ajoutez une photo de profil et un pseudo à votre bot
- Important : Activez les "Privileged Gateway Intents" :
- ☑️ Presence Intent
- ☑️ Server Members Intent
- ☑️ Message Content Intent
- Cliquez sur "Save Changes"
-
Récupérer le token :
- Dans la section "Token", cliquez sur "Reset Token"
- Copiez le token généré (gardez-le secret !)
-
Inviter le bot sur votre serveur :
- Allez dans "OAuth2" > "URL Generator"
- Sélectionnez les scopes :
botetapplications.commands - Sélectionnez les permissions nécessaires (Administrator recommandé pour simplifier)
- Utilisez l'URL générée pour inviter le bot sur votre serveur
Démarrage rapide
# 1. Cloner le projet
git clone https://github.com/skylanix/MamieHenriette.git
cd MamieHenriette
# 2. Lancer avec Docker
docker compose up --build -d
Configuration
- Interface web : Accédez à http://localhost
- Token Discord : Section "Configurations"
- Humeurs : Définir les statuts du bot
- Canaux : Configurer les notifications
⚠️ Important : Après avoir configuré le token Discord, les humeurs et autres fonctionnalités via l'interface web, redémarrez le conteneur pour que les changements soient pris en compte :
docker compose restart mamiehenriette
Commandes Docker utiles
# Logs en temps réel
docker compose logs -f mamiehenriette
# Logs d'un conteneur en cours d'exécution
docker logs -f mamiehenriette
# Redémarrer
docker compose restart mamiehenriette
# Arrêter
docker compose down
Configuration avancée
Variables d'environnement
environment:
- ENABLE_ZABBIX=false # Surveillance (non testée)
- ZABBIX_SERVER=localhost
- ZABBIX_HOSTNAME=MamieHenriette
Interface d'administration
| Section | Fonction |
|---|---|
| Configurations | Tokens et paramètres généraux |
| Humeurs | Gestion des statuts Discord |
| Commandes | Commandes personnalisées |
| Modération | Outils de gestion |
Architecture du projet
Structure des modules
├── database/ # Couche données
│ ├── models.py # Modèles ORM
│ ├── helpers.py # Utilitaires BDD
│ └── schema.sql # Structure initiale
│
├── discordbot/ # Module Discord
│ └── __init__.py # Bot et handlers
│
└── webapp/ # Interface d'administration
├── static/ # Assets statiques
├── templates/ # Vues HTML
└── *.py # Contrôleurs par section
Composants principaux
| Fichier | Rôle |
|---|---|
run-web.py |
Point d'entrée principal |
start.sh |
Script de démarrage Docker |
docker-compose.yml |
Configuration des services |
requirements.txt |
Dépendances Python |
Spécifications techniques
Base de données (SQLite)
- Configuration : Paramètres et tokens
- Humeur : Statuts Discord rotatifs
- Message : Messages périodiques (planifié)
- GameBundle : Historique Humble Bundle
Architecture multi-thread
- Thread 1 : Interface web Flask (port 5000)
- Thread 2 : Bot Discord et tâches automatisées
Dépendances principales
discord.py # API Discord
flask # Interface web
requests # Client HTTP
waitress # Serveur WSGI
Développement
Installation locale
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python run-web.py
Contribution
- Fork du projet
- Branche feature
- Pull Request
Mamie Henriette vous surveille ! 👵👀
Languages
Python
53.3%
HTML
46.1%
Dockerfile
0.5%
Shell
0.1%