Aller au contenu
Tous les projets
Version 2Projet personnelBot2026

YT-Fever

Un bot Discord qui joue la musique de YouTube dans les salons vocaux. C'est la réécriture en Node.js de mon premier bot en Python, plus sûre et plus complète.

YT-Fever

Le point de départ

Mon premier bot musique avait fait son temps. Il construisait des commandes système à partir des liens envoyés sur Discord, laissait tourner des processus ffmpeg après un !skip et oubliait le volume à chaque nouveau titre.

L'approche choisie

  1. 01

    Une réécriture en Node.js avec discord.js et @discordjs/voice, découpée en modules : événements, commandes, file d'attente et appels à yt-dlp.

  2. 02

    Le son passe directement de yt-dlp à ffmpeg, sans adresse de flux intermédiaire qui expirait sur les morceaux longs.

  3. 03

    Une file d'attente par serveur : l'afficher, retirer un titre, boucler sur un titre ou sur toute la file, mélanger.

Sous le capot

spawn() plutôt qu'exec()

Les arguments passent en tableau, sans aucun shell. Un lien piégé ne peut plus exécuter de commande sur la machine qui héberge le bot.

Des processus bien rangés

Chaque changement de titre arrête proprement le ffmpeg en cours, il ne reste plus aucun processus orphelin.

Ce que j'ai construit

  • !play avec un lien ou des mots-clés
  • !queue, !remove et !shuffle
  • Boucle sur le titre ou sur la file
  • Volume mémorisé par serveur
  • Départ automatique si le bot reste seul
  • Départ après 5 minutes d'inactivité, réglable

Bilan et perspectives

Fonctionnel, en version 2. Les chemins de yt-dlp et de ffmpeg s'adaptent à Windows comme à Linux et se règlent dans le fichier .env.

  • Commandes à préfixe (!play), pas encore de commandes slash.

Projet suivant

ThorManager

Gestionnaire de téléchargements natif pour Windows, piloté par une extension Chrome.

Page d'accueil du site de ThorManager