Exemplo n.º 1
0
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)
Exemplo n.º 2
0
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)
Exemplo n.º 3
0
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)
Exemplo n.º 4
0
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)
Exemplo n.º 5
0
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)