как сделать поле необязательным в одном случае и обязательным в другом. Disnake

если тип_саундпад выбран на вкл/on то мне нужно что бы параметр номер_звука был обязательным, если тип_саундпад выбран на выкл/off то мне нужно что бы параметр номер_звука был не нужен вообще. как это сделать ? Подскажите пожалуйста

тип_саундпад = commands.option_enum({"вкл": 'on', "выкл": 'off'})
@bot.slash_command(description='включить звук в саундпаде')
async def саундпад(inter, тип_саундпад: тип_саундпад, номер_звука: int='0'):
    if тип_саундпад == 'on':
        with open("hub.txt", "w") as file:
            file.write(номер_звука)
        os.startfile('SoundpadAPP.jar')
        await inter.response.send_message('звук воспроизведён', ephemeral=True)
        print('type = саундпад' + '\n' + 'typeSNDPAD: on' + '\n' + 'author: ' + str({inter.author.nick}) + '\n' + 'authorID: ' + str({inter.author.id}) + '\n' + 'message: ' + '/саундпад ' + номер_звука + '\n' + 'bot_answer: ' + 'звук воспроизведён' + '\n' + ' ')
    elif тип_саундпад == 'off':
        os.startfile('soundpadAPPoff.jar')
        await inter.response.send_message('звук остановлен', ephemeral=True)
        print('type = саундпад' + '\n' + 'typeSNDPAD: off' + '\n' + 'author: ' + str({inter.author.nick}) + '\n' + 'authorID: ' + str({inter.author.id}) + '\n' + 'message: ' + '/саундпад ' + номер_звука + '\n' + 'bot_answer: ' + 'звук воспроизведён' + '\n' + ' ')


Ответы (1 шт):

Автор решения: ArkaDarkTime

Вы можете сделать так:

тип_саундпад = commands.option_enum({"вкл": 'on', "выкл": 'off'})
@bot.slash_command(description='включить звук в саундпаде')
async def саундпад(inter, тип_саундпад: тип_саундпад, номер_звука: int=None):
    if тип_саундпад == 'on':
        if номер_звука == None:
            await inter.response.send_message('Укажите номер звука!', ephemeral=True)
            return

        with open("hub.txt", "w") as file:
            file.write(номер_звука)
        os.startfile('SoundpadAPP.jar')
        await inter.response.send_message('звук воспроизведён', ephemeral=True)
        print('type = саундпад' + '\n' + 'typeSNDPAD: on' + '\n' + 'author: ' + str({inter.author.nick}) + '\n' + 'authorID: ' + str({inter.author.id}) + '\n' + 'message: ' + '/саундпад ' + номер_звука + '\n' + 'bot_answer: ' + 'звук воспроизведён' + '\n' + ' ')
    elif тип_саундпад == 'off':
        os.startfile('soundpadAPPoff.jar')
        await inter.response.send_message('звук остановлен', ephemeral=True)
        print('type = саундпад' + '\n' + 'typeSNDPAD: off' + '\n' + 'author: ' + str({inter.author.nick}) + '\n' + 'authorID: ' + str({inter.author.id}) + '\n' + 'message: ' + '/саундпад ' + номер_звука + '\n' + 'bot_answer: ' + 'звук воспроизведён' + '\n' + ' ')

Ps: Не называйте переменные русскими символами...

→ Ссылка