Adaptateur @discordjs/voice
Le bot rejoint un canal voix ou stage avec un token OAuth ; s'abonne aux streams Opus par utilisateur sur UDP. Pas de navigateur nécessaire.
bot api · discord
livre M2 (juin-juil) 2026Un nouveau marché. L'adaptateur Discord rejoint un canal voix ou stage avec un token OAuth, reçoit des frames Opus sur UDP via @discordjs/voice, et écrit des streams .ogg par utilisateur. Pas de navigateur nécessaire ; tourne comme un conteneur Node beaucoup plus léger que le chemin Meet/Teams/Zoom.
aperçu
Pourquoi Discord. Standups asynchrones, studios de jeux indé, communautés dev, podcasteurs — il y a tout un segment exécutant ses réunions dans Discord qui aujourd'hui doit enregistrer localement et uploader manuellement. La passerelle voix de Discord expose des streams Opus par utilisateur nativement, donc nous n'avons pas besoin d'adaptateur d'automatisation de navigateur du tout ; le bot est un petit processus Node qui rejoint le canal, écoute les événements VoiceConnection.receiver.subscribe() par utilisateur, et écrit les streams directement sur disque.
productDiscord.body2
productDiscord.body3
périmètre prévu
Le bot rejoint un canal voix ou stage avec un token OAuth ; s'abonne aux streams Opus par utilisateur sur UDP. Pas de navigateur nécessaire.
Opus par utilisateur dans le conteneur natif de Discord. Nous ne transcodons pas — le fichier que vous recevez est bit-exact ce que la passerelle a livré.
Locuteurs vs audience gérés correctement ; le bot tire la liste de locuteurs de l'instance de stage. Les membres de l'audience sont silencieux et ne sont pas capturés.
Processus Node, pas de Xvfb, pas de Chrome, pas de x11grab. Moins cher à exécuter ; nous vous le passons au même forfait $0,30/h.
Si la transcription est activée, les streams par utilisateur alimentent directement le pipeline de transcription ; les tags de locuteur sont parfaits par construction.
channel_full, missing_voice_permission, bot_kicked, channel_deleted, meeting_ended — remontés sur le webhook de complétion.