Cómo automatizar la descarga de vídeos de Twitter en Dropbox

Marcar con un «Me gusta» los vídeos de Twitter y que automáticamente se descarguen en Dropbox. Así de fácil y sin necesidad de salir de Twitter o tener que acudir a páginas cada vez que encontramos un vídeo que queremos descargar.

Para descargar vídeos de Twitter en Dropbox es necesario un sistema capaz de comunicarse con las APIs de ambos servicios, contar con los permisos necesarios para leer la información de los tweets que indiques, descargarlos y a continuación guardarlos en una carpeta de Dropbox.

Escenario: Vamos a crear una tarea automática que se active con cada Tweet que marquemos como Me gusta, extraiga la URL del vídeo que pueda contener, lo descargue y lo guarde en una carpeta determinada de nuestra cuenta de Dropbox.

Nivel de dificultad: Bajo.

Tiempo de implementación: Aproximadamente 20 minutos (una vez tengas tu cuenta de desarrollador de Twitter creada).


Como ya habrás descubierto descargar vídeos de Twitter es una tarea inexplicablemente complicada de llevar a cabo.

Ni desde la aplicación móvil ni desde un ordenador existe ninguna opción para descargar vídeos, razón por la cual existen multitud de páginas y aplicaciones con el objetivo de cubrir esta necesidad.

Si descargas vídeos de manera ocasional, no supone gran esfuerzo acudir a uno de estos servicios y con unos pocos clics conseguir los archivos. Sin embargo, cuando necesitas descargar varios vídeos o incluso automatizar el proceso para que descargue vídeos de acuerdo a un hashtag o palabra clave, estas soluciones dejan de ser efectivas.

En esta guía quiero mostrarte cómo he automatizado este proceso para que solo tenga que marcar con Me gusta aquellos vídeos que quiero descargar y estos aparezcan al rato mi carpeta de Dropbox.

Requisitos previos

En primer lugar necesitaremos una cuenta gratuita de Botize, la plataforma donde automatizaremos todo el proceso y una cuenta de desarrollador de Twitter, necesaria para monitorizar qué tweets son los que vamos marcando con Me gusta.

Crear una cuenta gratuita de Botize es tan sencillo como registrarte en https://botize.com/join, mientras que la cuenta de desarrollador de Twitter te llevará más de tiempo, aunque aquí tienes una guía con todos los pasos tanto para registrarla como conectarla a Botize.

Conectar tu cuenta de Dropbox a Botize es muy sencillo. Puedes seguir los siguientes pasos.

Cómo conectar Dropbox a Botize

Accede al apartado de aplicaciones de Botize y haz un clic en «Automatizar tareas con Dropbox«.

Te llevará a la sección de Dropbox dentro de Botize y entonces haz clic en el botón «Comenzar a usarla ahora«.

Al hacer clic Dropbox te pedirá que inicies sesión con la cuenta que quieras utilizar.

Inicia sesión y Dropbox te redirigirá de nuevo a Botize, donde verás que tu perfil ya está conectado.

Ve a tu cuenta de Dropbox y fíjate que por el hecho de haber conectado Botize se ha creado la carpeta Aplicaciones y dentro la carpeta Botize.

Botize solo tiene acceso a esta carpeta y no le es posible ver o trabajar con ningún archivo que esté fuera de ella.

Ahora tu cuenta de Dropbox está conectada a Botize y puedes automatizar tareas con este servicio.

Automatizar la descarga de vídeos de Twitter en Dropbox

El primer paso es ordenarle a la tarea que busque nuevos tweets que hayamos marcado con Me gusta. Luego le pediremos que extraiga el vídeo, lo guarde en Dropbox y vuelva a buscar nuevos tweets pasado una hora, así sucesivamente.

Vamos a crear la tarea entrando en el apartado de Twitter que tiene Botize con todas las operaciones que se pueden automatizar. Para ello entra en https://botize.com/es/app/twitter

Como puedes ver en Perfiles ya tengo mi cuenta de desarrollador de Twitter vinculada a Botize. Si no es tu caso sigue estos pasos.

Haz clic en Crear nueva tarea para empezar el diseño de nuestra automatización.

De entre las distintas operaciones que puedes automatizar, selecciona «Si hay nuevos Me gusta míos«

Con esta operación acabamos de especificar que la tarea debe revisar cada hora si hay nuevos Me gusta.

Indiquemos ahora qué debe hacer la tarea cuando encuentre un tweet marcado con Me gusta.

Botize te muestra ahora distintas aplicaciones que puedes automatizar como continuación del paso anterior.

En nuestro caso queremos que a continuación la tarea suba a una carpeta de Dropbox el vídeo contenido en el tweet, por lo que haremos un clic en el icono de Dropbox como se muestra en la siguiente imagen.

De nuevo veremos ahora las distintas operaciones que podemos automatizar, en esta ocasión con Dropbox.

Haz un clic en la opción «Guardar un archivo en Dropbox«.

Ahora podemos especificar exactamente qué archivo queremos guardar y en qué carpeta.

Lo único que necesitas hacer es seleccionar la etiqueta «URL de la imagen/Vídeo» dentro del campo «URL del archivo a guardar» e indicar el nombre de la carpeta donde se guardarán los vídeos en el campo «Carpeta donde guardar el archivo«.

Tu tarea ya está lista para comenzar a trabajar. Haz clic en el botón «Guardar cambios«.

A partir de ahora cada vez que marques con Me gusta un tweet que contenga un vídeo, este aparecerá en tu carpeta de Dropbox. Ten en cuenta que aunque puedes bajar la velocidad ahora mismo tu tarea está programada para ejecutarse una vez cada hora, por lo que el vídeo no aparecerá en Dropbox al instante.

Cómo pausar o detener la automatización

En cualquier momento puedes detener temporal o definitivamente esta automatización desde Botize.

Una vez dentro haz clic en el apartado «Mis tareas» del menú superior.

En la tarea que has creado haz clic sobre el icono de la fecha que tiene a la derecha y se desplegarán distintas opciones.

Pulsando el botón Pausar la tarea se detendrá pero podrás reanudarla nuevamente o hacerle cualquier ajuste si lo necesitas (cambiar la carpeta donde se guardan los vídeos, reemplazar Dropbox por otro servicio, etc).

Pulsando sobre el botón Eliminar la tarea se eliminará por completo pero los datos, en este caso los vídeos que ya fueron descargados, permanecerán en tu cuenta de Dropbox.

Si tienes algún problema creando esta automatización o estás buscando una similar pero no exactamente como la diseñada aquí, puedes dejarlo en los comentarios de esta entrada.

Cómo extraer datos de emails automáticamente

Escenario: Automatizar una tarea para que al recibir un email extraiga los datos relevantes del cuerpo del mensaje y los envíe a otra aplicación (Pushover) para que  nos llegue en forma de notificación móvil.

Nivel de dificultad: Bajo

Tiempo de implementación: 20 minutos.


Extraer datos estructurados del cuerpo de un email automáticamente es una tarea que puede ahorrarnos tiempo y trabajo.

Aunque digan que el email ha muerto, sigue presente en nuestras vidas y continúa siendo uno de los canales de comunicación más utilizados, tanto en el ámbito empresarial como por muchos de los servicios que utilizamos a diario.

No habría ningún problema si no fuera porque muchos de estos emails pueden requerir de nuestro tiempo para que llevemos a cabo todo tipo de tareas con ellos.

Desde extraer los datos que nos llegan a través de un formulario para darlos de alta en nuestro CRM, hasta tener que añadir determinados datos contenidos en el cuerpo del mensaje dentro de una hoja de cálculo. Cada nuevo email que llega a la bandeja de entrada es una pequeña tarea que espera por nosotros.

En mi caso la necesidad de automatizar tareas relacionadas con emails me llegó al cambiar de banco. Ese día descubrí que cada vez que hacía una compra recibía a los pocos minutos un email como el siguiente.

Me pareció interesante la idea de recibir algo así a modo de confirmación por cada compra que iba a realizar en adelante, con su fecha, importe y el nombre del establecimiento, pero ¿por email?, ¿no hubiera sido mejor una notificación push en mi teléfono y no tener que abrir correos?, y si quiero guardar estos datos en una App para controlar mis gastos, ¿cómo lo hago?

Por suerte hay una solución y pasa por utilizar parsers o analizadores de texto, con los que es posible extraer datos estructurados (en este caso del cuerpo de un email), de acuerdo a un conjunto de reglas que podemos establecer.

De este modo es posible delegar la lectura de nuestro correo a un bot o reenviarle los emails que deban ser analizados para que nos extraiga los datos, los transfiera a cualquier otra aplicación o los exporte a otros formatos como CSV, JSON, XML o Excel.

Para implementar esta automatización usaremos una cuenta gratuita de Botize y la aplicación Pushover para el envío de notificaciones Push. En tu caso particular puedes reemplazar Pushover por cualquier otra acción que necesites: guardar los datos en una base de datos, en una hoja de cálculo, enviarlos a un chat de Slack, de Telegram, enviarlos a un Webhook, etc.

En primer lugar, accede a Botize y crea una nueva tarea haciendo clic en el botón «Nueva tarea» de tu panel.

Como primer paso Botize te muestra algunas de las aplicaciones y servicios que puedes automatizar.

Haz un clic en el icono de «Botize Mail» como se muestra en la siguiente imagen.

Botize Mail es un servicio que nos permite ejecutar distintas acciones automáticas con cada uno de los emails que le enviemos a la cuenta bot@botize.com.

Nuestra tarea va a revisar cada vez que se ejecute si se ha enviado algún nuevo email y en tal caso extraer los datos y enviar la notificación push, por lo que de entre las distintas operaciones que nos permite automatizar, haz un clic en «Si envío un email a bot@botize.com«.

Indica ahora en campo «Cuenta de correo del remitente» la cuenta desde la que enviarás los emails a bot@botize.com.

Pulsa siguiente y aparecerá un mensaje diciendo que para continuar debes validar tu cuenta de correo, enviando para ello un email a bot@botize.com con el asunto BOTIZE.

Una vez enviado pulsa el botón Verificar.

Si todo ha ido bien habrás terminado con este primer paso y Botize te mostrará de nuevo algunos de los servicios que puedes incorporar a tu tarea automática.

En esta ocasión haz un clic en el icono del servicio «Analizador de texto«, como se muestra en la siguiente imagen.

Selecciona ahora la opción «Extraer datos de un texto«.

Deberemos indicar ahora un texto de ejemplo y los distintos datos que queremos extraer de él. Para ello es suficiente con indicar el nombre que queremos atribuirle a cada dato y el valor que toma en el texto de ejemplo que hemos indicado.

En mi caso he pegado uno de los mails que recibo cada vez realizo una compra y extraído el importe y el nombre del establecimiento en el que he comprado.

Una vez indiques tu texto de ejemplo y los datos que quieres extraer de él, solo queda por indicar el lugar donde estará el texto real de donde debe extraer los datos cada vez.

En nuestro caso se trata del cuerpo del email, por lo que lo especificamos seleccionando la etiqueta Cuerpo dentro del campo «Texto desde el que extraer los datos«.

Pulsa el botón de Siguiente para continuar.

Haz un clic en el icono «+» que hay situado a la derecha de «Extrae datos de un texto» para añadir una nueva acción a la tarea.

Haz un clic ahora en el icono de Pushover.

Y elige la opción «Enviar a Pushover«.

En el campo Mensaje definite el texto de la notificación push que quieres recibir.

En mi caso la notificación quedará de este modo.

Por último pulsa el botón «Guardar cambios» y tu tarea estará terminada.

Cada vez que envíes un email a bot@botize.com se ejecutará la tarea y recibirás la notificación móvil correspondiente al contenido del email.

En tu servidor o cliente de correo puedes programar una redirección de los correos que vengan de un determinado remitente o contengan un determinado asunto para automatizar también esta parte.

Próximamente espero publicar una entrada en la que explicaré como puedes conectar directamente tu cuenta de correo a Botize y eliminar así toda la parte de envío de emails a bot@botize.com.

Si tienes problemas con algún paso o cualquier duda con esta automatización puedes dejarlo en los comentarios de esta entrada. 

Cómo automatizar tareas en la nube con Python y Selenium

Hemos hablado sobre cómo automatizar tareas utilizando Selenium y también cómo incluir código python en ellas.

La potencia y facilidad de uso de Selenium la ha convertido en una de principales herramientas con las que testear flujos en páginas web y una de las más utilizadas por la comunidad de python.

Sin embargo los problemas llegan cuando queremos llevar nuestra solución a la nube y poder, por ejemplo, dejar automatizados nuestros tests de Selenium.

Aunque existen opciones, e instalar Python y Selenium en un hosting es una de ellas, puede requerir por tu parte ciertos conocimientos extra para configurar y administrar el sistema, instalar un certificado de seguridad o crear una Web App.

Esto puede terminar dificultando la puesta en funcionamiento de tu solución en la nube, por lo que quiero compartirte el método que personalmente utilizo para publicar mis automatizaciones con Selenium.

Python Anywhere es un servicio en la nube que te permite disponer de un servidor donde ejecutar código escrito en Python junto a un framework (a elegir) para convertirlo en Web App.

Todo viene instalado y preconfigurado desde un inicio, lo que te permite comenzar a trabajar literalmente en cuestión de minutos.

Sumado a que entre los distintos planes que ofrece incluye uno completamente gratuito, supone una muy buena opción a considerar para aquellos proyectos de mediana o pequeña escala, prototipos o proyectos en fase de desarrollo.

A continuación quiero mostrarte cómo automatizar tareas que requieren de Selenium utilizando pythonanywhere, las limitaciones que esto presenta y por último cómo solventar algunas de ellas con Botize.

Terminaremos con un ejemplo paso a paso donde construiremos una tarea automática que, dado una keyword, buscará los 10 primeros resultados en Internet y nos los enviará por email, todo desplegado en la nube y de manera gratuita.

Activación del entorno

Python anywhere simplifica este paso al máximo. Únicamente necesitas registrarte aquí y crear un primera Web App. Automáticamente le asignará un dominio con HTTPS e instalará y configurará el framework que elijas.

Una vez hecho esto podrás añadir tu código y llamarlo a través de la url que elijas.

Aquí tienes uno a uno los pasos para registrarte y crear tu primera Web App con pythonanywhere.

Incluir Selenium

Selenium hace uso de un navegador web para ejecutar los distintos comandos de nuestros tests. Al ser Python Anywhere una solución en la nube y no haber ningún dispositivo de vídeo donde Selenium pueda abrir y mostrar un navegador web, Python Anywhere solventa este punto por medio de un dispositivo virtual (PyVirtualDisplay).

Sin embargo, Python Anywhere actualmente solo soporta el navegador Firefox.

Esto no sería un problema sino fuera porque la versión que soporta ya entrados en 2021 continúa siendo la v17.0 de Firefox, una versión que vió la luz en 2012 y que ya no soportan muchas webs, como por ejemplo Instagram.

Por suerte existe una manera de pedir la activación de Chrome y solucionar así esta primera limitación.

Limitaciones de la cuenta gratuita de Python Anywhere

La cuenta gratuita viene con dos limitaciones más que deberemos tener en cuenta.

La primera de ellas afecta a Selenium y es que solo es posible acceder a un listado específico de dominios, actualmente compuesto de 3453 dominios, todos ellos de sitios que han sido validados y que cuentan con un API publica.

La razón de esta limitación es evitar el uso indebido de Selenium desde el anonimato que ofrecen las cuentas gratuitas. Las demás cuentas por el contrario, pueden acceder a cualquier dominio dado que en este caso el usuario puede llegar a ser identificado con sus datos de pago, como explica Python Anywhere.

La segunda limitación tiene que ver con el sistema de programación de tareas y también afecta solamente a las cuentas gratuitas. En este caso el programador de tareas está limitado a una ejecución diaria.

Este es un aspecto que con Botize podemos solucionar al poder ejecutar llamadas a la Web App con la frecuencia que necesitemos. Pudiendo además enviarle parámetros y recibirlos para accionar con ellos otras automatizaciones.

A continuación vamos a ver un ejemplo concreto en el que programaremos una tarea automática que ejecutará una vez cada hora una Web App que crearemos y que usará Selenium para devolvernos las páginas que ocupan las primeras posiciones en internet dada una keyword cualquiera.

Este ejemplo, incluso programado para ejecutarse una vez cada hora, funciona perfectamente con una cuenta gratuita de Python Anywhere.

Ejemplo paso a paso

Desde tu Dashboard de PythonAnywhere haz clic en «Open Web tab» para acceder al apartado de aplicaciones web.

Haz clic en el botón «Add a new web app» para crear la aplicación.

A continuación se muestra el nombre de dominio que te ha asignado PythonAnywhere. Si bien las cuentas gratuitas no permiten modificarlo, esto no tiene porqué suponer un problema.

Haz clic en Next para continuar.

Ahora debemos elegir el framework de la App Web y la versión de Python a usar. Para este ejemplo haré uso del framework Flash y la versión de Python 3.8.

A continuación puedes personalizar la ruta de tu aplicación aunque no es necesario y puedes dejarlo tal cual está.

Haz un clic en Next para continuar.

Ahora tu entorno ya está instalado y configurado.

En el caso de tener una cuenta gratuita necesitarás hacer un clic en el botón «Run until 3 months from today» cada 3 meses para mantenerla activa.

Para acceder al directorio de archivo de la Web App que se ha creado haz clic en la opción Files del menú superior.

El código de nuestra aplicación deberá crearse dentro de la carpeta «mysite«. Haz clic en ella para ver qué contiene.

Actualmente solo existe el archivo flask_app.py. Este es el archivo principal de la aplicación y donde escribiremos el nuestro. Haz un clic en él para abrirlo en el editor de código de PythonAnywhere.

Actualmente la aplicación cuenta con el código básico para ejecutar el framework de Flask y mostrar en pantalla el mensaje «Hello from Flask!» cuando se invoca la ruta «/».

Puedes comprobar que esto es así incluyendo el dominio que te asignó PythonAnywhere en un navegador web.

Elimina el código actual para incluir el de nuestro ejemplo.

En primer lugar incluiremos las distintas librerías que serán necesarias, entre ellas request para recuperar los parámetros de la tarea automática y pyvirtualdisplay, webdriver y Keys para ejecutar Selenium.

from flask import Flask
from flask import request
from pyvirtualdisplay import Display
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import json

Seguidamente instanciamos Flask y creamos la ruta que utilizaremos en el navegador para llamar a nuestro código.

app = Flask(__name__)

@app.route('/',methods=["GET"])
def botize():

A continuación vamos a leer los argumentos que GET, por donde la tarea automática nos enviará la keyword a buscar.

data = request.args
keyword = data.get("keyword","")

Finalmente ejecutaremos selenium para acceder al buscador, escribir la keyword y recuperar el ranking de resultados.

    data = request.args
    keyword = data.get("keyword","test")

    with Display():

        browser = webdriver.Firefox()

        try:
            browser.get('http://www.google.com')

            search = browser.find_element_by_name('q')
            search.send_keys(keyword)
            search.send_keys(Keys.RETURN)

            results = []

            elems = browser.find_elements_by_xpath('//div[@class="g"]')

            for elem in elems:
                results.append({
                    "title":elem.find_element_by_xpath(".//a//h3").text,
                    "url": elem.find_element_by_tag_name("a").get_attribute("href")
                })

            return {
                "meta": {"code":200},
                "data": {"ranking":json.dumps(results)}
            }

        finally:
            browser.quit()

Como puedes ver el script termina devolviendo un objeto con los datos obtenidos. Este objeto lo recibirá la tarea automática de modo que pueda hacer distintas operaciones con él: notificarlo por email, guardarlo en una base de datos, enviarnoslo por medio de una notificación Push, etc.

Para terminar guarda los cambios haciendo un clic en Save y reinicia la Web App haciendo un clic en el botón de refrescar (↻) que queda situado a la derecha.

Es hora de probar el resultado manualmente. Abre un navegador e introduce la dirección de tu dominio seguido de la ruta seguido de una keyword.

Como resultado se mostrará el objeto con la estructura que hemos indicado y los datos que se han obtenido del buscador.

Creando la tarea automática

Creemos la tarea automática que se encargará de ejecutar la Web App cada hora.

Accede a Botize y crea una nueva tarea o directamente haz clic aquí.

Estás en el editor de tareas de Botize. El primer paso es seleccionar el servicio que dará comienzo a la tarea, en nuestro caso la llamada a la Web App que haremos mediante un Webhook. Haz clic en el icono de Webhooks como se muestra en la imagen.

De entre las distintas operaciones que podemos automatizar elige la opción «Ejecutar una petición GET«.

En el campo URL especifica el dominio de tu Web App y en el campo «Parámetros GET» el parámetro keyword junto a la keyword que quieras utilizar.

Haz clic en Siguiente para continuar y Botize mostrará de nuevo los servicios que podemos utilizar para seguir automatizando acciones con el resultado de la Web App.

Dado que hemos recibido un JSON con todos los resultados del buscador, utilizaremos Mustache para generar un template con él y finalmente nos lo enviaremos por email.

En la caja de búsqueda escribe mustache y selecciona este servicio.

A continuación haz clic en la opción «Renderizar una plantilla«.

En el campo Hash escribe {{ranking}}, que es la cadena JSON que nos ha entregado la Web App.

En campo Template escribe el siguiente template, que recorre cada resultado y genera un listado HTML con él.

<h2>Resultados de la búsqueda</h2>
{{#.}}
  <a href="{{url}}" target="_blank">{{url}}</a>
  <h3>{{title}}</h3>
  <hr>
{{/.}}

Tan solo nos queda añadir un último paso, el envío del template con los resultados de la búsqueda por email.

Haz un clic en el botón Siguiente.

Para añadir el último paso haz un clic en el icono «+» situado a la derecha de Mustache.

De entre los distintos servicios que podemos automatizar ahora, selecciona Botize Mail como se muestra en la siguiente imagen.

Elige la opción «Ejecutar un email desde bot@botize.com«, para que Botize te envíe un correo con el template a tu dirección.

En el campo Para indica tu dirección de correo, en el campo Mensaje añade la etiqueta Template y marca la opción «enviar como HTML«.

Pulsa el botón Siguiente para continuar y aparecerá un mensaje indicando que, para poder recibir emails en la cuenta que has indicado, primero deberás confirmar que eres el propietario de dicha cuenta enviando primero un email desde esta a bot@botize.com con el asunto BOTIZE.

Una vez enviado el email pulsa el botón Verificar y para terminar el botón de Guardar cambios.

Tu tarea ya está lista y por defecto configurada para ejecutarse una vez cada hora, de tal modo que recibirás un email con los resultados para la palabra clave indicada.

Enhorabuena, acabas de crear todo un sistema de automatización en la nube, incluyendo servicios de Botize para enviar emails, código Python y un flujo de Selenium para obtener información de un sitio web de acuerdo a parámetros.

Si por el contrario tienes problemas con alguno de los pasos puedes dejarlo en los comentarios de esta entrada.

Cómo incluir código Python dentro de tus tareas automáticas

Al igual que puedes automatizar tareas uniendo servicios y aplicaciones de Internet entre sí, también puedes incorporar a ellas tu propio código escrito en Python.

Además de darte más control sobre la tarea, poder alterar el flujo y los datos de esta, modificarlos o añadir nuevos, te permite extender las posibilidades con nuevas funcionalidades creadas por ti, conectar otros servicios, APIs, librerías y aplicaciones para terminar automatizando prácticamente cualquier tipo de tarea que necesites.

A lo largo de los últimos años automatizando tareas para empresas, cada vez es más frecuente, además de interactuar con servicios y aplicaciones habituales, necesitar conectar con bases de datos y APIs corporativas, infraestructuras, redes privadas (VPN, VPS, VPC…), tecnologías propietarias o hacer un tratamiento particular de los datos.

Cuando te enfrentas a un proyecto de automatización con necesidades similares, poder cubrirlas incorporando nuevas piezas de código que puedan además interactuar con el resto del sistema resulta fundamental para poderlo llevar a cabo.

Webhooks

Por suerte muchas de estas necesidades pueden resolverse utilizando Webhooks, lo que permite incorporar nuevos servicios y comunicarnos por medio de eventos.

En cualquier momento durante la ejecución de una tarea automática se puede incluir mediante Webhooks llamadas externas a un entorno Python donde se ejecute un determinado código.

Opcionalmente podemos proporcionarle parámetros con datos que procedan de la tarea o actuar de acuerdo a la respuesta que devuelva el código Python.

Servidor Web para programación en Python

Para poder llamar a tu código escrito en Python es necesario que este sea accesible a través de una URL, por lo deberás contar con un servidor Web y recomendablemente un framework como Django, Flask o similar con el que construir la aplicación web donde residirá tu código.

Utilizaré el popular servicio Python Anywhere porque además de ofrecer todo esto sin la necesidad de instalar o configurar nada, podemos ejecutar código Python en cuestión de minutos de manera gratuita.

Una vez en la página de Python Anywhere haz clic en el botón «Start running Python online in less than a minute«.

Deberás crear una cuenta haciendo clic en el botón «Create a Beginner account«. Con la modalidad gratuita tienes más que suficiente para la mayoría de casos.

Una vez creada tu cuenta te llevará al Dashboard, donde puedes ver una relación de las distintas web apps que tengas creadas, los ficheros de tu servidor, etc.

Lo primero que haremos será crear una aplicación web. Para ello haz clic en el botón «Open Web tab«.

Como puedes ver aun no existe ninguna aplicación web. Crea la primera de ellas haciendo clic en el botón «Add a new web app«.

A continuación se muestra el nombre de dominio que te ha asignado Python Anywhere y donde residirá tu aplicación Web en adelante.

Haz clic en Next para continuar.

Es el momento de elegir el framework que utilizarás para la aplicación web de Python. Para este ejemplo haré uso del framework Flash y la versión de Python 3.8.

A continuación puedes personalizar la ruta de tu aplicación.

A menos que quieras especificar uno en concreto puedes clic directamente en Next para continuar.

Finalmente tu entorno ya está configurado y listo para empezar a trabajar, pero antes tienes que hacer clic en el botón «Run until 3 months from today«, lo que permitirá que el entorno esté disponible durante los 3 próximos meses de manera gratuita.

Cada tres meses deberás pulsar este botón para renovar el periodo de vida de tu aplicación web, a menos que decidas en algún momento dar el salto a un plan premium de Python Anywhere.

Haz clic en la opción Files del menú superior y accederás al directorio de archivos de tu aplicación.

Todo el código de la aplicación estará alojado en el directorio «mysite» que aparece en la columna izquierda. Haz clic en este directorio para ver su contenido.

El archivo flask_app.py es donde escribirás tu código. Haz un clic en él para abrirlo dentro del editor de código de Python Anywhere.

Como puedes observar la aplicación ya contiene el código necesario para arrancar el framework de Flask y devolver el mensaje «Hello from Flask!» cuando se invoca la ruta «/».

Abre un navegador y comprueba que efectivamente recibes este mismo mensaje al introducir el dominio de tu aplicación web.

Enhorabuena, ya tienes tu propio entorno en la nube donde ejecutar código Python.

Conversor de horas a minutos

Imaginemos una tarea automática capaz de recibir un email donde venga indicado un número de horas, convertirlas a minutos y responder el email con el número de minutos.

Programaremos la tarea delegando todas las piezas de recepción y envío de emails a Botize mientras que la conversión de horas a minutos la implementaremos en Python.

Mediante un Webhook llamaremos a nuestro código Python enviándole el número de horas que se recibió en email. Python resolverá la conversión y entregará el número de horas equivalente a la tarea, que procederá entonces a enviar el mail con la respuesta.

Utilizo el email con la finalidad de simplificar el proceso, pero puedes reemplazarlo por cualquier otra pieza de Botize, desde una base de datos hasta publicarlo en Twitter o convertirlo en un Bot de Telegram.

Conversor en Python

Comencemos por incorporar al código fuente de nuestra web app el correspondiente al conversor de horas a minutos.

En primer lugar habilita una nueva ruta a la que puedes llamar «/botize» para diferenciarla de la ruta «/» que viene por defecto. Esta será la que utilizaremos y por donde enviaremos mediante parámetro GET el número de horas.

Finalmente añadimos el código necesario para leer los parámetros recibidos y generar la respuesta con el número de minutos correspondiente.

En la línea 5 se ha incluido la librería request, necesaria para obtener los parámetros GET indicados en el Webhook.

El número de horas vendrá especificado en el parámetro hours y el número de minutos lo entregaremos en el parámetro minutes.

Como puedes observar en el código Botize precisa que la respuesta contenga el objeto meta con un código de respuesta 200, lo que indica que no ha habido errores y que los datos que entregamos estén dentro del objeto data.

Para terminar haz clic en el botón «Save» del menú superior y a continuación en el botón de refrescar situado a la derecha. Este reiniciará el servicio para que nuestros cambios queden reflejados.

Probemos el resultado manualmente introduciendo la dirección de tu dominio seguido de la ruta «/botize» y un número de horas.

Como puedes observar el resultado es una cadena JSON con la estructura necesaria y el número de horas convertido a minutos.

Creando la tarea automática

Es hora de crear la tarea automática y unir todas las piezas.

Accede a Botize y crea una nueva tarea o directamente haz clic aquí.

Estás en el editor de tareas de Botize. El primer paso es seleccionar el servicio que dará comienzo a la tarea, en nuestro caso el email. Haz clic en el icono de Botize Mail como se muestra en la imagen.

Selecciona la opción «Si envío un email a bot@botize.com«, para que la tarea se accione cada vez que le enviamos un email al bot de Botize.

En otros escenarios podríamos haber elegido que la tarea se ejecute cuando un usuario escriba en un grupo de Telegram, sistemáticamente todos los días a una hora determinada, cuando subimos un archivo a Dropbox, etc.

En el campo «Cuenta de correo del remitente» indica el mail que utilizarás para comunicarte con la tarea.

 Haz clic en el botón de Siguiente y aparecerá el siguiente mensaje indicando que para verificar que la cuenta es correcta debes enviar un email a bot@botize.com con el asuno BOTIZE.

Envíalo y pulsa el botón Verificar.

Has completado el primer paso y la tarea ya está lista para recibir emails desde la cuenta indicada. A continuación Botize vuelve a mostrarte los distintos servicios con los que puedes seguir automatizando acciones.

Haz un clic en el icono de Webhooks como se muestra en la imagen.

De entre las distintas operaciones que puedes automatizar selecciona «Ejecutar una petición GET«.

En el campo URL indica la dirección de tu aplicación Python.

En el campo Parámetros GET hay que indicar los parámetros que queremos enviar a Python.

En el código esperábamos recibir el número de horas en el parámetro hours, por lo que lo indicaremos aquí, mientras que el valor vendrá especificado en el cuerpo del email, por lo que en lugar de escribir un valor concreto, colocaremos la etiqueta Cuerpo, que hace referencia al valor que llegue cada email.

El resultado quedará como en la siguiente imagen. En tu caso la URL se corresponderá con la que Python Anywhere asignó para tu aplicación web.

Pulsa Siguiente para continuar.

Haz clic en el botón «+» que queda situado a la derecha del icono de Webhooks para habilitar un nuevo espacio, que usaremos para automatizar el email de respuesta.

Una vez seleccionado el icono de Botize Email, se nos muestran las distintas operaciones que podemos automatizar. En este caso selecciona la opción «Enviar un email desde bot@botize.com«, dado que en este último paso queremos que el bot nos responda con un email indicando el resultado en minutos.

Finalmente indica en el campo Para tu email y en el campo Mensaje el texto que quieras que se envíe.

En este caso el número de horas venía especificado como ya hemos visto en el cuerpo del email anterior, mientras que el número de minutos viene especificado en el parámetro minutes, de modo que el cuerpo del mensaje final quedará como se muestra en la imagen.

Ya has completado todos los pasos, es hora de pulsar el botón de Guardar cambios y probar tu tarea automática.

La tarea está marcada para ejecutarse cada hora, lo cual quiere decir que el bot revisará la bandeja de entrada y procederá con la conversión una vez cada hora.

Mail enviado a bot@botize.com indicando un número de horas 
Mail recibido desde bot@botize.com con la conversión a minutos

Ahora que sabes incorporar Python en tus tareas, no solo tienes más control sobre los datos que se generan sino que en combinación con todos los demás servicios que integra Botize vas a descubrir nuevas posibilidades y llevar tus automatizaciones aún más lejos.

Si estás pensando en utilizar PHP en su lugar, también es posible. En esta entrada tienes todos los pasos para programar un Bot de Telegram añadiendo funcionalidad en PHP.

Si necesitas ayuda con la implementación o quieres compartir alguna de estas ideas puedes hacerlo en los comentarios de esta entrada.

Cómo traducir cuentas de Twitter automáticamente con Watson Language Translator

Twitter muestra la opción “Traducir Tweet” bajo los tweets para los que hay una traducción disponible, sin embargo requiere por nuestra parte hacer un clic en cada tweet que queramos traducir.

Personalmente y al seguir a varias cuentas que publican en japonés, es una funcionalidad que me resulta muy útil pero debo confesar que muchos tweets acabo leyéndolos por encima o saltándolos directamente por pereza a traducirlos uno a uno.

Por eso la noticia de que Twitter haya empezado a experimentar con la posibilidad de traducir todo tu timeline al idioma que uno elija y aunque aún no haya información sobre cómo funcionará exactamente, no dejo de imaginar lo cómodo que podría resultar tener algo así.

Twitter tampoco ha anunciado cuando estará disponible esta característica o si la llegaremos incluso a ver, pero a mi me ha dejado con las ganas así que me pregunto si sería posible conseguir algo similar usando Botize.

Traductor de cuentas de Twitter

El objetivo es crear una tarea automática donde tengamos un bot que lea tweets de una o más cuentas de Twitter y los publique traducidos a otro idioma, con la idea de seguir a este bot y así poder leer los tweets en mi idioma.

Dado que el API de Twitter solo permite un número limitado de consultas y publicaciones, optimizaré la búsqueda de los tweets de la siguiente manera:

  1. El bot será capaz de obtener los tweets de una lista de cuentas de usuarios a elegir, excluyendo todas las demás
  2. De los tweets que publiquen estas cuentas excluirá además todos aquellos que no estén escritos en el idioma que necesitamos traducir
  3. Por último el bot excluirá los RTs que hagan estas cuentas

En cuanto a la publicación de los tweets también será necesario establecer algunas reglas.

  1. Para la traducción usaremos el servicio gratuito de Watson, que permite traducir hasta 1.000.000 de caracteres al mes
  2. Para evitar que algún usuario pueda sentirse molesto por el hecho de que una cuenta publique sus tweets traducidos a otro idioma, el bot publicará en una cuenta privada de Twitter
  3. Para evitar mencionar a nadie en los tweets, el bot excluirá cualquier @+usuario que pueda contener el texto
  4. Los tweets se publicarán indicando el autor del tweet seguido del texto traducido:

{{autor}}: {{traducción}}

Por último y esta es una limitación de mi caso en particular. Watson no permite la traducción directa del Japonés al Español. No la necesito pues lo traduciré al inglés.

En español la traducción además de que sería de peor calidad (la AI de Watson habría sido entrenada con menos muestras que en Inglés) resultaría en un texto muy largo. El español requiere de más caracteres que el Japonés para decir lo mismo (los kanjis concentran palabras en un solo carácter) y el límite de 280 caracteres podría quedarse corto al intentar traducir tweets largos escritos en japonés.

Otras limitaciones a tener en cuenta

No tendrá sentido hacer RT o comentar en los tweets del bot pues no estaremos haciendo referencia al tweet original.

El bot se activará para buscar tweets y publicar las traducciones una vez cada hora, sacrificando la inmediatez y el tiempo real propio de Twitter. Podría bajarse hasta una vez cada minuto usando una cuenta premium de Botize.

Traducciones mediante Watson Language Translator

Como ya hemos adelantado, usaremos el servicio de traducción que ofrece Watson, el sistema de inteligencia artificial de IBM.

Este servicio además de contar con más de 70 idiomas, permite traducir tanto textos como documentos completos, manteniendo el formato de archivo y estilos en este último caso.

Para este caso crearé una cuenta Lite de IBM, que si bien está limitada permite hacer uso de casi todos los servicios de Watson de manera gratuita y sin indicar ningún método de pago.

El servicio de traducción de Watson para cuentas Lite permite traducir hasta 1 millón de caracteres al mes, lo equivalente a traducir 3571 tweets de 280 caracteres cada uno. Más que suficiente para mi caso en particular.

Si necesitas escalar tu proyecto en algún momento puedes convertirla en una cuenta premium de IBM simplemente vinculando una tarjeta de crédito.

Pasos para automatizar la tarea

Antes de empezar es indispensable tener lo siguiente (te comparto los enlaces por si los necesitas)

  1. Cuenta gratuita de Botize (link)
  2. Cuenta Lite de IBM y conectarla a Botize (link)
  3. Cuenta de desarrollador de Twitter y conectarla a Botize (link)

Procedamos con la creación de la tarea, para ello y en primer lugar accede a la sección que tiene Botize dedicada a Twitter, aquí.

Como ya tienes tu cuenta de desarrollador de Twitter conectada a Botize, te aparecerá el botón «Crear nueva tarea«. Haz un clic en él y se abrirá el editor de tareas.

Lo que se muestra a continuación serán las distintas operaciones que se pueden automatizar con Twitter. Haz clic en la opción «Si hay nuevos tweets de una búsqueda«.

Esta opción permite establecer un criterio de búsqueda y a partir de ahí programar automatizaciones con cada tweet que encuentre.

Seguidamente vemos los distintos parámetros que podemos personalizar para la búsqueda de tweets.

En el campo Buscar especificaremos la lista de usuarios de los que queremos leer sus tweets escribiéndolo de la siguiente manera:

from:usuario1 OR from:usuario2 OR from:usuario3

Lo único que necesitas hacer es reemplazar los nombres de usuario que están en cursiva por los que necesites en tu caso. En el ejemplo hay 3 usuarios pero puedes poner uno o los que necesites.

A continuación, en el campo «Filtrar por idioma» selecciona el idioma en el que deberán estar escritos los tweets de estos usuarios. Cualquier tweet escrito en otro idioma será excluido.

Haz clic en el botón de Siguiente para continuar y se mostrarán algunos de los servicios de Internet con los que puedes automatizar acciones como paso siguiente a la búsqueda de tweets.

En la caja de búsqueda escribe «translator» y selecciona el icono de Watson Language Translator.

De entre las distintas operaciones que puedes automatizar con Watson Language Translator selecciona la opción «Traducir un texto«.

A continuación puedes ver las opciones que puedes personalizar.

Haz clic en el campo «Texto a traducir» y selecciona la etiqueta Tweet.

En los campos «Traducir de» y «Traducir a» indica el idioma de origen y de destino respectivamente.

Haz un clic en Siguiente y se mostrará un mensaje indicando que la tarea ya está lista para guardarse.

En Botize las tareas de dos pasos ya se pueden guardar, pero en nuestro caso aún nos queda introducir un último paso, el de publicar la traducción.

Para añadir este último paso haz un clic en el símbolo «+» situado a la derecha del icono de Watson Language Translator.

Al hacerlo se habilitará un nuevo espacio y Botize volverá a mostrarte un listado de aplicaciones que puedes utilizar para seguir automatizando más acciones.

Haz un clic esta vez en el icono de Twitter.

De entre las distintas operaciones que puedes automatizar con Twitter selecciona esta vez la opción «Publicar un tweet con foto o vídeo«.

Finalmente vamos a establecer el aspecto del tweet haciendo clic en el campo Tweet.

Puedes seleccionar las etiquetas que mejor se adecúen a tus necesidades. En mi caso utilizo el nombre de usuario de Twitter seguido del texto traducido que ha generado Watson como puedes ver en la siguiente imagen.

En el campo «URL de la imagen o archivo de vídeo» he indicado el tag «URL de la imagen/vídeo«, de modo que si el tweet original tuviese alguno de estos elementos también se incluya en el tweet que va a publicar el bot.

En el apartado «Eliminar del tweet los siguientes datos» he marcado la casilla «Usuarios», de modo que si un tweet tuviese menciones a otros usuarios el bot no los muestre y de este modo evitamos mencionarlos nuevamente. Acción que además sería considerada como una práctica de spam por parte de Twitter y pondría en peligro a nuestro bot. 

Por último, solo queda hacer clic en el botón Guardar cambios y la tarea comenzará a funcionar a partir del tweet más reciente que haya para la búsqueda que has indicado.

A partir de entonces la tarea se ejecutará cada hora y en caso de haber un nuevo tweet procederá a traducirlo y publicarlo en la cuenta de Twitter del bot.

Tweet originalTweet traducido

He de decir que mis expectativas con la inteligencia artificial de IBM eran muy altas, pero tras una semana de funcionamiento puedo observar que al menos en lo que a traducir del japonés a inglés se refiere, el resultado no es tan bueno como esperaba.

El método para traducir cuentas de Twitter necesitará mejorarse. Si bien en un principio parecía que iba a ser un problema el hecho de que las traducciones llegasen cada hora y no en tiempo real, al menos en mi caso ha resultado no serlo, sin embargo no poder interactuar con el tweet original, comentando o guardándolo como favorito bien merece dedicarle un poco más de tiempo y buscarle solución.

Por último te comparto la tarea automática por si quieres instalarla en tu cuenta de Botize. Puedes personalizarla e indicar tus propias cuentas de Twitter a traducir, el idioma de origen y destino e incluso el aspecto del tweet.

Traduce los tweets de una cuenta y los publica en otra

Posibles problemas

La tarea no encuentra tweets para traducir

Si la tarea no encuentra tweets asegúrate que la búsqueda que indicaste esté correcta.

Una manera de comprobarlo es copiándola y pegándola en el buscador de la web de Twitter. Si está correcta te aparecerán resultados, pero si en el buscador de Twitter tampoco te apareciese ningún resultado puede que contienen algún error.

La tarea indica un error de Watson con el texto «Model not found»

La traducción entre los idiomas de origen y destino que has indicado no está soportada por Watson. Deberás buscar otra combinación. Si uno de los dos idiomas es «Inglés» no deberías tener problemas.

Conectar Watson Language Translator a Botize

En esta guía te explicamos paso a paso cómo conectar Watson Language Translator a Botize y poder automatizar tareas.

Crea una cuenta en IBM Cloud

Accede a IBM Cloud haciendo clic en el siguiente enlace: https://cloud.ibm.com/registration

Introduce un email y una contraseña para registrarte o inicia sesión si ya tienes una cuenta.

Una vez dentro de IBM Cloud haz un clic en la opción Catalog del menú superior para acceder al catálogo de servicios que ofrece la plataforma.

Activa el servicio Language Translator en IBM Cloud

En la caja de búsqueda escribe «language» y selecciona el resultado «Language Translator» para acceder a la página de este servicio.

Una vez dentro de la página del servicio Language Translator, haz clic en el botón Create.

Obtén tus credenciales

Haz clic en la opción Manage de la columna izquierda.

Ha clic en el botón «Show credentials» y copia el «API key» y la URL que se muestran.

Estos dos datos son todo lo que necesitas para poder automatizar tareas con el traductor de Watson.

Activa el servicio Language Translator en Botize

Inicia sesión en Botize y accede al apartado de Language Translator haciendo clic en el siguiente enlace: https://botize.com/es/app/watson_translator.

A continuación haz clic en el botón «Comenzar a usarla ahora«.

En el formulario introduce el «API Key» y la URL que has obtenido en el paso anterior y haz clic en el botón Autorizar.

Watson Language Translator ya está conectado a Botize y puedes comenzar a automatizar. Crea tu primera tarea haciendo clic en el botón Crear una nueva tarea.

Si lo prefieres puedes utilizar o modificar cualquiera de las fórmulas de ejemplo que encontrás aquí.

Conoce las bases de datos gratuitas en la nube de Botize

Si necesitas una base de datos gratuita donde alojar contenido para tus tareas automáticas, los Recipientes de Botize son una alternativa a tener en cuenta.

Los Recipientes o bases de datos en la nube de Botize eliminan el concepto de almacenamiento físico, la necesidad de administrar su infraestructura y ofrecen características que facilitan su uso en tareas automáticas, como la compatibilidad con cualquier servicio o aplicación de Internet a través de los distintos conectores que ofrece Botize.

Estas bases de datos son de tipo no relacionales, también conocidas como NoSQL, donde no existe un modelo de tabla y la información se almacena independientemente de su estructura como un solo documento.

Ventajas de utilizar Recipientes

Los recipientes no necesitan que instalemos ningún software, ni en local ni en un servidor, tampoco que nos demos de alta en algún otro servicio, pues están vinculados a nuestra cuenta de Botize.

Sumado a otras características que veremos y que simplifican el proceso de trabajar con bases de datos dentro de tareas automáticas, convierte a los recipientes en una alternativa interesante a MySQL, Elasticsearch o servicios similares.

Entre sus ventajas podemos destacar:

  • Podemos almacenar información que provenga de distintos servicios y aplicaciones de Internet (entradas RSS, Tweets, JSON, posts, imágenes…)
  • Cualquier tarea puede guardar datos en recipiente o leer de él si lo necesitamos
  • Todo lo relacionado con la seguridad y los permisos de acceso están administrados por Botize, por lo que puedes enfocarte únicamente en el uso y no la administración
  • En mismo recipiente podemos almacenar información de uno o más servicios de Internet
  • Dentro de un recipiente el contenido puede estar etiquetado para mantenerlo organizado por categorías
  • Los recipientes están integrados en Botize por lo que resulta una opción cómoda cuando no dispones de ningún servicio externo como MySQL, Redis, Elasticsearch, Google Sheets, etc

Desventajas de los Recipientes frente a otras bases de datos

Como en todo los recipientes también tienen sus puntos flojos y es importante conocerlos.

  • Los recipientes no están pensados para almacenar grandes cantidades de datos, tienen un tamaño muy reducido por lo que su uso suele estar más relacionado con  guardar datos que van a ser utilizados durante las próximas horas o días
  • Los recipientes solo son accesibles por las tareas, de modo que su contenido no lo podemos aprovechar desde otro servicio, consultar por medio de queries SQL, API o similar.

Capacidad de los recipientes

La capacidad y el número de recipientes viene determinado por el tipo de cuenta de Botize que tengas.

CuentaRecipientesCapacidad
Gratuita125 elementos
Professional101.000 elementos
Business5010.000 elementos
Enterprise50020.000 elementos

Tipos de datos

Dentro de un recipiente podemos almacenar un número determinado de elementos (equivalente a documentos en una base de datos NoSQL).

Cada documento acepta hasta 100 campos y un máximo de 32Kb por documento.

Los recipientes no trabajan con tipos de datos sino con tipos de elementos: textos, URLs, imágenes, tags y fechas.

Puedes guardar también imágenes y en este caso las imágenes se suben a un bucket de S3 en Amazon y en el recipiente se almacena únicamente la URL de la imagen.

Cómo crear un recipiente

Toda la gestión de recipientes se hace desde el área dedicada a este servicio dentro de Botize. Dentro de tu perfil haz clic en Recipientes para acceder o utiliza el siguiente enlace: https://botize.com/es/account_containers

Una vez dentro haz clic en el botón «Nuevo recipiente» para crear un recipiente.

Cómo eliminar un recipiente

Desde el mismo apartado, despliega el campo Recipientes y elige el recipiente que quieres eliminar.

Una vez seleccionado haz clic en el botón Eliminar.

Cómo guardar contenido de un recipiente

Existen dos maneras de guardar datos en un recipiente.

  1. Manualmente. En el área de Recipientes de Botize dispones de un formulario desde el que puedes ir subiendo uno a uno contenido a un recipiente. No es la opción más recomendable a menos que tengas muy pocos datos que subir.

    En los recipientes normalmente guardarás información para ser usada al momento o durante un periodo corto de tiempo. Puedes añadir datos manualmente con la idea de que residan allí por un largo periodo de tiempo pero no es el escenario habitual para el que están pensados.
  2. Mediante una tarea automática.  Este es el método por el que normalmente añadirás información a tus recipientes y es mediante algún tipo de automatización que almacene datos que serán posteriormente utilizados por la misma u otras automatizaciones que tengas.

    Por ejemplo, puedes tener una o varias tareas que vayan guardando automáticamente enlaces o contenido en un recipiente de acuerdo a distintas reglas que establezcas, mientras que otra tarea vaya publicando en redes sociales este contenido de manera dosificada a lo largo del día.



Otra posibilidad de cargar contenido en un recipiente es mediante el envío de archivos CSV, nuevamente a través de una tarea automática. Cada línea del archivo se considerará un elemento del recipiente.

En la sección dedicada a recipientes de Botize puedes ver las distintas acciones que puedes automatizar junto a fórmulas ya prediseñadas que puedes utilizar o adaptar a tus necesidades.

Cómo extraer datos de un recipiente

La información almacenada en un recipiente se puede extraer de cuatro maneras distintas, dependiendo de las necesidades de cada caso.

  1. En orden secuencial. Este método permite leer datos del recipiente en el mismo orden en que fueron introducidos. El primero entrar será el primero en leerse y así sucesivamente.
  2. En orden aleatorio. En cada lectura que hagamos el recipiente nos devolverá un elemento tomado al azar de la base de datos.
  3. Ordenado por fecha. Este tercer tipo nos devuelve los elementos del recipientes ordenados por fecha, de menos a más reciente.
  4. Filtrado por tag o palabras. Este cuarto método puede combinarse junto con cualquiera de los anteriores tres y permite especificar una etiqueta o palabra, de modo que el recipiente sólo nos entregue contenido que contenga este.


El hecho de que cada elemento de un recipiente puede contener tags o etiquetas facilita clasificar o segmentar el contenido por categorías, útil a la hora de tener que guardar y leer contenido de distintas fuentes o distintos propósitos.

Trabajar con múltiples recipientes a la vez

Otra característica de los recipientes es que podemos leer de uno o varios al mismo tiempo, especificando si queremos recibir elementos de todos ellos por igual o por el contrario indicar en qué porcentajes.

Cómo borrar contenido de un recipiente

Una característica de los recipientes es que a menos que indiquemos lo contrario, al leer de un recipiente y extraer un elemento, este se elimina automáticamente del recipiente.

Al trabajar con recipientes este es con frecuencia el comportamiento deseado, lo que facilita y simplifica la creación de tareas automáticas.

En caso de ser necesario siempre puede marcarse la opción de mantener una copia de los elementos en el recipiente y estos nunca se borrarán.

Otra característica de los recipientes es que podemos especificar que en caso de añadir un elemento en un recipiente y no haber espacio en él, se reemplace por el elemento más antiguo que contenga.

Nuevamente es otro comportamiento que facilita trabajar con tareas que generan u obtienen datos donde tienen más peso o importancia los resultados más recientes.

Por último, mediante el uso de tareas automáticas también es posible ejecutar una acción en los recipientes para eliminar todos los elementos que contengan dado un determinado tag.

Casos de uso y ejemplo paso a paso

En la automatización es frecuente encontrar escenarios donde existen tanto tareas que automáticamente generan o capturan datos, como tareas que ejecutan determinadas acciones con estos mismos datos.

Separar las tareas que capturan los datos de las tareas que trabajan con estos es una práctica muy común, una manera de desacoplar sistemas y de dividir un problema complejo en pequeñas piezas fáciles de comprender y mantener.

En este proceso de dividir una automatización compleja en automatizaciones más pequeñas, surge la necesidad de disponer de una base de datos para que unos procesos puedan almacenar sus datos al terminar y otros leerlos y comenzar a trabajar con ellos.

Un ejemplo de esto sería un conjunto de tareas que conectan a distintas fuentes RSS para obtener noticias, filtrarlas de acuerdo a ciertas temáticas y guardarlas en un recipiente.

Otro conjunto de tareas se encargaría de extraer las noticias del recipiente dentro de un horario determinado y publicarlas en diversas redes sociales.

A continuación tienes un ejemplo paso a paso para implementar un sistema capaz de recibir contenido a través de email y almacenarlo en un recipiente.

Si tienes algún otro caso de uso que quieras compartir o por el contrario, te preguntas si tu caso de uso podría resolverse con recipientes, puedes comentarlo en esta entrada.

Cómo automatizar un resumen semanal de tus eventos de Google Calendar

Recibir cada lunes un email automático de los eventos programados para la semana está ayudando a organizarme mejor. Repasar la agenda tomando el primer café de la semana te da esa perspectiva y sensación de control del tiempo que hace falta para empezar a trabajar con el foco puesto en lo importante.

Si has convertido la bandeja de entrada en tu centro de notificaciones, estarás buscando la manera de reunir en forma de emails la información importante que tienes repartida en distintos servicios. Posiblemente ya hayas comprobado que no todos los servicios lo permiten o presentan limitaciones importantes como es el caso de Google Calendar.

Google Calendar permite recibir la agenda diaria en tu bandeja de entrada, sin embargo recibir la agenda semanal no es posible a menos que se desarrolle esta funcionalidad por medio del API de Google Calendar o mediante el uso de herramientas externas como Botize.

Recibir la agenda diaria con Google Calendar

Para recibir por email la agenda diaria accede a tu cuenta de Google Calendar y sigue estos pasos.

  1. Haz clic en Configuración
  2. En la columna izquierda, dentro del apartado Configuración de mis calendarios, haz clic en el calendario que quieras utilizar y se mostrarán las distintas opciones de configuración.
  3. En el apartado Notificaciones de eventos de todo el día, haz clic en el desplegable y selecciona la opción Correo electrónico.

Recibir la agenda semanal con Google Calendar

A continuación vamos a ver los pasos a seguir para recibir la agenda semanal (semanal o para el número de días que necesites).

A pesar de que esta característica no está disponible directamente desde Google Calendar la aprenderemos a crear utilizando Botize, personalizando tanto el aspecto como el formato de acuerdo nuestras necesidades.

Para poder enfocarnos en la creación de esta tarea asumiré que ya tienes una cuenta de Google Calendar y que la has conectado a Botize. Si no fuera tu caso puedes crear una cuenta de Google Calendar aquí para después conectarla a Botize.

La tarea que creamos a continuación estará programada para ejecutarse cada lunes a las 7:00 am, extraer los eventos de toda la semana de tu calendario de Google, incluirlos dentro de una plantilla HTML optimizada para teléfonos móviles y enviarla a tu cuenta de correo.

Comencemos accediendo al apartado de Google Calendar en Botize, o bien, haz clic directamente en este enlace: https://botize.com/es/app/gcalendar

Para crear la tarea automática que nos enviará el resumen semanal haz un clic en el botón Crear nueva tarea.

A continuación se abrirá el editor de tareas y Botize te mostrará las distintas operaciones que puedes automatizar con Google Calendar.

Haz clic en la opción «Si hay eventos para esta semana«.

A continuación Botize te muestra todas las opciones que puedes configurar.

En primer lugar en el campo «Zona horaria» selecciona tu ubicación para que las horas de los eventos del calendario se correspondan con tu zona horaria.

Por último hemos de indicar en el campo «Id Calendario» el identificador de nuestro calendario de Google.

Todos los calendarios de Google tienen un Id que deberemos copiar en este campo. Para obtener el Id del calendario que quieras utilizar sigue estos pasos:

  1. Accede a Google Calendar
  2. En la columna izquierda, debajo la sección «Mis calendarios» verás una relación de todos tus calendarios. Sitúate sobre el calendario que quieras utilizar y pulsa el icono » «, a continuación haz clic en Configurar y compartir.
  1. Ahora haz un clic en el apartado Integrar el calendario que está situado en la columna izquierda y podrás ver el ID del calendario a tu derecha. Cópialo y pégalo en el formulario de Botize.

Una vez copiado el Id del calendario y pegado en el formulario el resultado queda como se muestra en la siguiente imagen.

Ahora ya puedes hacer clic en el botón Siguiente para continuar.

Botize te muestra los distintos servicios que puedes automatizar como continuación a haber extraído los eventos de la semana.

Antes de enviarlos por email vamos a crear una plantilla HTML que le de un aspecto vistoso y adaptado para mostrarse en teléfonos móviles. Para ello utilizaremos el motor de plantillas Mustache.

Simplemente en la caja de búsqueda escribe Mustache y haz un clic en el icono de este servicio.

Nuevamente Botize muestra las operaciones que podemos automatizar con Mustache. Selecciona la opción «Renderizar una plantilla«.

Mustache es un motor de plantillas con el que a partir de una serie de datos (en nuestro caso los eventos del calendario) podemos generar documentos HTML y otros formatos.

Para ello haz clic en el campo Hash y selecciona la etiqueta «Eventos (JSON)«, la cual contiene todos los eventos del calendario.

Ahora en el campo Template pega el siguiente código, que en el lenguaje de Mustache sirve para recorrer cada entrada del calendario y mostrar la fecha, hora y texto del evento.

{{#.}}
* {{start_date}} {{start_time}}h: {{summary}}
{{/.}}

El resultado queda como puedes ver en la siguiente imagen.

Esta es una plantilla muy básica que acabaremos reemplazando por una más visual dentro de unos minutos.

Ahora que tenemos la plantilla definida haz clic en el botón Siguiente.

Las tareas de Botize se componen por lo general 3 pasos (aquí el Temporizador + Google Calendar + Mustache), por lo que en este punto Botize nos da la opción de terminar con la creación de la tarea, sin embargo nos queda añadir el último paso correspondiente al envío del email.

Para añadir este nuevo y último paso haz clic en el icono «+» que queda situado a la derecha del paso de Mustache. Comprueba cómo se ha habilitado un nuevo espacio.

Selecciona el icono de Botize Mail que ves en la siguiente imagen y que es el servicio de envío de emails que vamos a utilizar.

De entre las opciones que nos da elige «Enviar un email desde bot@botize.com«.

A continuación indica en el campo Para la dirección de correo donde quieres recibir el resumen semanal.

En el campo Asunto escribe el texto «Eventos de la semana» y en el campo Mensaje selecciona la etiqueta «Template» como se muestra en la imagen y que se corresponde con la plantilla que hemos creado en el paso anterior.

Finalmente pulsa Siguiente y se mostrará el siguiente mensaje en pantalla.

Para poder recibir emails en la cuenta que has especificado Botize necesita confirmar que sea de tu propiedad y para ello hace falta enviar un mensaje desde tu email a bot@botize.com con el asunto BOTIZE.

Cabe la posibilidad de que tu mail tarde unos segundos en llegar. Si pulsando el botón de Verificar Botize te indica que no ha recibido tu email comprueba que tu correo se haya enviado o vuelve a intentarlo pasado unos segundos.

Una vez enviado el email haz clic en el botón Verificar.

Nos queda únicamente programar la tarea para que se ejecute cada lunes. Haz un clic para ello en el icono del temporizador (reloj).

Entre los distintos campos que puedes personalizar selecciona una «Frecuencia de ejecución de la tarea» de «cada semana».

En la «Fecha de inicio» indica la del próximo lunes y en «Hora de inicio» la hora a la que quieres que te llegue el email.

Por último indica en «Zona horaria» tu ubicación y haz clic en «Guardar cambios«.

Ahora tu tarea está terminada y funcionando y como resultado recibirás un email como el siguiente.

Si bien cumple su función el aspecto visual es muy mejorable y algo que podemos hacer modificando solo la plantilla como vamos a ver.

Aplicar diseño a la plantilla

Dado que la plantilla utilizada resulta muy básica he buscado una que pueda usarse dentro de un email y que además se vea correctamente en móviles.

Así es como he llegado a la web de Colorib y encontrado esta.

He modificado el código original de la plantilla, eliminando elementos innecesarios y la he adecuado para mostrar eventos del calendario.

A la izquierda puedes ver el resultado en modo Dark y a la derecha en modo Light, dependiendo de como tengas configurado tu terminal.

Todos los pasos que hemos realizado junto con este nuevo diseño de plantilla lo tienes listo para utilizar haciendo clic en la fórmula que te comparto a continuación.

Cada lunes envía los eventos de la semana de Google Calendar

¿Problemas recibiendo los emails?

Si no recibieras tu resumen semanal cabe la posibilidad de que estén entrando en tu bandeja de correo no deseado.

En última instancia podría suceder que la conexión con Google Calendar esté fallando, en cuyo lo sabrás si entras en el apartado «Mis tareas» de Botize y pulsas el botón Actividad.

En caso de fallo verás allí un mensaje de error que indicará la razón y lo que debes hacer para solucionarlo.

Puedes dejar cualquier duda o problema que se te presente en los comentarios de esta entrada.

Si te parece interesante recibir el resumen de tu agenda por email, puedes hacerlo con casi cualquier otro servicio de internet, o si por el contrario necesitas recibirlo por otra vía puedes modificarla para hacerlo vía Telegram o cualquier otro servicio que integre Botize. 

Cómo automatizar alertas por email

Avisos, notificaciones, recordatorios, eventos y hasta resultados de búsquedas puedes convertirlos en alertas que lleguen a tu bandeja de entrada cuando los necesites.

Solo aquellos servicios que nos permiten recibir notificaciones ante ciertos eventos nos liberan de la necesidad de realizar comprobaciones rutinarias y ayudan a optimizar nuestro tiempo, sin embargo, cuando no es así podemos recurrir a herramientas de automatización.

Para automatizar alertas vía email se requiere un sistema con la capacidad de monitorizar la actividad de la aplicación, servicio o dispositivo que corresponda. De acuerdo a los datos y métricas extraídas y un conjunto de reglas definidas por el usuario, se desencadenará, si procede, el envío de la notificación al destinatario correspondiente.

Si tú también te has identificado repitiendo patrones de búsqueda, comprobaciones o hasta enviándote recordatorios a ti mismo, posiblemente puedas automatizarlo todo con alertas, la probabilidad de que así sea suele ser además proporcional a lo monótono o mecánico que resulte el proceso.

En mi bandeja de entrada tengo alertas de todo tipo, desde los resúmenes semanales de mis eventos programados en Google Calendar, hasta alertas que me avisan de qué páginas que suelo visitar se han actualizado hoy con información, vídeos o música nueva.

Si algo importante o interesante sucede o requiere mi atención, seguramente ya está en la bandeja de entrada esperando ser leído.

Para alertas críticas las notificaciones móviles pueden ser una alternativa al email, aunque también puedes etiquetar emails como «importantes» y que estos te lleguen en forma de notificación móvil.

En ambos casos el proceso que sigo para crear alertas sobre casi cualquier servicio en Internet es el que voy a detallarte a continuación y con el que espero tú también puedas automatizar y liberar parte de tu tiempo.

Estructura de una alerta vía email

Una alerta automática se basa por lo general en una secuencia de tres pasos. En el primero leemos los datos que formarán parte de la alerta:

  • URL de la página web
  • Fechas y eventos del calendario
  • Previsión meteorológica
  • etc

Y los que servirán para determinar si la alerta debe o no enviarse:

  • Fecha creación del último post
  • Número total de eventos para los próximos 7 días
  • Temperatura
  • etc

En el segundo paso, aplicamos las reglas que determinarán si la lectura debe o no ser notificada:

  • La fecha de creación del último post es de las últimas 24 horas
  • Hay uno o más eventos para los próximos 7 días
  • La temperatura es superior o inferior a un umbral determinado
  • etc

El tercero y último paso se corresponde con el envío de la alerta, donde podemos además de personalizar el mensaje, incluir los datos obtenidos en la lectura.

Como se muestra en la imagen, es posible crear alertas usando únicamente la lectura y el envío del email, sin necesidad de establecer reglas:

  • Cada semana enviar el total facturado
  • Cada trimestre enviar un recordatorio
  • etc

Veamos el proceso paso a paso para crear una alerta vía email, aplicado a un ejemplo de tarea perfectamente automatizable pero que algunos hemos repetido manualmente más de una vez.

Una alerta automática vía email cada vez que un producto determinado de Amazon se actualiza

El objetivo es automatizar una tarea que monitorice la URL de un producto de Amazon y cada vez que detecte un cambio en la ficha, envíe una alerta vía email utilizando Botize.

En Botize la lectura de datos que comentábamos como primer paso equivale a seleccionar un servicio o aplicación de entre todas las que integra (Twitter, Instagram, Dropbox, Google Drive, etc).

En este caso haremos uso del servicio URL Inspector, diseñado para automatizar distintas operaciones con direcciones HTTP o HTTPS de Internet.

Comencemos por entrar en la sección de URL Inspector haciendo un clic en el siguiente enlace: https://botize.com/es/app/site_inspector

Haz un clic en el botón «Crear nueva tarea» para comenzar una tarea usando el inspector de URLs.

Botize te muestra ahora en el editor de tareas las distintas operaciones que puedes automatizar.

Selecciona la opción «Si la web ha sido actualizada«.

A continuación se muestran las distintas opciones que puedes personalizar.

En nuestro caso solo debemos pegar la URL del producto de Amazon que queremos monitorizar dentro del campo «Dirección URL de la web«.

Haz un clic en Siguiente para continuar y Botize te mostrará distintos servicios y aplicaciones que puedes automatizar en caso de que el contenido de la URL indicada se haya actualizado.

En caso de que la URL se haya actualizado queremos que nos envíe un email, por lo que seleccionaremos el servicio Botize Mail, haciendo clic en el correspondiente icono como se muestra en la imagen siguiente.

Nuevamente Botize nos muestra las distintas operaciones que podemos automatizar con Botize Mail. Selecciona la opción «Enviar un email desde bot@botize.com«.

La cuenta bot@botize.com es una cuenta que ofrece Botize para automatizar el envío de mails. Lo único que necesitamos hacer es indicar el destinatario del correo, el asunto y el cuerpo del mensaje.

He indicado el mail en el que quiero recibir la alerta, el asunto y el cuerpo. He decidido también incluir la URL en el propio cuerpo del mensaje, de manera que cuando reciba la alerta lo tenga a mano y pueda ir a la ficha del producto haciendo un clic en el enlace.

A continuación haz clic en Siguiente y aparecerá el siguiente mensaje.

Antes de poder recibir las alertas Botize necesita confirmar que el email que hemos indicado sea nuestro y para ello tenemos que enviar un mensaje desde nuestro email a bot@botize.com con el asunto BOTIZE.

Una vez enviado el email pulsa en el botón Verificar y se mostrará lo siguiente.

La tarea está configurada y lista para usarla. Pulsa el botón «Guardar cambios» y a partir de ahora Botize revisará cada hora si la ficha del producto se ha actualizado, enviándote una alerta cada vez que lo haga.

Cómo modificar una alerta

Desde el apartado «Mis tareas» del menú principal accederás a tus tareas. Haciendo clic en cualquier de ellas se abrirá en el editor de tareas donde podrá seguir haciendo cambios.

Al finalizar vuelve a pulsar el botón de «Guardar cambios» y estos quedarán aplicados.

Cómo eliminar una alerta

Desde el apartado «Mis tareas» haz clic en la flecha que queda situada a la derecha de la tarea y se desplegarán las distintas opciones que puedes llevar a cabo con ella.

Pulsa el botón de Eliminar y esta quedará borrada.

Solucionar problemas al crear alertas

Al validar tu email enviando el correo a bot@botize.com es posible que tarde unos segundos en llegar. Si pulsando el botón de Verificar Botize te indica que no ha recibido tu email revisa que tu correo se haya enviado y vuelve a intentarlo pasado unos segundos.

Si una vez activada la tarea no recibes ninguna alerta puede deberse a que no haya habido cambios en la URL y por lo tanto el sistema no necesite enviarte alertas, sin embargo puede suceder que los mails estén llegando a tu bandeja de correo no deseado y tengas que moverlos.

En última instancia podría suceder que la lectura de los datos esté fallando y en tal caso haya algún mensaje de error en la actividad de tu tarea. Para verlo entra en el apartado «Mis tareas» y entre las opciones de tu tarea haz un clic en el botón Actividad.

Alternativas a la notificación por email

Puedes configurar tus alertas para que lleguen por cualquier otra vía, como por ejemplo Telegram, Slack, Pushover, Gmail u Office365 entre muchas otras.

Aquí tienes un ejemplo de una tarea que te envía un mensaje directo por Twitter cuando detecta que una URL cambia.

Si lo prefieres puedes también enviar las alertas utilizando tu propio email o haciendo uso de tu cuenta de Gmail o de Office365.

Puedes comentar en esta entrada si necesitas ayuda con cualquiera de ellas o con algún caso en particular.

Cómo automatizar la publicación de tweets en franjas horarias

La automatización de contenido sin control hace mucho que dejó de ser efectiva y hacerlo de manera que se perciba natural, imitando comportamientos del usuario, se ha convertido en el objetivo a perseguir en las redes sociales.

Acotar las publicaciones automáticas a determinadas franjas horarias constituye uno de los primeros pasos hacia una automatización natural. Para hacerlo, además de necesitar establecer rangos horarios, es preciso introducir un componente de aleatoriedad que resulte en horas de publicación distintas pero dentro de las franjas establecidas.

A continuación quiero mostrarte los pasos que uso para automatizar la publicación de contenido en Twitter usando las mismas franjas horarias en las que habitualmente hago mis publicaciones manuales, de modo que puedas llevarlo a la práctica en tus automatizaciones.

Para este ejemplo supondremos que ya tenemos contenidos para publicar y que estos los tenemos guardados en un recipiente de Botize, que no es otra cosa que una base de datos gratuita donde volcar información propia como información que recojas de Internet usando tareas automáticas.

Supondré también que tienes una cuenta de Twitter conectada Botize, aunque si no es así hay una guía para conectarla.

Comencemos.

Crear una tarea con franjas horarias

Las tareas de Botize se ejecutan de acuerdo a una frecuencia que elijas: minutos, horas, días, semanas, meses y años.

Una vez estableces la frecuencia, la tarea que configures se ejecutará sistemáticamente cada vez que transcurra el tiempo que has definido y llevará a cabo las acciones que has indicado.

Como ya estarás pensando no queremos una tarea que publique contenido cada x horas, sino que lo haga a intervalos irregulares dentro de unas franjas establecidas, por lo que usaremos los filtros de Botize.

Los filtros nos permiten establecer reglas o condiciones dentro de una tarea, de modo que si se cumplen la tarea continúa con su ejecución y sino la tarea se detendrá hasta que transcurra el tiempo y le toque ejecutarse otra vez, así de sencillo.

Mediante filtros estableceremos las franjas horarias, de manera que cada vez que se ejecute la tarea esta se detenga dependiendo de la hora o incluso del día de la semana o mes.

Comencemos creando por lo tanto una tarea automática que se ejecute cada hora y, dependiendo de un filtro donde indicaremos las franjas horarias, se apague o prosiga con la publicación de contenido en Twitter.

Haz clic en este enlace para ir al apartado de filtros de Botize:

https://botize.com/es/app/btzfilters

Pulsa el botón «Crear nueva tarea» y te redirigirá al editor de tareas de Botize.

Botize te muestra las distintas operaciones que puedes automatizar con la herramienta de filtros.

Selecciona la opción «Si cumple las condiciones«.

Establezcamos la condición por la cual la tarea proseguirá o se detendrá en este punto. 

Para ello haz clic en «Selecciona una condición» y elige la opción «La hora debe ser…«

A continuación se muestran las distintas horas del día. Selecciona las horas en las que la tarea podrá publicar en Twitter. En mi caso he seleccionado las 9h y las 20h.

Puedes añadir más filtros si lo necesitas, por ejemplo para especificar, además de las horas, los días de la semana en los que se podrá publicar en Twitter.

Para ello haz un clic en el botón «+» que queda situado debajo de la regla.

Esto nos ha creado una segunda regla. Vamos a indicar ahora qué días de la semana le estará permitido publicar. En mi caso será los lunes, miércoles y viernes.

Con esto ya hemos terminado definiendo los filtros. Haz clic en el botón Siguiente para continuar.

Botize te muestra ahora algunos de los servicios que puedes automatizar como paso siguiente a los filtros.

En nuestro caso y dado que hemos dicho que el contenido de los tweets estaría guardado en un recipiente de Botize, haremos clic en el icono de recipientes como puedes ver en la siguiente imagen.

Si en tu caso particular el contenido proviene de otro servicio, como por ejemplo un canal RSS, WordPress o incluso otra red social, tendrías que hacer clic en el icono correspondiente.

Seleccionado el icono de recipientes de Botize se nos muestran las distintas operaciones que podemos automatizar con este servicio.

Selecciona la opción «Si hay elementos en un recipiente«. Esta opción se encarga de extraer un contenido del recipiente cada vez que se ejecute la tarea y pararse en caso de no haber.

A continuación puedes ver las distintas opciones de configuración que podemos personalizar.

En el campo Recipiente he seleccionado el llamado «noticias» y que no es otro que el recipiente donde tengo guardado los distintos contenidos que necesito publicar en Twitter. Si te interesa estas noticias provienen de otra automatización que puedes ver aquí.

En el campo «Orden de extracción» tengo seleccionado que se extraigan en orden aleatorio. Elige el orden que tenga más sentido para tu caso.

Por último el campo «Mantener los elementos en el recipiente después de su uso» nos permite indicar si queremos que al extraer un elemento este se elimine del recipiente o, por el contrario, quede siempre una copia guardada.

En mi caso no me interesa que una misma noticia se publique más de una vez, por lo que he decidido no marcar la casilla, de modo que al extraer una y publicarla en Twitter se elimina del recipiente, no volviéndose a publicar en ningún otro momento.

Una vez personalizado a tu gusto estas opciones pulsa el botón Siguiente.

Las tareas de Botize tienen por lo general 3 pasos, en nuestro caso: Temporizador + Filtros + Recipientes, por lo que llegados a este punto Botize nos da la opción de terminar aquí, sin embargo aún nos falta añadir dos pasos más como vamos a ver.

El modo en que añadimos nuevos pasos a una tarea es por medio del icono «+» que queda situado a la derecha de cada paso.

Puesto que el siguiente paso lo vamos a ubicar después del recipiente, haz un clic en el icono del «+» que hay situado justo a la derecha del icono del recipiente y comprueba como se habilita un nuevo espacio.

En este nuevo paso vamos a introducir una pausa en la tarea.

Comentábamos al principio que para imitar el comportamiento natural de un usuario usamos franjas horarias con un componente de aleatoriedad.

Es decir, queremos que las publicaciones se lleven a cabo alrededor de las 9h y alrededor de las 20h, imitando las franjas horarias en las que personalmente suelo publicar en Twitter.

Para evitar que la publicación se ejecute exactamente a las 9:00h y 20:00h respectivamente, vamos a introducir una pausa de duración variable, por ejemplo de entre 1 y 59 minutos, de tal modo que las publicaciones se realicen en algún momento entre las 9:00 y 9:59h y entre las 20:00 y 20:59h.

Selecciona el icono de «Tareas de Botize» que se muestra en la siguiente imagen.

De las distintas operaciones que se pueden automatizar con esta herramienta elige «Hacer una pausa«.

Ahora establece una duración mínima y máxima para la pausa, por ejemplo de 1 a 59 minutos.

Una vez establecido la duración de la pausa haz clic en Siguiente y habremos terminado con este paso.

Vuelve a crear un nuevo paso en la tarea, esta vez pulsando el icono de «+» que hay a la derecha de «Hacer una pausa» y elige el icono de Twitter, que será nuestro último paso y donde mandaremos publicar el contenido del recipiente.

De entre las distintas operaciones que puedes automatizar con Twitter selecciona «Publicar un tweet«.

Ahora especificaremos cual será el contenido del mensaje dentro del campo Tweet.

Al hacer un clic dentro de este campo se muestran distintas etiquetas que puedes utilizar y que se corresponden con elementos generados en los pasos anteriores.

Puedes conformar el mensaje del tweet como tú quieras. En mi caso quiero que el contenido del tweet sea la URL o enlace de la noticia. Al hacerlo así Twitter ya se encargará de incluir la miniatura, fotografía o vídeo de la noticia en cuestión.

El resultado queda como se muestra en la siguiente imagen.

Antes de guardar la tarea, nos queda configurar un detalle. Siempre que trabajemos con horas debemos asegurarnos de que la tarea tenga seleccionada la zona horaria correcta.

Para ello haz un clic en el primer paso, el del temporizador (señalado con el icono de un reloj).

Ahora en el campo «Zona horaria» selecciona el que corresponda con tu ubicación.

Con este último ajuste ya es hora de guardar y probar nuestra tarea. Pulsa el botón «Guardar cambios» y podrás comprobar el resultado cuando llegue la hora de tu siguiente franja horaria.

Si quieres utilizar la misma tarea automática que la de este ejemplo sin tener que crearla paso a paso la tienes en el siguiente enlace.

Publica en Twitter contenido de un recipiente entre las 9 y 10h y entre las 20 y 21h

Si tienes alguna duda puedes dejarla en los comentarios de esta entrada.