示例#1
0
 def process_answer(update, context):
     if update.callback_query.message.message_id != context.user_data.get(
             'active_test_message_id'):
         update.callback_query.answer(
             'Опрос неактивен т.к. был создан более новый')
         return
     context.user_data['answers'].append(
         int(update.callback_query.data.split('_')[-1]))
     if len(context.user_data['answers']) < 25:
         update.callback_query.edit_message_text(
             **TestMessage(len(context.user_data['answers'])))
     else:
         result = sum(context.user_data['answers'])
         status = None
         if 0 <= result <= 5:
             status = 'депрессия отсутствует'
         if 6 <= result <= 10:
             status = 'нормальное, но несчастливое состояние'
         if 11 <= result <= 25:
             status = 'слабо выраженная депрессия'
         if 26 <= result <= 50:
             status = 'умеренная депрессия'
         if 51 <= result <= 75:
             status = 'сильно выраженная депрессия'
         if 76 <= result <= 100:
             status = 'крайняя степень депрессии'
         update.callback_query.edit_message_text(**ResultMessage(result))
         TestResult.create(value=result,
                           user_id=update.effective_user.id,
                           data=context.user_data['answers'])
         Base.session.commit()