Пишу /start, выбираю сначала /random, там дальше выбираю рандомное число от до, мне выдало число, возвращаюсь назад, выбираю /coronavirus и мне выдается ошибка которая должна отображаться только когда я захожу в секцию /random. Пж попробуйте код и помогите мне как-то.
import telebot
from telebot import types
import COVID19Py
import random
covid19 = COVID19Py.COVID19()
bot = telebot.TeleBot('Токен вставте свой')
@bot.message_handler(commands=['start', 'back'])
def start(message):
markup = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=2)
but1 = types.KeyboardButton('/coronavirus')
but2 = types.KeyboardButton('/random')
markup.add(but1, but2)
n = f"<b>Доброго дня {message.from_user.first_name}!</b>\nВиберіть що вам потрібно:"
bot.send_message(message.chat.id, n, parse_mode='html',
reply_markup=markup)
@bot.message_handler(commands=['random'])
def random_start(message):
markup = types.ReplyKeyboardMarkup(
resize_keyboard=True, row_width=2)
btn1 = types.KeyboardButton('Рандомне число від 1 до 2')
btn2 = types.KeyboardButton('Рандомне число від 1 до 5')
btn3 = types.KeyboardButton('Рандомне число від 1 до 10')
btn4 = types.KeyboardButton('Рандомне число від 1 до 50')
btn5 = types.KeyboardButton('Рандомне число від 1 до 100')
btn6 = types.KeyboardButton('Рандомне число від 1 до 1000')
btn7 = types.KeyboardButton('/back')
markup.add(btn1, btn2, btn3, btn4, btn5, btn6, btn7)
send_message = "Виберіть від якого до якого число ви хочете получити рандомне число:"
bot.send_message(message.chat.id, send_message,
parse_mode='html', reply_markup=markup)
@bot.message_handler(content_types=['text'])
def run_nui(message):
x = message.text
finn = ""
if x == 'Рандомне число від 1 до 2':
finn = random.randint(1, 2)
elif x == 'Рандомне число від 1 до 5':
finn = random.randint(1, 5)
elif x == 'Рандомне число від 1 до 10':
finn = random.randint(1, 10)
elif x == 'Рандомне число від 1 до 50':
finn = random.randint(1, 50)
elif x == 'Рандомне число від 1 до 100':
finn = random.randint(1, 100)
elif x == 'Рандомне число від 1 до 1000':
finn = random.randint(1, 1000)
else:
bot.send_message(
message.chat.id, "Будь ласка виберіть один із варіантів", parse_mode='html')
bot.send_message(message.chat.id, finn, parse_mode='html')
@bot.message_handler(commands=['coronavirus'])
def covid_start(message):
markup = types.ReplyKeyboardMarkup(
resize_keyboard=True, row_width=2)
btn1 = types.KeyboardButton('По всьому світу')
btn2 = types.KeyboardButton('Україна')
btn3 = types.KeyboardButton('Росія')
btn4 = types.KeyboardButton('Білорусь')
btn5 = types.KeyboardButton('/back')
markup.add(btn1, btn2, btn3, btn4, btn5)
send_message = "Щоб узнати дані про коронавірус напишіть назву країни: "
bot.send_message(message.chat.id, send_message,
parse_mode='html', reply_markup=markup)
@bot.message_handler(content_types=['text'])
def covid_func(message):
finl = ""
getmes = message.text.strip().lower()
if getmes == "сша":
location = covid19.getLocationByCountryCode("US")
elif getmes == "україна":
location = covid19.getLocationByCountryCode("UA")
elif getmes == "росія":
location = covid19.getLocationByCountryCode("RU")
elif getmes == "білорусь":
location = covid19.getLocationByCountryCode("BY")
elif getmes == "італія":
location = covid19.getLocationByCountryCode("IT")
elif getmes == "франція":
location = covid19.getLocationByCountryCode("FR")
elif getmes == "німеччина":
location = covid19.getLocationByCountryCode("DE")
elif getmes == "японія":
location = covid19.getLocationByCountryCode("JP")
elif getmes == "іспанія":
location = covid19.getLocationByCountryCode("ES")
elif getmes == "чехія":
location = covid19.getLocationByCountryCode("CZ")
elif getmes == "китай":
location = covid19.getLocationByCountryCode("CN")
elif getmes == "канада":
location = covid19.getLocationByCountryCode("CA")
elif getmes == "австрія":
location = covid19.getLocationByCountryCode("AT")
elif getmes == "польща":
location = covid19.getLocationByCountryCode("PL")
else:
location = covid19.getLatest()
finl = f"<u>Дані по світу:</u>\n<b>Хворі: </b>{location['confirmed']:,}\n<b>Смертей: </b>{location['deaths']:,}"
if finl == "":
finl = f"<u>Дані по країні:</u>\n<b>Останні дані:</b>\n<b>"f"Хворі: </b>{location[0]['latest']['confirmed']:,}\n<b>Смертей: </b>" f"{location[0]['latest']['deaths']:,}"
bot.send_message(message.chat.id, finl, parse_mode='html')