Data Game bot

La posibilidad de usar la API de Twitter para crear Data Games mediante bots es algo que siempre he querido experimentar, así que, ahora que estamos más tranquilos con las actualizaciones de Oniria Crimes, me he puesto manos a la obra.

¿Qué es un Data Game?

El género de los Data Games está apareciendo recientemente y aún está muy dentro del ámbito de la investigación. Consiste en utilizar los datos disponibles en internet para generar el contenido del juego. Uno de los ejemplos más llamativos es Data Agent, de Gabriella Barros. Extrae datos de la Wikipedia para crear un juego de investigación tipo Carmen Sandiego.

Data Agent, por Gabriella Barros

¿Cómo funciona el bot?

Nuestro bot se divide entres partes: recolección de datos, procesamiento y publicación. Está programado en Python y utiliza las librerías Tweepy, Pytplot y CV2. A continuación explico más detalladamente cómo funciona.

Extracción de datos

Después de conectar a la API de Twitter y autentificarse, el bot hace una búsqueda de los tuits de la última semana. Para cada gremio, utiliza su nombre como palabras clave para obtener el número de tuits y likes con ese tema. Estos datos quedan guardados para procesarlos en el siguiente paso.

Al hacer las búsquedas -y aquí es donde entra el juego el concepto de «game»-, el bot potencia los tweets que usan el hashtag #OniriaGremios. Esto hace que los jugadores puedan apoyar a su gremio favorito añadiendo el hashtag en un tuit donde aparezcan las palabras clave, y ver qué tal se ha desempeñado cuando salgan los resultados semanales.

Abajo hay una imagen donde se pueden ver los resultados:

Procesado de datos

Una vez que tenemos el listado de «popularidad» de los gremios, los ordenamos y utilizamos la librería Pytplot, que normalmente se usa para mostrar datos estadísticos, para generar una gráfica tipo tarta.

Gráfica de popularidad ordenada

Normalmente las gráficas para IA y estadísticas suelen ser muy aburridas y feas, así que le hemos dado una pequeña capa de estilo con la paleta de Oniria, cambiando el color del fondo y del anillo, y añadiendo el logo de The Dreaming Show, el late show del universo, para contextualizar la imagen dentro del transmedia.

Los gremios están ordenados por popularidad y se remarca el ganador -que a día de hoy es el Puño Mágico-. Abajo a la derecha he colocado la fecha de la encuesta para ahorrar caracteres en el tuit.

Publicación

Para que las imágenes queden bien en Twitter es necesario publicarlas a 1024×512 o una resolución proporcional. Para ello he tenido que añadir bordes y márgenes a la imagen autogenerada por el bot, además de modificar el DPI. Una vez tenemos la imagen adecuada, generamos el texto del tuit.

Afortunadamente, los emoticonos no me han dado problemas de codificación y se han publicado tal cual. Lo más importante es controlar esto y la longitud del texto para asegurarse de que no quede cortado. De ahí que solo se muestren los 4 gremios más populares.

El tuit resultante queda así:

twit data game
BotTwitter data game

Espero que os haya gustado la idea y no os olvidéis de apoyar a vuestro gremio para que gane en la próxima encuesta de popularidad tuitera 😉