def get_price(message: telebot.types.Message): try: values = message.text.split(' ') if len(values) > 3: raise ConvertionException('Слишком много параметров') if len(values) < 3: raise ConvertionException('Слишком мало параметров') quote, base, amount = values total_base = CryptoConverter.get_price(quote, base, 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} {quote} в {base} - {total_base}' bot.send_message(message.chat.id, text)
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)
def convert(message: telebot.types.Message): try: values = message.text.split(' ') if len(values) != 3: raise ConvertionException("Слишком много параметров.") quote, base, amount = values total_base = CurrencyConverter.convert(quote, base, amount) except ConvertionException as e: bot.reply_to(message, f"Ошибка пользователя.\n{e}") except Exception as e: bot.reply_to(message, f"Не удалось обработать команду.\n{e}") else: total = total_base * float(amount) text = f"Цена {amount} {quote} в {base} - {total}" bot.send_message(message.chat.id, text)
def convert(message: telebot.types.Message): try: values = message.text.split(' ') values = list(map(str.lower, values)) if len(values) != 3: raise ConvertionException('Неправильное количество параметров') quote, base, amount = values total_base = ValueConverter.get_price(quote, base, 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'{quote} количеством {amount} -- {float(total_base)*float(amount):.2f} {base}' bot.send_message(message.chat.id, text)
def convert(message: telebot.types.Message): try: values = message.text.split(' ') if len(values) != 3: raise ConvertionException( "Неверное количество параметров. Введите 3 параметра") quote, base, amount = values total_base = CryptoConverter.convert(quote, base, 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} {quote} в {base} - {total_base}' bot.send_message(message.chat.id, text)
def convert(message: telebot.types.Message): try: values = message.text.split(' ') if len(values) != 3: raise ConvertionException('Некорректный ввод параметров') quote, base, amount = values total_base = CryptoConverter.get_price(quote, base, amount) except ConvertionException as e: bot.reply_to(message, f'ошибка пользователя\n {e}') except Exception as e: bot.reply_to(message, f'не удалось обработать команду\n {e}') else: total_base = round(total_base, 4) text = f'Цена {amount} {quote} в {base} = {total_base}' bot.send_message(message.chat.id, text)
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)
def convert(message: telebot.types.Message): try: values = message.text.split(' ') if len(values) != 3: raise ConvertionException( 'Неверное количество параметров. \n/help') quote, basec, amount = values total_base = CryptoConverter.get_price(quote, basec, amount) except ConvertionException as e: bot.reply_to(message, f'Ошибка пользователя.\n{e}') except Exception as e: bot.reply_to(message, f'Не удалось обработать команду.\n{e}') else: result = round((float(amount) * float(total_base)), 2) text = f'Цена {amount} {quote} в {basec} = {result}' bot.send_message(message.chat.id, text)
def values(message: telebot.types.Message): try: c = message.text.split(' ') if len(c) != 3: raise ConvertException('Введено неверное количество параметров') quote, base, amount = c quote = quote.lower() base = base.lower() value = ConvertionException.convert(quote, base, amount) b = value * float(amount) except ConvertException as e: bot.reply_to(message, e) except Exception as e: bot.reply_to(message, f'Не удалось выполнить команду {e}') else: text = f'Цена {amount} {quote} в {base} = {b}' bot.send_message(message.chat.id, text)
def converter(message: telebot.types.Message): try: values = message.text.split() if len(values) != 3: raise ConvertionException('Неверно введены параметры. Введите /help для получения подсказки.') quote, base, amount = values amount = CurrConverter.amount_type(amount) total_base = CurrConverter.get_price(quote, base, 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} {quote} в {base} - {total_base * amount}' bot.reply_to(message, text)