Бот должен конвертировать криптовалюту в доллары или гривны. Для выбора между этими валютами создана команда /main при вводе которой добавляются кнопки "Доллар" или "Гривна". Как сделать так, чтобы они работали? У меня получается только так, что в не зависимости от кнопки сумма выбивается как в долларовом, так и в гривневом эквивалентах. Вот код:
@bot.message_handler(content_types=["text"])
def send_message(message):
try:
num = float(message.text.split(' ')[0])
curr = message.text.split(' ')[1]
req = requests.get(f"https://api.coingecko.com/api/v3/coins/{curr.lower()}")
response = req.json()
sell_price_usd = response["market_data"]["current_price"]["usd"]
sell_price_uah = response["market_data"]["current_price"]["uah"]
bot.send_message(
message.chat.id,
dol_format(float(sell_price_usd) * num)
)
bot.send_message(
message.chat.id,
str('{:,}'.format(okr(float(sell_price_uah) * num))) + "₴"
)
except ValueError as ve:
print(ve)
bot.send_message(
message.chat.id,
"Неправильный формат"
)
except Exception as ex:
print(ex)
bot.send_message(
message.chat.id,
"Такой криптовалюты нет"
)
Код сообщения с кнопками:
@bot.callback_query_handler(func=lambda call: True)
def callback_inline(call):
try:
if call.message:
if call.data == "usd":
bot.send_message(call.message.chat.id, "Основная валюта - доллар")
elif call.data == "uah":
bot.send_message(call.message.chat.id, "Основная валюта - гривна")
bot.delete_message(chat_id=call.message.chat.id, message_id=call.message.message_id)
bot.answer_callback_query(callback_query_id=call.id, show_alert=False,
text="Основная валюта перевыбрана")
except Exception as ex:
print(repr(ex))