Wolf_Yout
@Wolf_Yout

Как сделать выбор трека?

Код команды:
@commands.command(name='play', aliases=['p','add'])
    async def _play(self, ctx: commands.Context, *, search: str = None):

            if not search:
                return await ctx.reply(f'Использование команды:\n`{determine_prefix(self.bot, ctx.message)}play <Ссылка, или название>`')

            if not ctx.voice_state.voice:
                await ctx.invoke(self._join)

            if get_lang(ctx.message) == "ru":
                msg = await ctx.reply(f'Подождите минуту...')
            elif get_lang(ctx.message) == "uk":
                msg = await ctx.reply(f'Зачекайте хвилину...')
            elif get_lang(ctx.message) == "en":
                msg = await ctx.reply(f'Wait a minute...')
            try:

                source1 = await YTDLSource.create_source(ctx, search, loop=self.bot.loop)
                source2 = await YTDLSource.create_source(ctx, search, loop=self.bot.loop)
                source3 = await YTDLSource.create_source(ctx, search, loop=self.bot.loop)
                source4 = await YTDLSource.create_source(ctx, search, loop=self.bot.loop)
                source5 = await YTDLSource.create_source(ctx, search, loop=self.bot.loop)
                source6 = await YTDLSource.create_source(ctx, search, loop=self.bot.loop)
            except YTDLError as e:
                await ctx.send('Ошибка: {}'.format(str(e)))
            else:
                await msg.edit(embed=discord.Embed(title="Выберите!",description="\n\n".join([source1,source2,source3,source4,source5,source6])))
                wait_message = await bot.wait_for("message")
                select = wait_message.content
                if select == "1":
                    source = source1
                elif select == "2":
                    source = source2
                elif select == "3":
                    source = source3
                elif select == "4":
                    source = source4
                elif select == "5":
                    source = source5
                elif select == "6":
                    source = source6
                song = Song(source)

                await ctx.voice_state.songs.put(song)
                if get_lang(ctx.message) == "ru":
                    await msg.edit(content=f'Добавлено {source}')
                elif get_lang(ctx.message) == "uk":
                    await msg.edit(content=f'Додано {source}')
                elif get_lang(ctx.message) == "en":
                    await msg.edit(content=f'Added {source}')

При вводе команды бот подключается ко мне, и начинает выполнять все YTDLSource запросы, но в конце концов происходит ошибка:
622e47532d793193577561.png
Также, мне кажется что если бы это работало, то были бы абсолютно одинаковые запросы, так что два вопроса в одном, как сделать перечисление?
  • Вопрос задан
  • 77 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

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