javascript - Discord Bot 不加入语音频道 (JS)
问题描述
我正在用 node.js 制作一个简单的不和谐机器人。我让它运行并响应,但我无法将它召唤到语音频道这是我正在使用的代码
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("Give me a link to play");
return;
}
if (!message.member.voiceChannel) {
message.channel.send("Join a voice channel to play music!");
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(connection => {
message.reply("Here I am!");
});
break;
}
});
它总是转到“加入语音频道”消息,即使我在语音频道中。
解决方案
当我深入研究文档时,我注意到代码应该是
message.member.voice.channel.join()
并不是
message.member.voiceChannel.join()
推荐阅读
- vue.js - 如何在父子关系中使用 vee-validate
- javascript - Instanbul JS、Vue JS、Vue CLI、Cypress e2e 测试和 Typescript 的覆盖率报告仅显示几个文件
- azure - 在 AzureChina 中使用 Packer 构建映像时出现错误 400
- sql-server - 如何停止呈现带有可选参数的 SSRS 报告
- jquery - ajax调用后需要根据下拉过滤器更新工具提示值
- java - 是否将无参数方法改编为 Consumer 不好的形式?
- python - 请解释如何在这篇作业中使用拆分
- python-3.x - 使用循环调用多个熊猫数据框列
- pyspark - 使用 pySpark 和 Cloud Storage 过滤数百万个文件
- javascript - 建立一个包含活动的小时预订日历并隐藏不可用的时间