Как остановить условный оператор в функции телеграм бота в питоне?
Всем привет! Подскажите что сделать чтоб после 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()
Источник: Stack Overflow на русском