Ponemos las respuestas en el texto para verlas enteras

This commit is contained in:
2022-04-23 11:06:24 +02:00
parent 8e61d7d87f
commit 33eb5c82d9

16
bot.py
View File

@ -70,8 +70,8 @@ def generate_tests_keyboard():
def generate_test_keyboard(question, test):
keyboard = types.InlineKeyboardMarkup()
for i,answer in enumerate(question.get('respuestas')):
keyboard.add(types.InlineKeyboardButton('{}'.format(answer['texto']), callback_data='pregunta {} {} {}'.format(test, question['pregunta'], i)))
for i,_ in enumerate(question.get('respuestas')):
keyboard.add(types.InlineKeyboardButton('{}'.format(i+1), callback_data='pregunta {} {} {}'.format(test, question['pregunta'], i)))
next_prev_buttons = []
if question.get('pregunta') == 1:
next_prev_buttons.append(types.InlineKeyboardButton('', callback_data='pregunta {} {} +'.format(test, question['pregunta'])))
@ -109,8 +109,8 @@ def test_callback_handler(call):
test = call.data.split()[-1]
question = find_question(test, 1)
keyboard = generate_test_keyboard(question, test)
txt = "Test: {}\nPregunta: {}\n\n{}"
bot.send_photo(cid, question.get('img'), caption=txt.format(test, 1, question['encabezado']), reply_markup=keyboard)
txt = "Test: {}\nPregunta: {}\n\n{}\n\n{}"
bot.send_photo(cid, question.get('img'), caption=txt.format(test, 1, question['encabezado'], '\n'.join(['{} - {}'.format(i+1, answer['texto']) for i,answer in enumerate(question['respuestas'])])), reply_markup=keyboard)
add_test(cid, test)
bot.answer_callback_query(call.id)
@ -126,9 +126,9 @@ def select_option_callback_handler(call):
if answer_reply == '✅ Correcto':
question = find_question(test, eval(q+'+1'))
keyboard = generate_test_keyboard(question, test)
txt = "Test: {}\nPregunta: {}\n\n{}"
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'])), cid, mid, reply_markup=keyboard)
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")
@ -141,9 +141,9 @@ def question_pager_callback_handler(call):
_, test, q, action = call.data.split()
question = find_question(test, eval(q+action+'1'))
keyboard = generate_test_keyboard(question, test)
txt = "Test: {}\nPregunta: {}\n\n{}"
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'])), cid, mid, reply_markup=keyboard)
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")