@xzartsust
Учусь

Проблеми с youtube_dl, что делать?

Здравствуйте, возникли проблемы:
Проблема:
  1. Не всегда воспроизводиться музыка по команде(могу написать команду и силку на музыку бот напишет что играет, но в голосовом нет музыки)
  2. Также может иногда писать что много запросов(), хотя я не использовав много раз команду play(я ранее писал уже по этой причине - сказали поставить ограничение. Я использовал cooldown, но после этого она не совсем исчезла)

Решения которые я пробовал:
  1. По первому, исправляєтся только тогда когда перезапущу бота на хосте(Heroku)
  2. По второму, если перезапустить бота на хосте(Heroku), то проблема с тем что пишет что много запросов пропадает на неопределенный срок, а иногда даже надо что-то в коде изменить(например где-то забрать пробел) что бы заработало

Вот часть кода команды play:
@commands.command(name='play', aliases = ['p', 'pl'])
    @commands.cooldown(1, 20, commands.BucketType.member)
    async def _play(self, ctx: commands.Context, *, search: str):
        if not ctx.voice_state.voice:
            await ctx.invoke(self._join)

        async with ctx.typing():
            try:
                source = await YTDLSource.create_source(ctx, search, loop=self.bot.loop)
            except YTDLError as e:
                await ctx.send('Произошла ошибка при обработке этого запроса: {}'.format(str(e)))
            else:
                song = Song(source)

                await ctx.voice_state.songs.put(song)
                await ctx.send('Поставлен в очередь {}'.format(str(source)))

Настройки youtube_dl:
class YTDLSource(discord.PCMVolumeTransformer):
    YTDL_OPTIONS = {
        'format': 'bestaudio/best',
        'extractaudio': True,
        'audioformat': 'mp3',
        'outtmpl': '%(extractor)s-%(id)s-%(title)s.%(ext)s',
        'restrictfilenames': True,
        'noplaylist': True,
        'nocheckcertificate': True,
        'ignoreerrors': False,
        'logtostderr': False,
        'quiet': True,
        'no_warnings': True,
        'default_search': 'auto',
        'source_address': '0.0.0.0',
    }

    FFMPEG_OPTIONS = {
        'before_options': '-reconnect 1 -reconnect_streamed 1 -reconnect_delay_max 5',
        'options': '-vn',
    }

Как решить те проблемы, что я написал в разделе Проблема?
  • Вопрос задан
  • 105 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы