def awnser2(bot, update): if update.message.text == 'ninguna': bot.sendMessage( chat_id=update.message.chat_id, text= 'Pulsa el número de aquellas estrofas que plantean posiciones de desigualdad, otorgando ' 'más poder a los hombres que a las mujeres.', reply_markup=teclado(3)) chat.roles(update, read_db.song_name(update)) #guarda respuesta roles en mongodb. return AWNSER3 if update.message.text.isdigit(): check_number(update) return AWNSER2 if update.message.text == '\U0001f51a' and read_db.num_estrofas( update) > 0: bot.sendMessage( chat_id=update.message.chat_id, text= 'En una escala de 1 a 10, siendo 1 el nivel más bajo y 10 el más alto, ' '¿en qué medida los roles asignados a las mujeres poseen menos reconocimiento ' 'social que los de los hombres?', reply_markup=teclado(5)) return PODER
def awnser1(bot, update): if update.message.text == 'ninguna': bot.sendMessage( chat_id=update.message.chat_id, text= 'Pulsa el número de aquellas estrofas que contienen una diferencia de roles: papeles, tareas,' ' normas que debe asumir la mujer y el hombre en sociedad. Por ej. Se espera que las mujeres' ' cuiden de los familiares enfermos.', reply_markup=teclado(3)) chat.estereotipo(update, read_db.song_name(update)) #guarda la respuesta estereotipo return AWNSER2 if update.message.text.isdigit(): check_number(update) return AWNSER1 if update.message.text == '\U0001f51a' and read_db.num_estrofas( update) > 0: bot.sendMessage( chat_id=update.message.chat_id, text= 'En una escala de 1 a 10, siendo 1 el nivel más bajo y 10 el más alto, ' '¿en qué medida dichos estereotipos degradan a la mujer o la sitúan en una posición' ' “inferior-débil” frente al hombre?', reply_markup=teclado(5)) return ROLES
def canciones(bot, update): if read_db.new_song(update): #selecciona una cancion nueva bot.sendMessage( chat_id=update.message.chat_id, text= '!!!Faltan por analizar %d canciones del género pop, %d de reguetón y %d romántica.' % (read_db.canciones_faltantes_por_analisar()), reply_markup=teclado(4)) return CANCIONES #extrae la letra de la cancion de la base de dato letras, keys = read_db.lyrics(update) bot.sendMessage(chat_id=update.message.chat_id, text='Esta es la letra de la canción:\n Nombre: %s' % (read_db.song_name(update))) bot.sendMessage(chat_id=update.message.chat_id, text='--INICIO CANCIÓN--') for i in range(len(keys)): bot.sendMessage(chat_id=update.message.chat_id, text="Estrofa: %d\n%s" % (i + 1, letras[keys[i]])) bot.sendMessage(chat_id=update.message.chat_id, text='--FIN CANCIÓN--') bot.sendMessage( chat_id=update.message.chat_id, text='Ahora, voy a hacerte una serie de preguntas' ' relacionadas con la letra de la canción. Para responderlas utiliza el teclado emergente ' 'que he diseñado. Si no te interesa está canción pulsa otra_cancion para analizar una canción diferente.\n' 'O pulsa continuar para seguir con esta canción.', reply_markup=teclado(6)) return ESTEROTIPO
def canciones(bot, update): if read_db.new_song(update): #selecciona una cancion nueva bot.sendMessage( chat_id=update.message.chat_id, text= '!!!Disculpad, tenemos que ampliar la base de datos, prueba con otro género.', reply_markup=ReplyKeyboardRemove()) return ConversationHandler.END #extrae la letra de la cancion de la base de dato letras, keys = read_db.lyrics(update) bot.sendMessage(chat_id=update.message.chat_id, text='Esta es la letra de la canción:\n Nombre: %s' % (read_db.song_name(update))) bot.sendMessage(chat_id=update.message.chat_id, text='--INICIO CANCIÓN--') for i in range(len(keys)): bot.sendMessage(chat_id=update.message.chat_id, text="Estrofa: %d\n%s" % (i + 1, letras[keys[i]])) bot.sendMessage(chat_id=update.message.chat_id, text='--FIN CANCIÓN--') bot.sendMessage( chat_id=update.message.chat_id, text='Ahora, voy a hacerte una serie de preguntas' ' relacionadas con la letra de la canción. Para responderlas utiliza el teclado emergente ' 'que he diseñado. Si no te interesa está canción pulsa otra_cancion para analizar una canción diferente.\n' 'O pulsa continuar para seguir con esta canción.', reply_markup=teclado(6)) return ESTEROTIPO
def general(bot, update): if update.message.text.isdigit(): bot.sendMessage(chat_id=update.message.chat_id, text='Por ultimo ¿consideras sexista esta canción?', reply_markup=teclado(2)) chat.cuerpo(update, read_db.song_name(update)) return AWNSER5 else: update.message.reply_text('Tiene que ser un número del 1 al 10') return GENERAL
def cuerpo(bot, update): if update.message.text.isdigit(): bot.sendMessage( chat_id=update.message.chat_id, text= 'Pulsa el número aquellas estrofas que se refieren al cuerpo de las mujeres.', reply_markup=teclado(3)) chat.poder(update, read_db.song_name(update)) return AWNSER4 else: update.message.reply_text('Tiene que ser un número del 1 al 10') return CUERPO
def end(bot, update): bot.sendMessage( chat_id=update.message.chat_id, text='¡Genial! Hemos completado el análisis de esta canción.' ' Si quieres analizar otra canción\n teclea el comando /analizar ', reply_markup=ReplyKeyboardRemove()) chat.general(update, read_db.song_name(update)) read_db.analyzed(update) #da la cancion por análizada. read_db.drop(update) #elimina documento temporal al finalizar el análisis. #cierra conversación. return ConversationHandler.END
def poder(bot, update): if update.message.text.isdigit(): bot.sendMessage( chat_id=update.message.chat_id, text= 'Pulsa el número aquellas estrofas que plantean posiciones de desigualdad, otorgando ' 'más poder a los hombres que a las mujeres.', reply_markup=teclado(3)) chat.roles(update, read_db.song_name(update)) return AWNSER3 else: update.message.reply_text('Tiene que ser un número del 1 al 10') return PODER
def roles(bot, update): if update.message.text.isdigit(): bot.sendMessage( chat_id=update.message.chat_id, text= 'Pulsa el número de aquellas estrofas que contienen una diferencia de roles: papeles, tareas, ' 'normas que debe asumir la mujer y el hombre en sociedad. Por ej. se espera que las mujeres' ' cuiden de los familiares enfermos.', reply_markup=teclado(3)) chat.estereotipo(update, read_db.song_name(update)) #guarda respuesta estereotipo. return AWNSER2 else: update.message.reply_text('Tiene que ser un número del 1 al 10') return ROLES
def mostrar_cancion(bot, update): #muestra la cancion que esta ciendo analizada por el usuario if read_db.sanity(update): # verifica si el usuario ya ha elegido alguna canción y la muestra en la conversación. letras, keys = read_db.lyrics(update) bot.sendMessage(chat_id=update.message.chat_id, text='Esta es la letra de la canción:\n Nombre: %s' % (read_db.song_name(update))) bot.sendMessage(chat_id=update.message.chat_id, text='--INICIO CANCIÓN--') for i in range(len(keys)): bot.sendMessage(chat_id=update.message.chat_id, text="Estrofa: %d\n%s" % (i + 1, letras[keys[i]])) bot.sendMessage(chat_id=update.message.chat_id, text='--FIN CANCIÓN--') else: bot.sendMessage(chat_id=update.message.chat_id, text='No tienes ninguna canción para mostrar')
def estereotipo(bot, update): if update.message.text == 'continuar': bot.sendMessage( chat_id=update.message.chat_id, text='Comencemos...' '\nPulsa el número de aquellas estrofas que contienen estereotipos (creencias que suponen ' 'generalizaciones sobre lo que “debe ser” una mujer y/o un hombre).' ' Presiona \U0001f51a para terminar y pasar a la siguiente pregunta.', reply_markup=teclado(3)) chat.base(update, read_db.song_name(update)) #inserta la estructura de los datos en en la base de datos mongo. return AWNSER1 else: bot.sendMessage(chat_id=update.message.chat_id, text='Elige el género musical que quieres analizar.', reply_markup=teclado(4)) return CANCIONES
def awnser5(bot, update): if update.message.text == 'No' or update.message.text == 'no': bot.sendMessage( chat_id=update.message.chat_id, text='¡Genial! Hemos completado el análisis de esta canción.' ' Si quieres analizar otra canción teclea el comando /analizar', reply_markup=ReplyKeyboardRemove()) read_db.analyzed(update) chat.general(update, read_db.song_name(update)) return ConversationHandler.END if update.message.text == 'Sí' or update.message.text == 'Si' or update.message.text == 'sí' or update.message.text == 'Sí': bot.sendMessage( chat_id=update.message.chat_id, text= 'En una escala de 1 a 10, siendo 1 el nivel más bajo y 10 el más alto, ' '¿En qué grado consideras esta canción sexista?', reply_markup=teclado(5)) aux = update.message.text return END1
def awnser4(bot, update): if update.message.text == 'ninguna': bot.sendMessage(chat_id=update.message.chat_id, text='Por ultimo ¿consideras sexista esta canción?', reply_markup=teclado(2)) chat.cuerpo(update, read_db.song_name(update)) return AWNSER5 if update.message.text.isdigit(): check_number(update) return AWNSER4 if update.message.text == '\U0001f51a' and read_db.num_estrofas( update) > 0: bot.sendMessage( chat_id=update.message.chat_id, text= 'En una escala de 1 a 10, siendo 1 el nivel más bajo y 10 el más alto, ' '¿en qué medida se les otorga un valor de “objeto sexual”?', reply_markup=teclado(5)) return GENERAL
def awnser3(bot, update): if update.message.text == 'ninguna': bot.sendMessage( chat_id=update.message.chat_id, text= 'Pulsa el número de aquellas estrofas que se refieren al cuerpo de las mujeres.', reply_markup=teclado(3)) chat.poder(update, read_db.song_name(update)) return AWNSER4 if update.message.text.isdigit(): check_number(update) return AWNSER3 if update.message.text == '\U0001f51a' and read_db.num_estrofas( update) > 0: bot.sendMessage( chat_id=update.message.chat_id, text= 'En una escala de 1 a 10, siendo 1 el nivel más bajo y 10 el más alto, ' '¿en qué medida se plantea una relación de dominación?', reply_markup=teclado(5)) return CUERPO