def select_question(update: Update, context: CallbackContext) -> int: db = next(get_db()) telegram_id = update.effective_chat.username card_name = context.user_data['card_name'] user_answer = update.message.text card_name_list = list_card_names(db, telegram_id) if user_answer == 'Назад': return waiting_select_card_endpoint(update, context, card_name_list) card_questions_list = list_card_questions(db, telegram_id, card_name) if user_answer in card_questions_list: question = user_answer item = crud.get_item_for_user_card(db=db, telegram_id=telegram_id, card_name=card_name, question=question) print_question_and_answer(update, item) return waiting_select_question_endpoint(update, context, card_questions_list) else: update.message.reply_text( f"Вопроса '{user_answer}' в карточке {card_name} нет!") return waiting_select_question_endpoint(update, context, card_questions_list)
def change_question(update: Update, context: CallbackContext): db = next(get_db()) telegram_id = update.effective_chat.username card_name = context.user_data['card_name'] question = context.user_data['question'] new_question = update.message.text card_questions_list = list_card_questions(db, telegram_id, card_name) if new_question not in card_questions_list: answer = crud.get_item_for_user_card(db, telegram_id, card_name, question).answer crud.delete_item(db, telegram_id, card_name, question) new_item = schemas.ItemBase(question=new_question, answer=answer) item = crud.create_card_item(db, new_item, telegram_id, card_name) update.message.reply_text("Вопрос изменен!!!") print_question_and_answer(update, item) card_questions_list = list_card_questions(db, telegram_id, card_name) return waiting_select_question_endpoint(update, context, card_questions_list) else: update.message.reply_text(f"Ткой вопрос уже есть в карточке {card_name}!") return waiting_select_question_endpoint(update, context, card_questions_list)
def select_card(update: Update, context: CallbackContext) -> int: db = next(get_db()) telegram_id = update.effective_chat.username card_name = update.message.text cards_name_list = list_card_names(db, telegram_id) if card_name in cards_name_list: update.message.reply_text(f"Карточка с именем {card_name}:") context.user_data['card_name'] = card_name card_questions_list = list_card_questions(db, telegram_id, card_name) return waiting_select_question_endpoint(update, context, card_questions_list) else: update.message.reply_text(f"Карточки с именем {card_name} нет!") return waiting_select_card_endpoint(update, context, cards_name_list)
def changing_item(update: Update, context: CallbackContext) -> int: db = next(get_db()) telegram_id = update.effective_chat.username card_name = context.user_data['card_name'] question = context.user_data['question'] user_answer = update.message.text card_questions_list = list_card_questions(db, telegram_id, card_name) if user_answer == 'Назад': return waiting_select_question_endpoint(update, context, card_questions_list) if user_answer == 'Вопрос': return waiting_change_question_endpoint(update, context) if user_answer == 'Ответ': return waiting_change_answer_endpoint(update, context)
def change_answer(update: Update, context: CallbackContext): db = next(get_db()) telegram_id = update.effective_chat.username card_name = context.user_data['card_name'] question = context.user_data['question'] new_answer = update.message.text crud.delete_item(db, telegram_id, card_name, question) new_item = schemas.ItemBase(question=question, answer=new_answer) item = crud.create_card_item(db, new_item, telegram_id, card_name) update.message.reply_text("Ответ изменен!!!") print_question_and_answer(update, item) card_questions_list = list_card_questions(db, telegram_id, card_name) return waiting_select_question_endpoint(update, context, card_questions_list)