Código fuente de un robot de Twitter



Versión: 2.7.
Descargas: yocuentonumeros.zip.

@yocuentonumeros es un usuario de Twitter que, tal como lo indica el nombre, cuenta números constantemente (cada 6 minutos exactamente) y los envía a la red social junto con su representación en letras, ya que utiliza el módulo num2es. Está alojado en la plataforma de Google y para acceder a la API hace uso del paquete twitter.

El enlace de descarga incluye todos los archivos necesarios para ejecutarse en Google App Engine.

Como vista previa, a continuación la fuente del script principal. Las claves de acceso han sido removidas por seguridad.

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import webapp2
from google.appengine.ext import db

from num2es import TextNumber
from twitter import Twitter, OAuth


TOKEN = ""
SECRET_TOKEN = ""
CONSUMER_KEY = ""
SECRET_CONSUMER_KEY = ""


class Count(db.Model):
    number = db.IntegerProperty()


class MainHandler(webapp2.RequestHandler):
    def get(self):
        self.response.write(u"""
            <html>
            <head>
                <title>@yocuentonumeros</title>
                <meta http-equiv="content-type" content="text/html;charset=utf-8" />
            </head>
            ¡Hola, sígueme en <a href="http://twitter.com/yocuentonumeros">
            @yocuentonumeros</a>!
            </html>
        """)


class TweetHandler(webapp2.RequestHandler):
    def get(self):
        t = Twitter(auth=OAuth(TOKEN, SECRET_TOKEN, CONSUMER_KEY,
                               SECRET_CONSUMER_KEY))
        
        count = Count.gql("").get()
        if count is None:
            count = Count()
            count.number = 1
        else:
            count.number += 1
        count.put()
        
        text_number = TextNumber(count.number)
        
        t.statuses.update(
            status=u"{0} {1}".format(
                text_number.nice_repr(),
                unicode(text_number).capitalize()
            )
        )


app = webapp2.WSGIApplication([
    ('/', MainHandler),
    ('/tweet', TweetHandler)
], debug=True)



2 comentarios.

  1. Carlos Sisek says:

    Hola, me interesaria probar esta aplicacion pero no se de donde obtener:
    TOKEN = «»
    SECRET_TOKEN = «»
    CONSUMER_KEY = «»
    SECRET_CONSUMER_KEY = «»

    Gracias por tu respuesta

Deja una respuesta