NexuMusic est un bot Discord multifonctionnel écrit en Python. Il offre des fonctionnalités de musique (radio, Spotify, YouTube), de gestion d'invitations, d'économie, de console interactive, de quiz, etc.
- 🎶 Musique personnalisée : commandes radio/YouTube/Spotify avec
yt-dlp. - 📨 Suivi d'invitations : qui a invité qui, départs/retours.
- ⚙️ Setup serveur : canaux de log, bienvenue, compteur.
- 💸 Économie : système de points, grades, classement, daily.
- 🖥️ Console interactive : gestion à distance en CLI.
- 🧠 Quiz et IA : questions via JSON, interface AskGPT.
- 🧩 Modules séparés : musique, modération, server, giveaway…
.
├── bot.py
├── console_config.py
├── consolecommandmanager.py
├── database.py
├── audio.mp3
├── questions.json
├── questions_data.json
├── commands/
│ ├── askgpt.py, economy.py, music.py, moderation.py, setup.py...
├── events/
│ ├── invite.py, ready.py, voice.py, logger.py, errors.py...
├── .github/ # Actions GitHub
├── README.md
├── LICENSE
├── .env (à créer)
- Python 3.8+
- MySQL 5.7+/MariaDB
ffmpegpour le son- Token Discord
- Spotify API (client + secret)
git clone https://github.com/lulunoel/NexuMusic.git
cd NexuMusic
pip install -r requirements.txtCrée un fichier .env :
TOKEN=Votre_Token_Discord
HOST=localhost
UTILISATEUR=root
PASSWORD=motdepasse
DATABASE=nexumusic
PORT=3306
SECRET=client_secret_spotify
CLIENT=client_id_spotify
OPENAI_API_KEY=sk-...Lance le bot :
python bot.py| Commande | Description |
|---|---|
!play <url> |
Joue une musique YouTube/Spotify |
!pause, !resume, !skip |
Contrôle |
!queue, !stop |
Gestion de la file |
!addradio, !removeradio |
Gestion radios persos |
| Commande | Description |
|---|---|
!who_invited, !invite_count |
Traque des invites |
!invitations |
Liste des liens d'invitation |
| Commande | Fonction |
|---|---|
!setlogchannel, !setwelcomechannel, !setcountchannel |
Canaux du bot |
| Commandes | Description |
|---|---|
!point add/set/remove |
Gestion des points |
!point daily, !point classement |
Récompenses et classement |
| Commandes | Fonction |
|---|---|
stop, list_guilds, send_message |
Gestion CLI |
reload_cog <name> |
Rechargement à chaud |
Extrait pour initialiser invites :
CREATE TABLE invites (
id INT AUTO_INCREMENT PRIMARY KEY,
invite_code VARCHAR(255) UNIQUE,
inviter_id BIGINT,
guild_id BIGINT,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);- Fork et PR bienvenues !
- Voir
CONTRIBUTING.mdetCODE_OF_CONDUCT.md.
Vulnérabilité ? Merci de lire SECURITY.md.
Projet sous licence MIT – voir LICENSE.