Skip to content

Commit

Permalink
Minor improvements on activate_automatic_reserve flow
Browse files Browse the repository at this point in the history
  • Loading branch information
mhbahmani committed Oct 5, 2023
1 parent a574ee1 commit dd4d704
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 9 deletions.
9 changes: 7 additions & 2 deletions src/messages.py
Original file line number Diff line number Diff line change
Expand Up @@ -169,11 +169,16 @@
new_food_found = "{} غذای جدید تو جدول رزرو {} پیدا کردم"

choose_food_courts_to_automatic_reserve_message = "از بین سلف‌های پایین، سلف‌هایی که می‌خوای براشون اتوماتیک غذا رزرو بشه رو انتخاب کن"
no_food_court_found_message = "هیچ سلفی برات پیدا نکردم. از سایت چک کن آیا امکان رزرو غذا برات وجود داره. اگه تو سایت حداقل یک سلف برات باز هست، به ادمین پیام بده تا مشکل رو بررسی کنه."
no_food_court_choosed_message = """هیج سلفی رو انتخاب نکردی. اگه پشیمون شدی، روی لغو کلیک کن یا اگه می‌خوای ادامه بدی، اول سلف‌هایی که می‌خوای رو انتخاب کن، بعد روی حله کلیک کن."""
food_court_not_found_message = "این سلفی که زدی رو نمی‌شناسم. لطفا به ادمین بگو"
no_user_info_message = "هنوز شماره دانشجویی و رمز عبورت رو بهم ندادی. از منوی رزرو، بخش تنظیم مشخصات، این اطلاعاتو بهم بده تا بتونم برات غذا رزرو کنم"
activate_automatic_reserve_started_message = "هممم، چند لحظه صبر کن"
choosing_food_courts_done_message = ".حله. از این به بعد، هر هفته سه‌شنبه شب‌ها، غذا برای سلف‌هایی که انتخاب کردی، بر اساس اولویت‌های که بهم گفتی رزرو می‌شه"
activate_automatic_reserve_started_message = "⏳ هممم، چند لحظه صبر کن تا سلف‌هایی که می‌تونی ازشون غذا بگیری رو پیدا کنم..."
choosing_food_courts_done_message = """
.حله. از این به بعد، هر هفته سه‌شنبه شب‌ها، غذا برای سلف‌هایی که انتخاب کردی، بر اساس اولویت‌های که بهم گفتی رزرو می‌شه ✅
اگه هنوز لیست غذاهای مورد علاقه‌ات رو برام مشخص نکردی، از "بخش رزرو غذا > انتخاب غذاهای مورد علاقه" می‌تونی این کار رو انجام بدی.
همینطور از "نمایش غذاهای مورد علاقه"، می‌تونی ببینی قبلا چه غذاهایی رو انتخاب کردی.
"""
choosing_food_courts_cancel_message = "لغو شد"
automatic_reserve_already_activated_message = "رزرو خودکار قبلا برات فعال شده. از بین گزینه‌های پایین انتخاب کن که می‌خوای چیکار کنی."
automatic_reserve_deactivated_message = "رزرو خودکار غیر فعال شد"
Expand Down
33 changes: 26 additions & 7 deletions src/reserve.py
Original file line number Diff line number Diff line change
Expand Up @@ -173,13 +173,13 @@ def handle_password_input(self, update, context):
return static_data.RESERVE_MENU_CHOOSING

def activate_automatic_reserve_handler(self, update, context):
update.message.reply_text(messages.activate_automatic_reserve_started_message)
if self.db.get_automatic_reserve_status(update.message.chat.id):
update.message.reply_text(
text=messages.automatic_reserve_already_activated_message,
reply_markup=AutomaticReserveAlreadyActivatedHandler.create_keyboard()
)
return
message_id = update.message.reply_text(messages.activate_automatic_reserve_started_message).message_id
user_login_info = self.db.get_user_login_info(update.effective_chat.id)
if not user_login_info:
update.message.reply_text(
Expand All @@ -188,9 +188,19 @@ def activate_automatic_reserve_handler(self, update, context):
return static_data.RESERVE_MENU_CHOOSING
dining = Dining(user_login_info['student_number'], user_login_info['password'])
context.user_data['food_courts'] = []
update.message.reply_text(
food_courts = dining.get_user_food_courts()
if not food_courts:
context.bot.edit_message_text(
text=messages.no_food_court_found_message,
chat_id=update.message.chat_id,
message_id=message_id,
)
return
context.bot.edit_message_text(
text=messages.choose_food_courts_to_automatic_reserve_message,
reply_markup=FoodCourtSelectingHandler.create_food_courts_keyboard(dining.get_user_food_courts())
chat_id=update.message.chat_id,
message_id=message_id,
reply_markup=FoodCourtSelectingHandler.create_food_courts_keyboard(food_courts)
)

def reserve_next_week_food(self, update, context):
Expand Down Expand Up @@ -253,23 +263,32 @@ def inline_already_activated_handler(self, update, context, action):
message_id=query.message.message_id
)
elif action == "CHANGE_FOOD_COURTS":
context.bot.send_message(
text=messages.activate_automatic_reserve_started_message,
chat_id=query.message.chat_id)
user_login_info = self.db.get_user_login_info(update.effective_chat.id)
if not user_login_info:
context.bot.send_message(
text=messages.no_user_info_message,
chat_id=query.message.chat_id,
)
return static_data.RESERVE_MENU_CHOOSING
context.bot.edit_message_text(
text=messages.activate_automatic_reserve_started_message,
chat_id=query.message.chat_id,
message_id=query.message.message_id,
)
dining = Dining(user_login_info['student_number'], user_login_info['password'])
context.user_data['food_courts'] = []
food_courts = dining.get_user_food_courts()
if not food_courts:
context.bot.edit_message_text(
text=messages.no_food_court_found_message,
chat_id=query.message.chat_id,
message_id=query.message.message_id,
)
context.bot.edit_message_text(
text=messages.choose_food_courts_to_automatic_reserve_message,
chat_id=query.message.chat_id,
message_id=query.message.message_id,
reply_markup=FoodCourtSelectingHandler.create_food_courts_keyboard(dining.get_user_food_courts())
reply_markup=FoodCourtSelectingHandler.create_food_courts_keyboard(food_courts)
)
elif action == "CANCEL":
if context.user_data: context.user_data.clear()
Expand Down

0 comments on commit dd4d704

Please sign in to comment.