我无法制作播放音乐的不和谐机器人

Posted

技术标签:

【中文标题】我无法制作播放音乐的不和谐机器人【英文标题】:I'm having trouble making a discord bot that plays music 【发布时间】:2020-12-19 03:09:15 【问题描述】:

bot成功连接到语音频道,但没有播放我输入的URL中的歌曲,代码是:

if(message.content.startsWith(prefix + "join"))

  message.channel.send("Entrando a " + message.member.voiceChannel);
  if (message.member.voiceChannel) 
  
    const permissions = message.member.voiceChannel.permissionsFor(message.client.user);
    if (!permissions.has('CONNECT')) 
    
      return message.channel.send('No me puedo conectar a ese canal')
    
    if (!permissions.has('SPEAK')) 
      return message.channel.send('No puedo hablar en ese canal')
    

    let connection = await message.member.voiceChannel.join();
    let dispatcher = connection.playStream(ytdl('https://www.youtube.com/watch?v=PLRrL9OsAF8&t=18s'))
      .on('start', () => 
        message.reply('Empieza la musica');
      )
      .on('end', () => 
          message.reply('Termino la musica');
          message.member.voiceChannel.leave();
      )
      .on('error', error => 
          message.reply('Error al intentar reproducir la cancion');
      );
    dispatcher.setVolumeLogarithmic(5 / 5);
   
  else 
  
    message.reply('Tenes que estar dentro de un chat de voz');
  
  

谁能确定造成这种情况的潜在原因?

【问题讨论】:

调试并获取有关问题的更多详细信息。控制台上是否显示错误?当您尝试执行命令以在 discord 上听音乐时,会发生什么情况吗?为您的问题添加更多信息,它很空 @Aks Jacoves 嗨,感谢您的评论,错误未显示在控制台上,假设通过“加入”命令机器人进入语音通道并自动播放来自URL,问题是当我运行命令时,机器人连接到语音通道,但不播放歌曲。 【参考方案1】:

据我所知,您使用的是 Discord.js V11,它不是推荐的版本(V12)

从文档看来,您可能必须将可选参数传递给 ytdl

// Play streams using ytdl-core
const ytdl = require('ytdl-core');
const streamOptions =  seek: 0, volume: 1 ;
voiceChannel.join()
    .then(connection => 
    const stream = ytdl('https://www.youtube.com/watch?v=XAWgeLF9EVQ',  filter : 'audioonly' );
    const dispatcher = connection.playStream(stream, streamOptions);
)
.catch(console.error);

如果这不起作用,可以找到 Discord.js 的支持服务器here。他们在 3 月份正式迁移到 V12,但他们可能仍然可以帮助您

【讨论】:

以上是关于我无法制作播放音乐的不和谐机器人的主要内容,如果未能解决你的问题,请参考以下文章

是否可以通过安装在 Heroku 上的不和谐机器人播放音乐/声音?

如何使用 youtubedl 的搜索功能而不是 url 让我的不和谐机器人播放音乐? (Python)

我试图向我的不和谐机器人添加播放命令,但是

带有 youtube dl 的不和谐机器人音乐不会卡在网页下载中

即使我安装了 ffmpeg,Heroku 也不播放音乐

歌曲结束时,Discord 音乐机器人不会离开服务器