Taller Bots Libres
Aprende a crear bots en la red social Mastodon

Imparte: Julián Pérez
Coordina: Nacho Rodríguez
Facultad BBAA UCM
14 y 15 Oct 2019
BIO
Artista visual interesado en cómo nos relacionamos con los nuevos medios e Internet.
Participo activamente en proyectos que promuevan la Cultura Libre de manera colaborativa y trabajo con proyectos y comunidades que giran en torno a los datos como material artístico, la programación creativa, narrativas digitales y tecnologías del directo.
Estructura del taller
-
DÍA 1
- Introducción a los Bots: Definición, Contexto
- Fediverso / Mastodon
- Ejemplos de bots
- Práctica1: Bot de texto con Tracery
-
DÍA 2
- Práctica2: Bot con processing + nodejs
- Cierre: Ideas para continuación bot
Puedes seguir esta presentación en este link:
Anotaciones, preguntas, links, etc:
Qué es un bot?
Programa informático que efectúa automáticamente tareas repetitivas a través de Internet, cuya realización por parte de una persona sería imposible o muy tediosa

El turco

Wolfgang von Kempelen
1769
ELIZA
1er Bot conversacional
1963



Kasparov VS IBM Deep Blue
1997
2000
Are you human? - Aram Barthol

Captchas

2001
Botnet / Spambot


2005
The Sheep Market - Aaron Koblin
Amazon Mechanical Turk
2006
Public API Twitter

2011
Siri

2014
Amazon Alexa


2014
Microsoft Cortana

2016
Granjas de Bots/Trolls

Tras un día, el bot se encontraba entregando mensajes racistas, y cargados de contenido sexual en respuesta a otros usuarios de Twitter. - Wikipedia
2016
Tay / Bot IA Microsoft

Los bots os parecen buenos :) o malos :(?
:)
un argumento de que los bots son BUENOS proviene de la idea de que los bots pueden ser una especie de "prótesis social", una posibilidad para que los individuos y las comunidades amplíen su capacidad comunicativa utilizando medios procedimentales
así que los "buenos" robots buscan información que de otro modo estaría oculta y la sacan a la superficie sin intervención humana
"Twitter bots and the performative critique of procedural writing" Presentación en el SXSW Interactive 2016 - Allison Parrish
:(
"bot" es una palabra que a veces se utiliza para las cuentas de spam, que son, por supuesto, un mal que nos afecta a todos... contaminan el canal en forma de notificaciones de seguimiento... se entienden como una fuente de ruido no deseado sin la cual estaríamos mejor sin ellos, y Twitter hace todo lo posible para dificultar a la gente la creación de cuentas con el fin de enviar spam
la narrativa clásica en los medios de comunicación sobre los robots (y la automatización de cualquier tipo) es que nos van a quitar nuestros trabajos
"Twitter bots and the performative critique of procedural writing" Presentación en el SXSW Interactive 2016 - Allison Parrish
BOTS ARE SKATEBOARDING
...el skateboarding es un acto creativo y político. La práctica del skateboarding revela que los espacios urbanos tienen topografías y affordances que van más allá de los procesos de diseño de arriba-abajo que les dieron origen
si los patinadores se esfuerzan por debilitar la autoridad de la arquitectura y el diseño urbano, no es de extrañar que las ciudades odien a los patinadores y hagan todo lo posible para restringir su acceso a los espacios, incluyendo la criminalización
"Twitter bots and the performative critique of procedural writing" Presentación en el SXSW Interactive 2016 - Allison Parrish
Ejemplos de Bots
Gastos de las tarjetas black en riguroso diferido de 10 años

Ejemplos de Bots

- Base de datos: CSV
- Filtración
- Comunicación de guerrilla
Mezcla dos titulares de TheNewYorkTimes en uno
Ejemplos de Bots

- API The New York Times
- Software de gramática que da sentido a la frase

Genera diferentes tipos de polillas y le pone un nuevo nombre generado aleatoriamente
Ejemplos de Bots


Cadena de ADN de emojis random

Ejemplos de Bots
Generador de poemas en inglés
Ejemplos de Bots

Más ejemplos
¿Por qué usar Mastodon?

¿Qué es Mastodon?

Centralizado
Federado
Descentralizado
Fediverso


Fediverso


Fediverso


Fediverso

Mastodon API
-
No requiere de un número de teléfono
- No pueden cerrarlo, a no ser que se incumpla el Mastodon Server Covenant
Congress Edits

Gab

Práctica 1
Crear un bot con Tracery
- Crear cuenta en botsin.space
- Activarla como bot
- Ir a Cheap Bots, Toot Sweet!
- Autorizar cuenta de Mastodon
-
Editar con Tracery
- Bot de texto
- Bot con emojis
- Bot con imágenes
Práctica 1: Crear un bot con Tracery
Práctica 1: Crear un bot con Tracery

- Clon de Cheap Bots, Done Quick! pero para Mastodon
- Utiliza Tracery, que es el código Javascript que crea gramática generativa
- Pensado para no-programadores
- Editor web
- Hosting
- Gratuito
Algunos ejemplos con Tracery:
- Soundesignquery (fácil)
- Facesbot (fácil)
- TiniGallery (medio)
- Bodegabot (medio)
- SadKeanuBot (medio)
- HConstellations (dificil)
Práctica 1: Crear un bot con Tracery
Otros editores de Tracery:
Tutoriales:
Práctica 1: Crear un bot con Tracery
Ideas
- Recordatorios, cuidados, consejos,...
- Onomatopeya, ruido, objetos,...
- Frases típicas, cotidianas, célebres, fílmicas,...
- Agenda política
- Meme
- Personajes: el cuñado, políticos, ...
- Emojis: historia, paisaje, suceso,...
Práctica 1.1
Tracery con imagen (SVG)
Ejemplo básico:
Práctica 1.1: Tracery con imagen (SVG)
{ "origin": "Con el código a continuación no vemos la imagen,
pero hemos creado el contenedor donde cargaremos la imagen:
{svg <svg xmlns=\"http://www.w3.org/2000/svg\"
xmlns:xlink=\"http://www.w3.org/1999/xlink\"
width=\"1024\"
height=\"512\">
</svg>}" }
OJO: dentro de la etiqueta svg " pasan a ser \"
Seguimos el ejemplo en el pad
Práctica 1.1: Tracery con imagen (SVG)
Práctica 2
Bot con Processing y node.js
- Instalar Processing
- Instalar Processing command line
- Instalar nodejs
- Obtener API keys de la cuenta de Mastodon
- Crear sketch que será la carpeta del proyecto
- Abrimos terminal de nuestro OS y vamos al directorio del proyecto
- npm init y completamos campos
- index.js >> bot.js
- creamos archivo bot.js y lo abrimos con editor de texto
- hacemos un "hello world" o un "ola k ase"
- instalamos modulos:
- npm install mastodon-api dotenv
Práctica 2: Bot con processing y nodejs
- Declaramos que queremos utilizar la librería mastodon-api
- const mastodon = require('mastodon-api);
- Construimos objeto M para las claves API
- M.post(path, [params], callback)
Práctica 2: Bot con processing y nodejs
Taller Bots Libres BBAA UCM
By Julián Pérez
Taller Bots Libres BBAA UCM
- 514