# 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](https://www.facebook.com/ChaineSTEvE) sur YouTube, [Twitch](https://www.twitch.tv/chainesteve) et [Discord](https://discord.com/invite/UwAPqMJnx3). > ⚠ **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](https://docs.docker.com/engine/install/) ou [Docker Desktop](https://docs.docker.com/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 : 1. **AccĂ©der au portail dĂ©veloppeur** : Rendez-vous sur [Discord Developer Portal](https://discord.com/developers/applications) 2. **CrĂ©er une nouvelle application** : - Cliquez sur "New Application" - Donnez un nom Ă  votre bot (ex: "MmeMichue") - Acceptez les conditions et cliquez sur "Create" 3. **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" 4. **RĂ©cupĂ©rer le token** : - Dans la section "Token", cliquez sur "Reset Token" - Copiez le token gĂ©nĂ©rĂ© (gardez-le secret !) 5. **Inviter le bot sur votre serveur** : - Allez dans "OAuth2" > "URL Generator" - SĂ©lectionnez les scopes : `bot` et `applications.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 ```bash # 1. Cloner le projet git clone https://github.com/skylanix/MamieHenriette.git ``` ```bash cd MamieHenriette ``` ```bash # 2. Lancer avec Docker docker compose up --build -d ``` ### Configuration 1. **Interface web** : AccĂ©dez Ă  http://localhost 2. **Token Discord** : Section "Configurations" 3. **Humeurs** : DĂ©finir les statuts du bot 4. **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 : > ```bash > docker compose restart mamiehenriette > ``` ### Commandes Docker utiles ```bash # Logs en temps rĂ©el docker compose logs -f mamiehenriette ``` ```bash # Logs d'un conteneur en cours d'exĂ©cution docker logs -f mamiehenriette ``` ```bash # RedĂ©marrer docker compose restart mamiehenriette ``` ```bash # ArrĂȘter docker compose down ``` ## Configuration avancĂ©e ### Variables d'environnement ```yaml 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 ```bash python3 -m venv venv source venv/bin/activate pip install -r requirements.txt python run-web.py ``` ### Contribution 1. Fork du projet 2. Branche feature 3. Pull Request --- *Mamie Henriette vous surveille ! đŸ‘”đŸ‘€*