javascript - 我无法让我的音乐机器人进入不和谐的语音频道 (JavaScript)
问题描述
我正在制作一个不和谐的机器人来在我的服务器上播放音乐,但我无法放置/调用该机器人以进入语音频道。我在聊天中,但每次机器人一直说“你必须在语音频道中才能使用机器人!” 我使用的代码是这样的,它不是我的:
bot.on('message', message => {
let args = message.content.substring(PREFIX.length).split(" ");
switch (args[0]) {
case 'play':
function play (connection, message){
var server = servers[message.guild.id];
server.dispatcher = connection.playStream(ytdl(server.queue[0], {filter: "audioonly"}));
server.queue.shift();
server.dispatcher.on("end", function(){
if(server.queue[0]){
play(connection, message);
}else {
connection.disconnect();
}
});
}
if(!args[1]){
message.channel.send("You need to provide a LINK!");
return;
}
if(!message.member.voiceChannel){
message.channel.send("You must be in a voice channel to use the bot!");
return;
}
if(!servers[message.guild.id]) servers[message.guild.id] = {
queue: []
}
var server = servers[message.guild.id];
server.queue.push(args[1]);
if(!message.guild.voiceConnection) message.member.voiceChannel.join().then(function(connection){
play(connection, message);
})
break;
解决方案
而不是message.member.voiceChannel
你需要使用message.member.voice.channel
.
请参阅有关Message.member、GuildMember.voice和VoiceState.channel的文档。
推荐阅读
- reactive-programming - 无法使用 webclient 调用响应在地图中设置值
- android - RXJava 处理链 api 调用:显示不同的错误消息并继续流
- java - 如何通过套接字更新类
- c# - 使用 Microsoft Bot Framework 自动验证 Microsoft 团队中的用户
- c++ - decltype 中的哪些函数没有被调用?
- mobile - 在应用程序的几个地方更新 UI
- html - HTML-CSS,Divs 重叠
- javascript - 重定向问题 htaccess 或 javascript?
- android - 使用 Firebase 函数在 X 分钟后发送推送通知
- linux - 正确分配堆栈以克隆线程