Skip to content

Latest commit

 

History

History
159 lines (118 loc) · 3.48 KB

File metadata and controls

159 lines (118 loc) · 3.48 KB

🎵 NexuMusic Bot

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.


📦 Fonctionnalités principales

  • 🎶 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…

🧱 Structure du projet

.
├── 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)

🔧 Installation

Prérequis

  • Python 3.8+
  • MySQL 5.7+/MariaDB
  • ffmpeg pour le son
  • Token Discord
  • Spotify API (client + secret)

Étapes

git clone https://github.com/lulunoel/NexuMusic.git
cd NexuMusic
pip install -r requirements.txt

Cré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

📋 Commandes clés

🎶 Musique

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

📨 Invitations

Commande Description
!who_invited, !invite_count Traque des invites
!invitations Liste des liens d'invitation

⚙ Setup

Commande Fonction
!setlogchannel, !setwelcomechannel, !setcountchannel Canaux du bot

💸 Économie

Commandes Description
!point add/set/remove Gestion des points
!point daily, !point classement Récompenses et classement

🖥 Console

Commandes Fonction
stop, list_guilds, send_message Gestion CLI
reload_cog <name> Rechargement à chaud

💡 Astuce base de données

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
);

🤝 Contribuer

  • Fork et PR bienvenues !
  • Voir CONTRIBUTING.md et CODE_OF_CONDUCT.md.

🛡️ Sécurité

Vulnérabilité ? Merci de lire SECURITY.md.


📜 Licence

Projet sous licence MIT – voir LICENSE.


🔗 Remerciements