• Как сделать динамическую slash команду disnake?

    THEROER,
    Судя по описанию, он не список серверов хочет получить, а список юзеров. Сами параметры, да, регистрируются при запуске, а вот аргументы этих параметров генерятся, я сам долго мучался, как сделать человеческий автокомплит с генерацией аргументов, так как не опытен, а такое точно есть, и смог, но через отдельную функцию
    Вот мой ког с генерацией под спойлером

    spoiler
    from typing import List
    
    import disnake
    from disnake import Option, OptionType, OptionChoice
    from disnake.ext import commands
    
    from lib import ListGenerator
    from lib import logger
    from lib import play_audio
    
    
    class Testing(commands.Cog, name='Testing'):
        def __init__(self, bot):
            self.bot = bot  # defining bot as global var in class
    
        @commands.Cog.listener()  # this is a decorator for events/listeners
        async def on_ready(self):
            logger.info(f'Cog {__name__.split(".")[1]} is ready!.')
    
        @commands.slash_command(name="play_audio",
                                description="Make possible playing audio by command",
                                options=[
                                    Option(name="audio",
                                           type=OptionType.string,
                                           required=True
                                           )
                                ])
        async def playaudio(self, inter: disnake.ApplicationCommandInteraction,
                            audio: str
                            ):
            if inter.author.voice is not None:
                await inter.response.send_message(f'Played {audio}', ephemeral=True)
                await play_audio(audio, self.bot, inter.author.voice.channel)
            else:
                await inter.response.send_message('You`re not in voice', ephemeral=True)
    
        @playaudio.autocomplete('audio')
        async def list_to_play(self, inter: disnake.ApplicationCommandInteraction, current: str) -> List[OptionChoice]:
            _def_iter = ListGenerator('audio')
            _def_dict: dict = {}
            for f in _def_iter:
                _def_dict[f.name] = f'{f.path}/{f.name}'
    
            _user_dict: dict = {}
            try:
                _user_iter = ListGenerator(f'audio/{inter.author.id}')
                for f in _user_iter:
                    _user_dict[f.name] = f'{f.path}/{f.name}'
    
                # user_dict = []
                # for _track in user_list:
    
            except IndexError:
                pass
    
            _dict = {}
            _dict.update(_def_dict)
            _dict.update(_user_dict)
            return [
                OptionChoice(name=choice, value=f'{_dict[choice]}')
                for choice in _dict if current.lower() in choice.lower()
    
            ]
    
    
    def setup(bot):  # an extension must have a setup function
        bot.add_cog(Testing(bot))  # adding a cog

    если что, напиши в лс, помогу по возможности