帮助完成机器人的电报,让用户输入货币,机器人将汇率给到卢布,但如果他不知道是什么货币,应该有一个按钮(机器人的消息在哪里,或者在下面)显示他们的列表。底线是机器人接受一种货币,同时,它会处理一个文本异常,发布所有可用货币的列表。
@bot.message_handler(commands=["help"])
def help(message):
markup = types.ReplyKeyboardMarkup(resize_keyboard=True,
row_width=3)
bt1 = types.KeyboardButton("Курсы валют к рублю")
bt2 = types.KeyboardButton("Моя VK страница")
markup.add(bt1, bt2)
bot.send_message(message.chat.id, "Нажмите кнопку с нужной вам функцией", reply_markup=markup)
@bot.message_handler(content_types=["text"])
def get_user_text(message):
...
# Что-то типа такого, но без вложенных if блоков (ведь в
# ними бот не отвечает на "Показать основные валюты" и
# "Показать все валюты" или ошибка, но точно не работает
# (не помню))
elif message.text == "Курсы валют к рублю":
markup = types.ReplyKeyboardMarkup(row_width=1,
resize_keyboard=True)
bt1 = types.KeyboardButton("Показать основные
валюты")
bt2 = types.KeyboardButton("Показать все доступные
валюты")
markup.add(bt1, bt2)
msg = bot.send_message(message.chat.id, "Введите
индекс валюты", reply_markup=markup)
if message.text == "Показать основные валюты":
bot.send_message(message.chat.id, """Индекс
Название\n
<u>USD Доллар США</u>\n
<u>EUR Евро</u>\n
<u>GBP Фунт стерлингов Великобритании</u>\n
<u>JPY Японская йена</u>\n
<u>CHF Швейцарский франк</u>\n
<u>CNY Китайский юань</u>\n
<u>RUB Российский рубль""",
parse_mode="html"
)
elif message.text == "Показать все валюты":
...
else:
bot.register_next_step_handler(msg,
get_curs_currency)
好吧,你写了各种奇怪的......