Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Twitter

Usando la API de Twitter para Tuitear Contenido Repetitivo

by
Difficulty:IntermediateLength:MediumLanguages:
This post is part of a series called Building With the Twitter API.
Building With the Twitter API: Analyzing Your Followers

Spanish (Español) translation by Rafael Chavarría (you can also view the original English article)

Final product image
What You'll Be Creating

Bienvenido de vuelta a nuestra cobertura de la API de Twitter. Si usas Twitter, podrías haberte cruzado con un amigo compartiendo tweets desde el bot @infinite_scream (mostrado arriba). Se que es mayormente un bot porque tuitea en intervalos de diez minutos. Pero varia la cadena de texto en longitud de sus gritos virtuales para evitar ser bloqueado por las infames restricciones no documentadas de la API de Twitter. Tuitea demasiado frecuentemente o repite el mismo contenido y encontrarás a tus bots bloqueados sin esperanza.

Recientemente, un amigo en línea me pidió ayudarle a escribir código para un bot que podría repetir pero proporcionar alguna variación inteligente de contenido. En el tutorial de hoy, escribiré sobre cómo hacer esto con la API de Twitter.

En el tutorial de hoy, describiré cómo construir un bot que hace los básicos:

  • intervalo aleatorio de tweet
  • selección aleatoria de texto de estado
  • selección aleatoria de hashtags
  • inclusión aleatoria de URLs
  • evitar ser bloqueado por Twitter

Sin embargo, si quieres usar un bot de API de Twitter para promover efectivamente tu producto o servicio en tu propia cuenta sin molestar a tus seguidores, necesitas escribir código que varíe de forma inteligente el tema, los contenidos y la frecuencia de tus tweets de manera organizada. Estaré escribiendo sobre cómo hacer eso en futuros episodios.

Si tienes alguna pregunta o idea, por favor publícalas en los comentarios de abajo. Si quisieras ver algunos de mis otros tutoriales Envato Tuts+, por favor visita mi página de instructor, especialmente mi serie startup. Comencemos.

Comenzando

Para el bot en el episodio uno, estoy intentando generar tweets divertidos de manera regular mientras evito molestar al gran Dios de Twitter del Acceso Restringido en el Cielo.

El contenido del tweet es bastante simple y puede ser creado de manera aleatoria combinando estados de texto previamente escritos, hashtags, y URLs.

El bot se ejecuta en Yii, una plataforma popular basada en PHP. Mantendré la guía bastante simple para desarrolladores PHP comunes. Sin embargo, te aliento a usar frameworks. Puedes aprender más en mi Serie Yii.

Construyendo el Bot

Registrando una Aplicación Twitter

Básicamente, la primera cosa que hice fue registrar una aplicación para obtener mis llaves Twitter:

Repeating Twitter API - Setting up your Twitter App

Si no estás familiarizado con crear una aplicación y autorizar acceso API con Twitter, por favor revisa algunos de nuestros tutoriales anteriores:

Creación de Contenido para un Rango de Tweets

Quería crear un sistema en donde mi amigo (o cualquier autor aprobado) pudiera escribir variaciones de tweets y colocarlas en una base de datos para uso continuo. Primero, creé una migración de base de datos para construir la tabla para ellos.

Todas mis tablas para este proyecto tienen el prefijo norm_. Aquí está la tabla Tweet o norm_tweet:

Después, usé el sistema scaffolding Gii de Yii para crear un modelo y archivos CRUD para mi. Aquí está el modelo:

Repeating Twitter API - Yiis Gii Scaffolding Model Generator

Y aquí está la generación CRUD:

Repeating Twitter API - Yiis Gii Scaffolding CRUD Generator

Así que todo este código proporciona de manera automática la vista de cuadrícula de abajo y capacidades de edición.

Repeating Twitter API - The Authoring Tweets UX

Por ahora, no estoy usando el Medio ID, que es para que las imágenes que son subidas se usen dentro de los tweets. Probablemente abordaré esto en el siguiente episodio.

Bastante sencillo hasta ahora, ¿verdad?

Agregando un Rango de Hashtags

Después, repito este proceso para los otros modelos. Aquí está la migración norm_hash para hashtags:

La idea es incluir de manera aleatoria un hashtag seleccionado (o dos) en los tweets para hacer parecer que el bot es humano, variando sus tweets.

Aquí está la UX de Hashtag:

Repeating Twitter API - The Authoring Hashtags UX

No repetiré los pasos Yii Gii de arriba, pero los repito para norm_hash y norm_url también.

Agregando una Variedad de URLs

Aquí está la migración de base de datos para agregar URLs:

El bot maestro podría agregar URLs en diferentes ocasiones. Es probablemente mejor que este bot no use URLs antiguas o las repita. Las estampas de tiempo Unix last_used y created_at permiten al algoritmo de tweets descrito abajo que decida cuando usar URLs.

Aquí está la página UX URL:

Repeating Twitter API - The Adding URLs UX

Ahora, veamos el divertido algoritmo para combinar todas estas tablas en tweets interesantes que no son molestos para el Señor Maestro de Restricciones de Twitter.

Aleatorización de Contenido de Tweets de Bot

Es divertido tener un bot que tuitea una variedad de contenido, pero la variedad también es útil para prevenir que sea bloqueado por Twitter.

Puedes ver los Límites de Tasa de Twitter, pero algunas de las reglas para repetición de contenido no parecen estar documentadas:

Repeating Twitter API - Rate Limits Chart

Tomo instrucciones de mi amigo sobre cómo querían que el algoritmo construyera tweets desde la base de datos de tweets, hashtags, y URLs.

Aquí está el algoritmo de construcción que decidimos por ahora; es fácil de modificar. Lo describiré en partes.

En mi opinión el algoritmo de abajo es bajo en su uso de hashtags y URLs, y si quieres una variedad más robusta de contenido, cámbialo a tu gusto.

Primero, usamos yii\db\Expression; para seleccionar apropiadamente un solo texto de tweet aleatorio de la tabla:

Después decidimos si usar un hashtag (actualmente 1 en 5 o el 20% del tiempo) y cuántos usar (actualmente fijo a solo uno):

Después, decidimos si hay una URL disponible para usar. Las URLs deben tener menos de una semana de antigüedad y solo pueden ser usadas una vez cada 72 horas (3 días). Así que cualquier nueva URL estaría solo disponible para usar una, dos o posiblemente tres veces antes de expirar.

Finalmente, construimos el tweet basados en la información seleccionada (las URLs disponibles son agregadas una de cada cuatro veces o 25% de probabilidad):

Eligiendo Cuando Tuitear

Yii te permite llamar controladores de consola desde cron. Así que agrego una llamada a mi /console/DaemonController.php en crontab.

$ sudo crontab -l

Aquí está cómo mis tareas están programadas:

Cada hora, daemon/hourly en /console/DaemonController.php es solicitado. Nuestra aplicación bot solo decide si tuitear o no una vez cada cuatro horas.

Primero, verás que tengo una tabla NormLog que no describí arriba, pero que sigue a toda la salida y cuando los tweets son hechos. Así que mi amigo no quería tuitear más de una vez al día.

No queríamos que los seguidores de nuestro bot se molestaran por tuitear con alta frecuencia.

Después, elige un número, básicamente las seis veces al día (cada cuatro horas), y tuitea si el número es 6 (o una probabilidad de uno en 12).

Entregando el Tweet a la API de Twitter

Aquí está el método NormTweet::deliver() llamado por el Daemon para publicar el tweet:

Las llaves de aplicación de la cuenta de Twitter son almacenadas en /bot/frontend/config/params-local.php, configuradas desde el archivo bot.ini que uso:

Los bots no son simples, ¡pero son divertidos!

Examinando los Resultados

Aquí están los resultados de nuestro bot:

Repeating Twitter API - Tom McFarlin Head Editorial Goddess

¡Solo bromeo! Ese es uno de nuestros dioses editoriales, Tom McFarlin. Los scripts de IA aún no son capaces de reemplazar su "perspicacia", pero Envato Tuts+ me ha contratado para trabajar en esto.

Aquí está el bot real, pensado para recordar a mi amigo y sus seguidores que las nuevas políticas de América no son exactamente normales. Imagino si tus vistas estarían de acuerdo con eso.

Repeating Twitter API - Bot Tweet Stream from Tutorial

Espero que hayas disfrutado este episodio.

¿Qué Sigue?

Después, voy a crear una plataforma más orientada a mercadeo para ayudarte a usar la API de Twitter para promocionar tu startup, servicios, y negocio sin ser etiquetado como bot y ser bloqueado.

Si tienes alguna pregunta o sugerencia sobre este tutorial, por favor publícalos en los comentarios. Si quisieras estar al tanto de mis futuros turoriales Envato Tuts+ y otras series, por favor visita mi página de instructor o sigue @reifman.

Enlaces Relacionados

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.