Как остановить условный оператор в функции телеграм бота в питоне?

Рейтинг: 0Ответов: 0Опубликовано: 10.07.2023

Всем привет! Подскажите что сделать чтоб после if message.text == '🔙Изменить категорию': ничего не возвращалась, но работала функция choice_category(message)

WORDS_TRAVELS = {
    "авиакомпания": "airlines",
    "автобус":  "bus",
    "агентство": "agency",
    "аэропорт": "airport",
    "багаж": "baggage, luggage",
    "бензин": "gas, gasoline",
    "билет": "ticket",
    "валюта": "currency",
    "велосипед": "bicycle, bike",
    "взлетать": "to take off, to leave the ground",
    "виза": "visa",
    "внутренний туризм": "domestic tourism",
    "вокзал": "railway station / train station",
    "временная миграция": "temporary migration",
    "говорить по-английски": "to speak English",
    "город": "town; city",
}

@bot.message_handler(commands=['start'])
def hello_user(message):
    keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
    travel_keyboard = types.KeyboardButton('✈️Путешествие')
    profession_keyboard = types.KeyboardButton('🎥Профессии')
    keyboard.row(travel_keyboard, profession_keyboard)
    bot.send_message(message.chat.id, "Выберите кaтегорию!", reply_markup=keyboard)  
    bot.register_next_step_handler(message, user_answer)


def user_answer(message):
  if message.text=='✈️Путешествие':
    user_answer_travel(message)


# WORDS_TRAVELS
def user_answer_travel(message):
  global translated_answers_travel, question_travel, correct_answer_travel
  translated_answers_travel, question_travel, correct_answer_travel = generation_words_travels()
  keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
  item_1 = types.KeyboardButton(translated_answers_travel[0])
  item_2 = types.KeyboardButton(translated_answers_travel[1])
  item_3 = types.KeyboardButton(translated_answers_travel[2])
  item_4 = types.KeyboardButton(translated_answers_travel[3])
  keyboard.row(item_1, item_2)
  keyboard.row(item_3, item_4)
  item_5 = types.KeyboardButton('🔙Изменить категорию')
  keyboard.add(item_5)
  
  if message.text == '🔙Изменить категорию':
    choice_category(message)

  else:
    bot.send_message(message.chat.id, f'Как будет "{question_travel}"', reply_markup=keyboard)
    bot.register_next_step_handler(message, check_answer_travel)
  

def check_answer_travel(message):
    if message.text == correct_answer_travel:
        bot.send_message(message.chat.id, 'Верно!!')
        time.sleep(1)
    elif message.text != correct_answer_travel:
        bot.send_message(message.chat.id, 'Неверно!!')
    user_answer_travel(message)


def generation_words_travels():
    answers_travel = random.sample(list(WORDS_TRAVELS.keys()), 4)
    question_travel = random.choice(answers_travel)
    correct_answer_travel = WORDS_TRAVELS[question_travel]
    translated_answers_travel = []
    for answer in answers_travel:
        translated_answers_travel.append(WORDS_TRAVELS[answer])
    return translated_answers_travel, question_travel, correct_answer_travel

  
def choice_category(message):
    keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
    travel_keyboard = types.KeyboardButton('✈️Путешествие')
    profession_keyboard = types.KeyboardButton('🎥Профессии')
    keyboard.row(travel_keyboard, profession_keyboard)
    bot.send_message(message.chat.id, "Выберите кaтегорию!", reply_markup=keyboard)  
    bot.register_next_step_handler(message, user_answer)


bot.infinity_polling()

Ответы

Ответов пока нет.