Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

320
Views
Problemas al reproducir archivos de audio en Discord

Entonces, han sido dos largos días tratando de averiguar qué está pasando... Estoy creando un bot en mi canal de Discord que reproduce un audio.mp3 cuando se escribe un comando, como !ríe, entonces el bot debería ingresar al canal de voz y reproducir risa.mp3. Lo he intentado de muchas maneras diferentes, pero el bot sigue entrando en el canal, el círculo verde aparece rápidamente pero no se reproduce ningún sonido...

 const { join } = require('path'); const { joinVoiceChannel, createAudioPlayer, createAudioResource, getVoiceConnection, entersState, StreamType, AudioPlayerStatus, VoiceConnectionStatus, AudioResource } = require("@discordjs/voice"); module.exports = { name: 'laugh', aliases: ["l"], run: async(client, message, args) => { const player = createAudioPlayer() const connection = joinVoiceChannel({ channelId: message.member.voice.channel.id, guildId: message.guild.id, adapterCreator: message.guild.voiceAdapterCreator }).subscribe(player) let resource = createAudioResource(join('./som/', 'laugh.mp3')); player.play(resource) player.on(AudioPlayerStatus.AutoPaused, () => { player.stop(); }); } }

Ya intenté detectar un error, pero aparentemente no pasa nada, ya tengo todas las intenciones en mi index.js.

Entonces, ¿alguien podría ayudarme a encontrar una solución?

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Pasado el tercer día, resolví encontrar otra biblioteca que pudiera usar para resolver el problema, ¡resulta que encontré una solución usando FS !

En lugar de solo intentar reproducir el archivo, he creado una secuencia y luego solo reproduzco la secuencia... En términos de rendimiento, esa no es la mejor solución, ¡pero funciona!

Así es como va:

 const {createReadStream } = require('fs') const { join } = require('path'); const { joinVoiceChannel, createAudioPlayer, createAudioResource, getVoiceConnection, entersState, StreamType, AudioPlayerStatus, VoiceConnectionStatus, AudioResource } = require("@discordjs/voice"); module.exports = { name: 'laugh', aliases: ["l"], run: async(client, message, args) => { const player = createAudioPlayer(); const connection = joinVoiceChannel({ channelId: message.member.voice.channel.id, guildId: message.guild.id, adapterCreator: message.guild.voiceAdapterCreator, selfDeaf: false, }).subscribe(player); let resource = createAudioResource(createReadStream(join(__dirname, 'som/laugh.mp3')), { inlineVolume : true }); resource.volume.setVolume(0.9); console.log(join(__dirname, 'som/laugh.mp3')); player.play(resource) player.on(AudioPlayerStatus.AutoPaused, () => { player.stop(); });

Algo que debo advertir es que Replit no resuelve correctamente Node.js 17 y otras dependencias, por lo que para que su Bot funcione las 24 horas del día, los 7 días de la semana, use Heroku y GitHub. Para terminar, se requiere establecer las intenciones de GUILD_VOICE_STATES , estaba usando 32767 pero de alguna manera esto no funcionaba.

¡Eso es todo!

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!