Un bot Telegram qui transforme votre PC en télécommande mpv
Un développeur a transformé un script shell en un bot Telegram open-source pour contrôler son téléviseur via mpv. Le projet, nommé tg-mpv-bot, gère la lecture de vidéos, les sous-titres, les listes de lecture et les fichiers locaux, en évitant tout cloud ou application dédiée. L'histoire inclut des anecdotes techniques sur les problèmes de réseau, d'IPv6 défaillante et de dépendance à yt-dlp.

Dans un coin de son salon, un vieux ThinkPad branché à un téléviseur via HDMI fait office de média center. Mais au lieu d'une interface graphique ou d'une télécommande physique, le contrôle se fait entièrement depuis Telegram, grâce à un bot open-source appelé tg-mpv-bot.
Créé par un développeur anonymisé sous le pseudo « Antón L », ce projet est une évolution d'un ancien hack : un script shell qui reliait Telegram à mpv via un agent Hermes. Fonctionnel, mais limité. Pas de navigation visuelle dans les bibliothèques, pas de recherche, pas de gestion simple des liens externes. Alors, il a tout refait.
Le résultat ? Un bot autonome, hébergé localement, qui communique directement avec mpv via un socket IPC JSON. Aucun cloud, aucune exposition de ports, aucun logiciel à installer sur la télévision. Le bot traite les commandes — lecture, pause, volume, saut de chapitre — et renvoie des notifications : « Maintenant en cours : 6/12 », ou « Position enregistrée pour la prochaine fois ».
La bibliothèque de vidéos est navigable via des boutons inline, organisée par catégories et playlists. Une touche « continue » rappelle où vous vous étiez arrêté. Vous pouvez aussi lancer une recherche YouTube avec /mpv_yt, obtenir des résultats avec couvertures, ou simplement dire « joue quelque chose au hasard ».
Les liens externes — YouTube, SoundCloud, Instagram — sont traités par yt-dlp, qui extrait l'audio et la vidéo pour les envoyer à mpv. Les fichiers locaux, jusqu'à 2 Go, peuvent être transférés depuis Telegram et lus directement, grâce à un serveur Bot API local.
Mais le véritable intérêt du projet, c’est la chronique de ses échecs. Le développeur raconte plusieurs nuits perdues à déboguer des soucis apparemment anodins. Le socket i3 qui mentait, car il utilisait un PID figé dans le temps. Les cookies Firefox qui bloquaient yt-dlp pendant 45 secondes par vidéo. Les extracteurs obsolètes de YouTube, nécessitant des mises à nuit continues.
Et surtout : le problème d’IPv6. Le réseau du développeur redirigeait le trafic IPv4 vers un proxy, mais laissait IPv6 circuler librement — or, les CDN de GoogleVideo lient les URLs à l’IP de livraison. Résultat : les vidéos échouaient sans raison apparente, mpv bloquait, les timeouts s’accumulaient. La solution ? Forcer l’usage d’IPv4, isoler yt-dlp de mpv via des pipes séparées, et tout faire passer par un unique point de sortie proxy.
Le code est disponible sur GitHub, distribué sous licence MIT, avec des images Docker et des paquets AUR. Les tests automatisés s’exécutent contre un vrai mpv --idle. Les mises à jour de yt-dlp sont gérées par un bot, depuis le canapé.
En fin de compte, tg-mpv-bot n’est pas un outil nécessaire. C’est un projet d’amateur, construit pour le plaisir, la précision, et le contrôle total sur son environnement numerique. Une déclaration d’indépendance face aux applications commerciales, aux clouds, aux interfaces obscures. Un peu comme si on prenait sa télévision en main, un câble HDMI à la fois.

