【发布时间】:2021-08-26 15:03:40
【问题描述】:
所以基本上当我在 VC 中使用我想要的歌曲执行我的 play cmd 时,我的机器人不会响应它并且没有给出任何错误但是如果我只是在没有我想要的歌曲的情况下键入 play,我会得到我的Please provide song 回复。
这是主文件
const distube = require('distube');
client.distube = new distube(client, { searchSongs: true, emitNewSongOnly: true })
client.distube
.on('playSong', (message, queue, song) => message.channel.send(
`Playing \`${song.name}\` - \`${song.formattedDuration}\`\nRequested by: ${song.user}\n${status(queue)}`,
))
.on('addSong', (message, queue, song) => message.channel.send(
`Added ${song.name} - \`${song.formattedDuration}\` to the queue by ${song.user}`,
))
.on('error', (message, e) => {
message.channel.send(`An error occured: ${e}`)
})
这是播放命令:
const distube = require("distube");
module.exports = {
name: 'play',
aliases: ['p'],
description: 'play a song!',
async execute(client, message, args) {
const VC = message.member.voice.channel;
if(!VC) return message.reply('Join VC or no music!');
const music = args.join(" ");
if(!music) return message.reply("Please provide me a song name");
await client.distube.play(message, music);
}
}
我使用的包是:
npm i distube
npm i @discordjs/opus
npm i ffmpeg-static
作为参考,这些是我看过的东西:
https://distube.js.org/guide/example-bot.html
https://www.youtube.com/watch?v=tbPqM6JcGA4&t=883s
这也不是我第一次收到此错误。我之前尝试过使用不同的软件包,但仍然没有用。当我提供我想要的歌曲时,他们都没有回应。基本上,我唯一的问题是机器人没有加入 VC。有谁知道如何解决这个问题?
【问题讨论】:
-
用 try catch 和捕获错误包装你的
client.distube.play -
@HellCatVN 我还是一无所获
-
你有没有调用“VC.join()”让机器人加入vc?
-
我认为你应该为你的机器人做手动命令加入,然后尝试播放音乐
-
@SatvikVejendla 我刚刚尝试过,它加入了 VC,但它没有播放任何音乐,当我执行断开连接命令时,它会记录一个错误,指出它没有播放。现在呢?
标签: javascript node.js discord.js distube