27 de abril de 2016

Creando un bot con node y twit: parte 1

Una vez instalado node es bastante sencillo de empezar a crear un bot. Pero primero necesitamos tener una cuenta de twitter, una vez que tengamos una debemos dirigirnos a https://apps.twitter.com/

Aquí creamos las apps
Una vez allí, creamos una nueva app, y nos encontraremos con lo siguiente:

Configuración inicial de la app
Para nuestros fines utilicé como website http://127.0.0.1.
Ahora leemos y aceptamos el acuerdo de desarrollador

Developer agreement
En la sección de "key and access tokens" copiamos el consumer key y el consumer secret.


Generamos el access token




Y lo copiamos



Pasaremos a node, y a instalar el paquete twit que usaremos para nuestro bot. Ahora puedes crear una carpeta para hacer el proyecto, o bien, instalar twit globalmente, pero yo recomiendo lo primero. Para instalar twit corremos el siguiente comando:

npm install twit

O si nos decidimos a instalarlo globalmente:

npm install -g twit 
Creamos un archivo js, yo lo llamé twitterBot.js, y aquí está el código:



Twit funciona como una interfaz a la API REST de twitter, el proceso para empezar a utilizarlo una vez cargado consiste en:

  1. Instanciar Twit, pasando los 4 tokens de autentificación. (En este caso la llamé Bot)
  2. Llamar al método que deseemos de esa instancia. Los métodos son verbos (como post, get, postMediaChunked, etc.) o bien, el sustantivo streeam si se trata de la API STREAM
  3. Pasar al menos 2 parámetros a la función anterior:
    1. Ruta o endpoint. Ejemplo: 'statuses/update'. (estos se especifícan aquí)
    2. [meta]Parámetros de configuración, regularmente en forma de un objeto. Ejemplo: {status: "este es un ejemplo"}. Las opciones disponibles para estos parámetros se especifícan en la documentación de cada endpoint (aquí por ejemplo).
    3. Una función callback para procesar los resultados del request al terminar.