No description
|
All checks were successful
Docker Build / Build Docker image (push) Successful in 2m37s
|
||
|---|---|---|
| .forgejo/workflows | ||
| commands | ||
| events | ||
| utils | ||
| .env.example | ||
| .gitignore | ||
| deploy-commands.js | ||
| Dockerfile | ||
| index.js | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
🎤 Karaoké Bot Discord
Un bot Discord qui permet de gérer des sessions de karaoké interactives avec plusieurs fonctionnalités avancées.
🌟 Fonctionnalités
- Commande
/lancerkaraoke: Démarre une session de karaoké dans le salon vocal actuel - MP automatique : Envoie un message privé aux nouveaux arrivants avec choix entre chanter ou écouter
- Gestion de la liste : Affiche la liste des chanteurs avec le chanteur actuel mis en évidence
- Boutons interactifs :
- ⏭️ Suivant : Passer au chanteur suivant
- 🎤 Rejoindre : S'ajouter à la liste des chanteurs
- 🚪 Quitter : Se retirer de la liste des chanteurs
- 🛑 Finir : Terminer la session de karaoké
- Gestion intelligente des absences :
- Si un utilisateur quitte et revient, il reste dans la liste
- Si un utilisateur est absent depuis plus de 10 minutes, il est automatiquement retiré avec notification
- Multi-serveur : Fonctionne sur plusieurs serveurs Discord simultanément
📋 Prérequis
- Node.js (v16 ou supérieur)
- Un compte Discord Bot avec les permissions suivantes :
Send Messages(Envoyer des messages)Embed Links(Intégrer des liens)Read Message History(Lire l'historique des messages)View Channel(Voir le canal)
🚀 Installation
-
Cloner le repository
git clone <votre-repo> cd discordbot-karaobot -
Installer les dépendances
npm install -
Configurer le bot
- Créez un fichier
.envà la racine du projet - Copiez le contenu de
.env.exampledans.env - Remplacez
votre_token_icipar votre token Discord Bot - Remplacez
votre_client_id_icipar votre Client ID (disponible dans le Discord Developer Portal)
DISCORD_TOKEN=votre_token_ici CLIENT_ID=votre_client_id_ici - Créez un fichier
-
Déployer les commandes slash
- Avant de démarrer le bot, déployez les commandes slash :
npm run deploy- Cela déploiera les commandes globalement ET sur tous les serveurs où le bot est présent
-
Inviter le bot sur votre serveur
- Allez sur le Discord Developer Portal
- Créez une application et ajoutez un bot
- Générez un token et copiez-le dans votre fichier
.env - Invitez le bot avec les permissions nécessaires
-
Démarrer le bot
npm start
🎮 Utilisation
Démarrer une session de karaoké
- Rejoignez un salon vocal
- Utilisez la commande
/lancerkaraoke - Le bot enverra un embed dans le salon vocal avec les boutons de contrôle
Pour les participants
- Nouveaux arrivants : Recevront automatiquement un MP avec le choix de chanter ou écouter
- Chanteurs : Apparaissent dans la liste avec leur statut (🎤 en vocal, ⏸️ absent)
- Boutons : Utilisez les boutons pour rejoindre/quitter la liste ou passer au suivant
Gestion de la session
- Le bouton Suivant fait passer au chanteur suivant dans la liste
- Le bouton Finir termine la session et supprime l'embed
- Les utilisateurs peuvent rejoindre ou quitter à tout moment via les boutons
⚙️ Configuration
Le bot est configuré pour fonctionner avec les paramètres suivants :
- Timeout d'absence : 10 minutes avant qu'un chanteur absent soit retiré
- Délai de réponse au MP : 5 minutes pour répondre au choix initial
- Multi-serveur : Chaque serveur peut avoir sa propre session de karaoké
📝 Structure du projet
discordbot-karaobot/
├── commands/
│ └── lancerkaraoke.js # Commande slash pour démarrer le karaoké
├── events/
│ ├── ready.js # Événement de démarrage du bot
│ ├── voiceStateUpdate.js # Gestion des entrées/sorties vocales
│ └── interactionCreate.js # Gestion des boutons et commandes
├── utils/
│ ├── embed.js # Création des embeds
│ └── buttons.js # Création des boutons
├── index.js # Point d'entrée du bot
├── package.json # Dépendances du projet
├── .env # Configuration (token)
└── .env.example # Exemple de configuration
🐛 Dépannage
Le bot ne répond pas aux commandes
- Vérifiez que le token est correct dans le fichier
.env - Assurez-vous que le bot a les permissions nécessaires
- Vérifiez que les intents sont activés dans le Discord Developer Portal
Les MP ne s'envoient pas
- Vérifiez que le bot a la permission d'envoyer des MPs
- Certains utilisateurs peuvent avoir désactivé les MPs
Le bot ne détecte pas les entrées/sorties vocales
- Assurez-vous que l'intent
GuildVoiceStatesest activé - Vérifiez que le bot a accès au salon vocal
🤝 Contribution
Les contributions sont les bienvenues ! N'hésitez pas à ouvrir une issue ou un pull request.
📄 Licence
ISC
🎉 Amusez-vous bien !
Profitez de vos sessions de karaoké avec vos amis ! 🎤🎶