Bot de Twitter en unas cuantas patadas

twitter-robot-bird

No programo, no es mi fuerte ni pretendo que lo sea algún día. Sin embargo, últimamente alguien me motivo a usar de nuevo PHP al estilo Torvalds (“Just for fun”) y finalmente hace  poco me decidí usar la API de Twitter para hacer un bot.

Tengo un hosting que permite efectuar tareas con cron así que la opción mas obvia fue hacer algo con php y ejecutarlo cada tanto tiempo, realmente no voy a poner tanto detalle pero les puedo decir que únicamente necesitan una una bd donde guarden los id de los tweets que van respondiendo y también una aplicación en dev.twitter.com que tenga privilegios de escritura/lectura.

Nota: Este “código” utiliza la librería PHP de Abraham para autentificacion Oauth de twitter que encontraran en su ultima versión en este enlace:

https://github.com/abraham/twitteroauth
Requerimientos

  • Primero necesitan definir que van a responder, yo genere 2 bots, 1 que responde con mi cuenta al hashtag #Bola8Nerd y el otro da por las mañanas la temperatura en la Ciudad de México automáticamente también con mi cuenta.
  • Un hosting o servidor local que les permita ejecutar un código PHP cada determinado tiempo preferentemente usando crontab, ya que Twitter tiene limitado su servicio a 180 peticiones cada 15 minutos.
  • Una base de datos donde van a ejecutar el codigo SQL que anexo en el comprimido..
  • Una cuenta alterna para pruebas… Por si las dudas.
  • Crear una app en twitter.

Instrucciones app twitter:

1.- Entrar a https://apps.twitter.com/

2.- Crear nueva app (Create NewAPP).

3.- Revisen que la app tenga privilegios de lectura/escritura

3.- Manage keys and access tokens.

4.- Obtener:

  • Consumer Key (API Key)ç
  • Consumer Secret (API Secret)
  • Access Token
  • Access Token Secret

Instrucciones configurar bot
1.- Anotar esos datos en config/config.php
2.- Generar una bd con la tabla que anexo en sql/nerdbot.sql
3.- Anotar los datos para acceder a esa bd en config/config.php
4.- Probar desde consola que este respondiendo:

drmodding@NeoFrankie ~ $php temperatura.php

Si todo sale bien el resultado sera que en su twitter verán la temperatura en la ciudad de México.
Descargar codigo
El otro archivo search8ball.php hace una búsqueda del hashtag que comente arriba y responde con una típica respuesta random de una bola mágica 8.
Nota: para añadir tareas a cron deben hacerlo desde el cpanel del hosting que manejen, si no tienen un hosting podrían hacerlo desde un servidor php local sin embargo para que funcione deberían de tenerlo encendido todo el tiempo.

Comments

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.