Exemplo n.º 1
0
def convert(message: telebot.types.Message):
    try:
        values = message.text.split(' ')
        if len(values) != 3:
            raise ConvertionException('Неверное число параметров')
        currency, currency_transfer, amount = values
        total_base = CurrencyConverter.get_price(currency, currency_transfer, amount)
    except ConvertionException as e:
        bot.reply_to(message, f'Ошибка пользователя\n{e}')
    except Exception as e:
        bot.reply_to(message, f'Не удалось обработать команду\n{e}')
    else:
        text = f'{amount} {currency} в {currency_transfer} = {round(total_base * float(amount))}'
        bot.send_message(message.chat.id, text)
Exemplo n.º 2
0
def convert(message: telebot.types.Message):
    try:
        values = message.text.split(' ')
        if len(values) != 3:
            raise APIException('Слишком много параметров.')

        quote, base, amount = values
        total_base = CurrencyConverter.get_price(quote, base, amount)
    except APIException as e:
        bot.reply_to(message, f'Ошибка пользователя. {e}')


    else:
        text = f'Цена {amount} {quote} в {base} - {total_base}'
        bot.send_message(message.chat.id, text)
Exemplo n.º 3
0
def convert(message: telebot.types.Message):
    try:
        values = message.text.split(' ')

        if len(values) != 3:
            raise APIException('Неправильное количество параметров')

        quote, base, amount = values
        total_base = CurrencyConverter.get_price(base, quote, amount)

    except APIException as e:
        bot.reply_to(message, f'Ошибка пользователя: \n{e}')
    except Exception as e:
        bot.reply_to(message, f'Не удалось выполнить операцию \n{e}')
    else:
        text = f'Цена {amount} {base} в {quote} - {round((total_base * float(amount)), 5)}'
        bot.send_message(message.chat.id, text)
Exemplo n.º 4
0
def convert(message: telebot.types.Message):
    try:
        values = message.text.split(' ')

        if len(values) != 3:
            raise ConvertionException('Неправильное количество параметров')

        values[2] = values[2].replace(
            ',', ".")  # Замена запятой на точку для обработки <float>
        base, quote, amount = values
        total_base = CurrencyConverter.get_price(base, quote, amount)
    except ConvertionException as e:
        bot.reply_to(message, f'Ошибка пользователя.\n{e}')
    except Exception as e:
        bot.reply_to(message, f'Не удалось обработать команду.\n{e}')
    else:
        text = f'Цена {amount} {base} в {quote} - {round((total_base * float(amount)), 5)}'
        bot.send_message(message.chat.id, text)
Exemplo n.º 5
0
def convert(message: telebot.types.Message):
    #Для обработки исключений всю обработку обернем в try
    try:
        list_of_values = message.text.split(' ')

        if len(list_of_values) != 3:
            raise APIException('Не верное количество параметров.')

        base, quote, amount = list_of_values
        #Вызовем собственно саму обработку конвертации
        total_amount = CurrencyConverter.get_price(base, quote, amount)
    except APIException as e:
        bot.reply_to(message, f'Ошибка пользователя.\n{e}')
    except Exception as e:
        bot.reply_to(
            message,
            f'Упс.. Что-то пошло не так. Не удалось обработать команду\n{e}')
    else:
        #Если код в попытке (try) выполнился успешно - выведем пользователю полученную сумму
        text = f'Сумма после конвертации: {round(total_amount, 2)} {keys[quote]}'
        bot.reply_to(message, text)