Wolf_Yout
@Wolf_Yout

Как сделать проверку на то, из чего состоит аргумент?

Код команды, в которую нужно в пилить проверку:
@commands.command(name='volume')
    async def _volume(self, ctx: commands.Context, *, volume = None):
        """Изменить громкость. Возможные значения(0-200)"""
        if not volume:
            return await ctx.reply('Использование команды:\n`mwb!volume <Значение от 5-200>`')

        volume = int(volume)

        if not ctx.voice_state.is_playing:
            return await ctx.send('Сейчас музыка не играет. Можете включить.')

        if 0 > volume > 100:
            return await ctx.send('Volume must be between 0 and 100')

        ctx.voice_state.volume = volume / 100
        await ctx.send('Громкость изменена на {}%'.format(volume))

И мне нужно сделать проверку из чего состоит аргумент volume, из цифр или букв
То есть если команда введена так:
volume 100
То громкость успешно должна поменяться
А если вот так:
volume X
То уже должен выдаться текст "Значение указано неверно."
  • Вопрос задан
  • 61 просмотр
Решения вопроса 1
AlexNest
@AlexNest Куратор тега Python
Работаю с Python/Django
isinstance(value, int) или type(value) == int
upd:
1. Используйте исключения:
def check_exception(int_val:int) -> str | int:
  try:
    int(int_val) 
  except ValueError:
    return 'Это не число'
  return int_val

2. Используйте regex
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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