Я искал информацию об этой теме, но ничего не нашел, поэтому я здесь, чтобы попросить о помощи. Я новичок в программировании и пытаюсь заставить бота играть на музыке c на моем сервере. Когда я пытаюсь запустить бота, используя «узел», он говорит, что не может найти каталог. Вот код (с использованием ytdl-core и opusscript, также discord. js) (я вижу пакет myp. json. Имя бота просто бот. js):
const Discord = require('discord.js');
const bot = new Discord.Client();
const bot_token = 'REMOVED_THE_AUTH_TOKEN';
bot.login(bot_token);
const PREFIX = '';
var servers = {};
const ytdl = require("ytdl-core");
bot.on('ready', () =>{
console.log('Bot online!')
})
bot.on('message', message=>{
let args = message.content.substring(PREFIX.length).split(" ");
switch (args[0])
{
case ' ':
message.channel.send('Hello')
break;
case 'Hello!':
message.channel.send('Hi!')
break;
case '!botinfo':
message.channel.send('HelloBot, version 1.1.5\nLoves saying \"Hi!\"\nCreator: BGnikitaBG')
break;
case '!game':
message.channel.send('Ping-pong balls!')
break;
case 'Ping':
message.channel.send('Pong!')
break;
case 'Pong':
message.channel.send('Ping!')
break;
case '!music':
message.channel.send('Beep-Booooob-Beep! Beeeeep-Booob')
break;
case 'Love!':
message.channel.send('My heart is yours!')
break;
case 'Goodbye!':
message.channel.send('Bye, bye!')
break;
case 'Homework?':
message.channel.send('I am not updated yet!')
break;
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 play 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;
}
})
//It worked before the "play update".
//package.json:
{
"name": "bot-testing-machine",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node ./sources/bot.js"
},
"repository": {
"type": "git",
"url": "git+https://github.com/8Nikicha8/bot-testing-machine.git"
},
"keywords": [],
"author": "",
"license": "ISC",
"bugs": {
"url": "https://github.com/8Nikicha8/bot-testing-machine/issues"
},
"homepage": "https://github.com/8Nikicha8/bot-testing-machine#readme",
"dependencies": {
"discord.js": "^12.2.0",
"opusscript": "0.0.7",
"ytdl-core": "^2.1.1"
}
}