Как сделать так, чтобs код дальше не шел до получения ответа от функции
@bot.message_handler(commands=['start'])
def start(message):
markup = types.ReplyKeyboardMarkup(one_time_keyboard=True, resize_keyboard=True)
markup.row("English 🇺🇸", "Український 🇺🇦", "Беларускі 🇧🇾")
markup.row("Français 🇫🇷", "Deutsch 🇩🇪", "🇦🇪 عرب")
markup.row("More")
message = bot.send_message(message.chat.id,
"Choose the language in which the bot will communicate:",
reply_markup=markup)
**bot.register_next_step_handler(message, start_next)**
global properties
global weather_parameters
markup = types.ReplyKeyboardMarkup(one_time_keyboard=True, resize_keyboard=True)
markup.row("Let's go!", "Info")
markup.row("Settings")
message = bot.send_message(message.chat.id,
"*I'm Weather_Bot*\nYou can get the weather and moon phase "
"coordinats!\nTo start click *Let's Go!*\nFor FAQ click *Info*\n"
"For changing views options click *Settings*", reply_markup=markup,
parse_mode="Markdown")
bot.register_next_step_handler(message, language)
надо чтобы сработала функция start_next и только после этого код шел дальше код функции start_next:
def start_next(message):
if message.text[:-3] in langs.keys():
active_lang = langs[message.text[:-3]]
global request_headers
request_headers = {"Accept-Language": active_lang}
elif message.text == "More":
markup = types.ReplyKeyboardMarkup(one_time_keyboard=True, resize_keyboard=True)
markup.row("বাংলা 🇧🇩", "català 🇪🇸", "Русский 🇷🇺")
markup.row("Afrikaans 🇿🇦", "हिंदी 🇮🇳", "አማርኛ 🇪🇹")
markup.row("Ελληνικά 🇬🇷", "eesti keel 🇪🇪", "Farsi 🇮🇷")
markup.row("galego 🇪🇸", "Magyar 🇭🇺", "bahasa Indonesia 🇮🇩")
markup.row("Italiano 🇮🇹", "lietuvių 🇱🇹", "Malagasy 🇲🇬" )
markup.row("norsk 🇳🇴", "Nederlands 🇳🇱", "Occitan 🇪🇸")
markup.row("Português 🇵🇹", "Română 🇷🇴", "Tamil 🇮🇳")
markup.row("Türk 🇹🇷", "Tswana 🇿🇦", "Tiếng Việt 🇻🇳")
message = bot.send_message(message.chat.id,
"Choose the language in which the bot will communicate:", reply_markup=markup)
bot.register_next_step_handler(message, start_next)
Источник: Stack Overflow на русском