Advertisement
are_you_sure

Untitled

Dec 10th, 2021
698
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.26 KB | None | 0 0
  1. def go_back(update: Update, context: CallbackContext):  # repeat last function
  2.     if 'last_function' in context.user_data:
  3.         update.message.text = ''  # Not None because "lower" and "strip" will be applied
  4.         return context.user_data['last_function'](update, context)
  5.     else:
  6.         update.message.reply_text(text='Can't go back at this step')
  7.  
  8. def go_next(update: Update, context: CallbackContext):  # repeat last function
  9.     update.message.text = ''  # Not None because "lower" and "strip" will be applied
  10.  
  11.  
  12. @bot_logger()
  13. def user_gender_handler(update: Update, context: CallbackContext):
  14.    # # # PROCESS OLD MESSAGE # # #
  15.    # Just ask age if "back" or "next " was sent
  16.    if message_text := update.message.text.lower().strip():
  17.        if message_text == 'male':
  18.            context.user_data['user'].gender = 1  # Male
  19.        elif message_text == 'female':
  20.            context.user_data['user'].gender = 2  # Female
  21.        else:
  22.            update.message.reply_text(f'I dont understand you. Type "male" or "female"')
  23.            return 3
  24.    # # # SEND NEW MESSAGE # # #
  25.    update.message.reply_text(text=f'Step 4 of 7.\nWhat is your age.',
  26.                              reply_markup=keyboards.keyboard_for_user_age)
  27.    context.user_data['last_function'] = user_goal_handler
  28.    return 4
  29.  
  30.  
  31. partner = ConversationHandler(
  32.    entry_points=[
  33.        MessageHandler(filters=Filters.regex(config.start_search_r), callback=handlers.start_search)],
  34.  
  35.    prefallbacks=[
  36.        MessageHandler(filters=Filters.regex(config.back_r), callback=handlers.go_back),
  37.        MessageHandler(filters=Filters.regex(config.skip_r), callback=handlers.go_next),
  38.        MessageHandler(filters=Filters.regex(config.cancel_r), callback=end_conversation),
  39.    ],
  40.  
  41.    states={
  42.        0: [MessageHandler(filters=Filters.text, callback=handlers.start_search_handler)],
  43.        1: [MessageHandler(filters=Filters.text, callback=handlers.target_goal_handler)],
  44.        2: [MessageHandler(filters=Filters.text, callback=handlers.target_gender_handler)],
  45.        3: [MessageHandler(filters=Filters.text, callback=handlers.target_age_handler)],
  46.        ConversationHandler.TIMEOUT: [TypeHandler(type=Update, callback=end_conversation)]  # 1
  47.    },
  48.    fallbacks=[],
  49. )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement