diff --git a/bot.py b/bot.py index 1e63a4f..eb2ba06 100644 --- a/bot.py +++ b/bot.py @@ -62,8 +62,8 @@ def check_answer(question, answer): def generate_tests_keyboard(): keyboard = types.InlineKeyboardMarkup(row_width=4) buttons = [] - for i in range(1,33): - buttons.append(types.InlineKeyboardButton('Test {}'.format(i),callback_data='test {}'.format(100+i))) + for i in range(101,133): + buttons.append(types.InlineKeyboardButton('Test {}'.format(i),callback_data='test {}'.format(i))) for chunk in split(buttons, 4): keyboard.add(*chunk) return keyboard @@ -124,14 +124,40 @@ def select_option_callback_handler(call): answer_reply = check_answer(question, answer) bot.answer_callback_query(call.id, answer_reply) if answer_reply == '✅ Correcto': - question = find_question(test, eval(q+'+1')) - keyboard = generate_test_keyboard(question, test) - txt = "Test: {}\nPregunta: {}\n\n{}\n\n{}" - try: - bot.edit_message_media(types.InputMediaPhoto(question.get('img'), caption=txt.format(test, question['pregunta'], question['encabezado'], '\n'.join(['{} - {}'.format(i+1, answer['texto']) for i,answer in enumerate(question['respuestas'])]))), cid, mid, reply_markup=keyboard) - bot.answer_callback_query(call.id) - except: - bot.answer_callback_query(call.id, "No se pudo cargar la pregunta") + if ((q != '20' and test != '132') or (q != '17' and test == '132')): + q = eval(q+'+1') + question = find_question(test, q) + keyboard = generate_test_keyboard(question, test) + txt = "Test: {}\nPregunta: {}\n\n{}\n\n{}" + try: + bot.edit_message_media(types.InputMediaPhoto(question.get('img'), caption=txt.format(test, question['pregunta'], question['encabezado'], '\n'.join(['{} - {}'.format(i+1, answer['texto']) for i,answer in enumerate(question['respuestas'])]))), cid, mid, reply_markup=keyboard) + bot.answer_callback_query(call.id) + except: + bot.answer_callback_query(call.id, "No se pudo cargar la pregunta") + elif q == '20' and test != '132': + q = 1 + test = eval(test+'+1') + question = find_question(test, q) + keyboard = generate_test_keyboard(question, test) + txt = "Test: {}\nPregunta: {}\n\n{}\n\n{}" + try: + bot.edit_message_media(types.InputMediaPhoto(question.get('img'), caption=txt.format(test, question['pregunta'], question['encabezado'], '\n'.join(['{} - {}'.format(i+1, answer['texto']) for i,answer in enumerate(question['respuestas'])]))), cid, mid, reply_markup=keyboard) + bot.answer_callback_query(call.id) + except: + bot.answer_callback_query(call.id, "No se pudo cargar la pregunta") + else: + q = 1 + test = 101 + question = find_question(test, q) + keyboard = generate_test_keyboard(question, test) + txt = "Test: {}\nPregunta: {}\n\n{}\n\n{}" + try: + bot.edit_message_media(types.InputMediaPhoto(question.get('img'), caption=txt.format(test, question['pregunta'], question['encabezado'], '\n'.join(['{} - {}'.format(i+1, answer['texto']) for i,answer in enumerate(question['respuestas'])]))), cid, mid, reply_markup=keyboard) + bot.answer_callback_query(call.id) + except: + bot.answer_callback_query(call.id, "No se pudo cargar la pregunta") + + @bot.callback_query_handler(func=lambda call: call.data.startswith('pregunta') and (call.data.endswith('+') or call.data.endswith('-')))