Pangsit
@Pangsit
Пытаюсь что-то кодить так сказать

Обрывается музыка, за примерно 30 секунд до конца. Где ошибка?

Здравствуйте.
Пытаюсь сделать музыкальную команду боту. То есть,пишешь команду play, бот воспроизводит музыку через себя.
Столкнулся с проблемой, бот выходит из голосового канала не доиграв музыку +-30 секунд, что уж очень много.
Проблема не в модулях.
Вот весь код:
spoiler
const Discord = require('discord.js');
const { Client, Collection } = require("discord.js");
const client = new Discord.Client();
const snekfetch = require("snekfetch");
const randomPuppy = require('random-puppy');
const YTDL = require("ytdl-core");
const getYouTubeID = require("get-youtube-id");
const fetchVideoInfo = require("youtube-info");
const servers = require("net");
const search = require("yt-search");
const fs = require("fs");
opusscript = require("opusscript");
module.exports = {
    name: "play",
    category: "info",
    description: "Эта команда позволит Вам-воспроизвести музыку по названию.",
    run: async (client, message, args, ops) => {
        search(args.join(" "), function (err, res) {
            if (!message.member.voiceChannel) {
                const voiceerror = new Discord.RichEmbed()
                    .setAuthor("Error")
                    .setDescription(`Сначала Вам нужно посетить голосовой канал.`)
                    .setTimestamp()
                    .setFooter(`По просьбе ${message.author.tag}`)
                    .setColor(`#FF8C00`)
                message.channel.send(voiceerror)
                return;
            }
            if (err) return message.channel.send("Извините, что-то пошло не так, попробуйте еще раз.");
            let videos = res.videos.slice(0, 5);
            let resp = "";
            for (var i in videos) {
                resp += `**[${parseInt(i) + 1}]:** \`${videos[i].title}\`\n`;
            }
            resp += `\n** Выберите число:\`1-${videos.length}**\``;
            message.channel.send(resp);
            const filter = m => !isNaN(m.content) && m.content < videos.length + 1 && m.content > 0;
            const collector = message.channel.createMessageCollector(filter);
            collector.videos = videos;
            collector.once('collect', function (m) {
                let commandFile = require(`./play.js`);
                commandFile.run(client, message, [this.videos[parseInt(m.content) - 1].url], ops);
            });
        });
    }
}

Помогите, кто может. Спасибо
  • Вопрос задан
  • 247 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы