Introducción
"Voz" se refiere a que los bots de Discord pueden enviar audio en canales de voz. Esto es compatible con discord.js a través de @discordjs/voiceopen in new window, una biblioteca independiente creada por los desarrolladores de discord.js. Si bien puede usarlo con cualquier biblioteca de API de Discord de Node.js, esta guía se centrará en usarlo con discord.js.
Instalación
Esqueleto
Para agregar funcionalidad de voz a su bot discord.js, necesitará el paquete @discordjs/voice, así como uno de los paquetes de cifrado que se enumeran a continuación. Por ejemplo:
npm install @discordjs/voice libsodium-wrappers
Después de esto, podrá reproducir archivos Ogg y WebM Opus sin ninguna otra dependencia. Si desea reproducir audio de otras fuentes o desea mejorar el rendimiento, considere instalar algunas de las dependencias adicionales que se enumeran a continuación.
ADVERTENCIA
Esta guía asume que ha instalado al menos una dependencia adicional: FFmpeg. Puede encontrar más información sobre esto en la sección siguiente.
Dependencias adicionales
- Una biblioteca de codificación Opus
@discordjs/opusopen in new window (mejor rendimiento)opusscriptopen in new window
- FFmpeg – le permite reproducir una variedad de medios (e.g. MP3s).
ffmpegopen in new window - instalar y agregar al entorno de su sistemaffmpeg-staticopen in new window - para instalar FFmpeg a través de npm
- Paquetes de cifrado
TIP
Fuera de un entorno de desarrollo, se recomienda que utilice @discordjs/opus y sodium para mejorar el rendimiento y la estabilidad de la reproducción de audio.
Si tiene dificultades para instalar estas dependencias, asegúrese de tener instaladas las herramientas de compilación primero. En Windows, esto es tan fácil como ejecutar npm install --global --production --vs2015 --add-python-to-path windows-build-tools
Dependencias de depuración
La biblioteca incluye una función auxiliar que le ayuda a averiguar qué dependencias ha instalado correctamente. Esta información también es muy útil si alguna vez necesita enviar un problema en el rastreador de problemas @discordjs/voice.
const { generateDependencyReport } = require('@discordjs/voice');
console.log(generateDependencyReport());
/*
--------------------------------------------------
Core Dependencies
- @discordjs/voice: 0.3.1
- prism-media: 1.2.9
Opus Libraries
- @discordjs/opus: 0.5.3
- opusscript: not found
Encryption Libraries
- sodium: 3.0.2
- libsodium-wrappers: not found
- tweetnacl: not found
FFmpeg
- version: 4.2.4-1ubuntu0.1
- libopus: yes
--------------------------------------------------
*/
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
- Dependencias principales
- Estas son dependencias que definitivamente deberían estar disponibles.
- Bibliotecas Opus
- Si desea reproducir audio de muchos tipos de archivos diferentes o alterar el volumen en tiempo real, necesitará uno de estos.
- Bibliotecas de cifrado
- Debe tener al menos una biblioteca de cifrado instalada para usar
@discordjs/voice.
- Debe tener al menos una biblioteca de cifrado instalada para usar
- FFmpeg
- Si desea reproducir audio de muchos tipos de archivos diferentes, deberá tener FFmpeg instalado.
- Si
libopusestá habilitado, podrá beneficiarse de un mayor rendimiento si la alteración de volumen en tiempo real está deshabilitada.