コマンド ロジック自体と、インストールされているすべての依存関係を以下に示します。基本的に、これまでに提供した YouTube リンクを使用して Discord でコマンドを実行するたびに、ボットが参加し、すべてが正しく実行されますが、その直後に、VSC でボットが「ビデオを利用できません」というエラーでエラーになります。あらゆる種類のフォーラムに目を通し、多くのビデオを見ましたが、解決策がまったく見つかりません。
再生コマンド ロジック:
if (musicArgs.startsWith('play')) {
let musicPlayPrefix = 'play';
let musicPlayArgs = musicArgs.slice(musicPlayPrefix.length).trim();
if (message.member.voice.channel) {
const connection = await message.member.voice.channel.join();
const dispatcher = connection.play(await ytdl(musicPlayArgs), { type: 'opus'})
dispatcher.on('error', console.error);
dispatcher.on('start', () => {
message.channel.send(`**Now Playing:** *${musicPlayArgs}`);
});
dispatcher.on('finish', () => {
message.channel.send(`**Music Finished!**`);
});
}
else {
message.channel.send(`You're not in a voice channel! Retry the command inside of one.`);
}
}
Package.json の依存関係:
"dependencies": {
"@discordjs/opus": "github:discordjs/opus",
"discord.js": "^12.3.1",
"ffmpeg-static": "^4.2.7",
"hypixel-api-reborn": "^2.2.4",
"libsodium-wrappers": "^0.7.8",
"ytdl-core-discord": "git+https://github.com/amishshah/ytdl-core-discord.git"
}