我无法制作播放音乐的不和谐机器人
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)