Skip to content

PoliticaArgentina/polar_bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

5 Commits

Repository files navigation

Twitter bot electoral para {polAr}

  • El dise帽o del bot est谩 basado en ggplotme de @jcrodriguez1989.

  • Utiliza funciones para la obtenci贸n de datos y visualizaci贸n de la primera versi贸n de {polAr}

  • Las consultas y publicaci贸n de contenido a trav茅s de la API de Twitter funcionan gracias a {rtweet}.


Descricpci贸n del proyecto

  • Script para generar archivo .rds con Token generado para acceso a la cuenta de Twitter

  • archivo bot.R que se comunica con API de Twitter y busca menciones a la cuenta del bot, consultando por resultados de una elecci贸n. El script realiza luego una serie de filtros para minimizar respuestas a menciones que no tienen relaci贸n con una elecci贸n. Cumplido esos pasos genera un data set mentions2 que son los tuits que debe responder.

  • la funci贸n post_the_tweet , junto a mentions2 son pasadas en una iteraci贸n para ir respondiendo las menciones filtradas una a una. Si se encuentra la elecci贸n se graficar谩 el resultado y se guarda archivo en plots. Si no se encuentra en el repo, se responder谩 un mensaje de error con un archivo pre cargado en carpeta plots.

  • la carpeta plots es el lugar donde se guara el archivo temporal plot.png en el que el script grafica el resultado de la elecci贸n con la que responder谩 cada menci贸n y otro llamado fraude.png que utiliza cuando no encuentra una elecci贸n (con mensaje de error).

Dependencias

Para correr el bot requiere de varios paquetes que tienen que estar instalados. En el script est谩n llamados explicitamente antes de cada funci贸n de su NAMESPACE:

Varias del suite tidyverse (se puede instalar con install.packages("tidyverse"))

  • magrittr

  • dplyr

  • stringr

  • purrr

  • ggplot2

Adem谩s tienen que estar instaladas polAr y rtweet.

# install.packages('devtools') si no tiene instalado devtools

devtools::install_github("electorArg/polAr")

install.packages("rtweet")

EJECUCI脫N

Con el siguiente comando (especificando el encoding, es importante) se puede correr el bot con un cron. Si no encuentra menciones que tengan que ser respondidas, imprimir谩 mensaje alusivo. Caso contrario responder谩 a la lista de menciones detectadas (ya sean con error o con resultado correcto)

source(file = "script/bot.R", encoding = "UTF8")