Twitter como registrador de operaciones
Publicado: 11 Abr 2012 11:43
El objetivo de lo que se expone a continuación es dar una herramienta para registrar operaciones en algún sitio web donde no quepa duda de que no podemos controlar y alterar el sello de tiempo que cogen los mensajes que mandamos. Está pensado sobre todo para registrar operaciones desde sistemas automáticos, pero al final se da una pauta que puede ser muy interesante para los operadores manuales. Y por otra parte, ese sitio web debe dejarse mensajear desde nuestros códigos fuente (a ser posible, facilmente).
El humano que opera directamente, tiene a su disposición el propio Twitter tal y como es usualmente utilizado, y otras muchas herramientas para publicar tweets, así como otros entornos donde podrá coger un sello de tiempo para sus señales. No obstante, al final de este artículo, como acabo de decir, doy algo propio para estos usuarios.
En este caso el sitio web elegido es Twitter, no sin cierto mal sabor de boca y casi arrepentimiento. Yo no tengo cuenta personal en Twitter, pero tratándose de un "microblogging" teoricamente muy pensado, de uso muy extendido, y sabiendo que ofrece un API, esperaba más, bastante más, del acercamiento que Twitter hace de este API a los desarrolladores (de muchos niveles y lenguajes de programación). Esto es desde hace un tiempo más necesario porque Twitter cambió la forma de auntentificar las conexiones, desde el típico embutido de usuario y contraseña tradicional, al protocolo OAuth, que tiene sus ventajas evidentes, pero hay que acercarlo más a los desarrolladores en su uso para la plataforma en cuestión.
Tenía pensado dar código fuente y un programa ejecutable basado en ese código para poder utilizar, según necesidades, en vuestros sistemas automáticos. He intentado hacerme con el protocolo OAuth en plan rápido desde el lenguaje al uso que manejo (Visual Basic), pero no es cosa de "en plan rápido", y como tampoco he encontrado cosas hechas en VB, salvo basadas DLLs de 149 $ y cosas parecidas (en C sí hay alguna cosa más), pues tengo que quedarme solo con la segunda parte del objetivo.
No tengo código fuente que ofrecer, pero sí he encontrado una herramienta que permite enviar tweets desde la linea de comandos de Windows. Con esto, desde cualquier lenguaje de programación de propósito general (Visual Basic, Cs varios, etc), podemos invocar a este programa, para que envie los tweets con las señales u operaciones.
Por otra parte, y ya en la pura dinámica de Twitter, cada uno de vosotros decidirá a quién y cuándo dejarle entrar a ver las operaciones, dándole al contenido bien un caracter más tipo señales, o puramente de registro.
Al grano.
Evidentemente, para utilizar este tinglado, tenéis que tener una cuenta en Twitter.
La aplicación de tweets por linea de comandos, se llama Cleat, su web es http://catfood.net/products/cleat/, y el enlace directo para descargarla es http://catfood.net/products/CleatSetup.exe.
Es shareware, pero para usos como el nuestro, gratuito. Para usuarios no comerciales, dice el License Agreement que tiene un "registration payment of $0.00", o sea, gratuito. Parece que lo único que quieren es que si se usa habitualmente, se registre la copia, y si quieres te avisan de novedades (no es mucho pedir y si así lo quieren, se lo merecen). Por si queréis ir directamente a la página de registro, es http://catfood.net/products/register.aspx?product=Cleat.
La bajáis, la instaláis (requiere .NET 4.0. Si no lo tenéis, el instalador lo bajará e instalará, puede tardar unos minutos...).
Si lo ejecutais con cleat a secas o con cleat /? en el símbolo de sistema del interfaz tipo MS-DOS de Windows, y estando en la ruta de instalación del programa (C:\Archivos de programa\Catfood Cleat\, o C:\Program Files\Catfood Cleat), da la ayuda básica del programa:
Catfood Cleat 1.00.0053 Copyright (c) Catfood Software 2011
Usage:
cleat add Add a Twitter account
cleat list List Twitter accounts (handles)
cleat remove handle Remove Twitter account by handle
cleat handle "tweet" Send tweet from handle
al ejecutar la opción de añadir una cuenta para mandar tweets (puede manejar varias):
cleat add
abre el navegador que utillicéis y va a Twitter para que, dando el usuario y contraseña de la cuenta, Twitter dé un PIN que estará esperando Cleat para que antre ambos establezcan una conexión OAuth para esa cuenta a partir de ese momento y se permita a esa instalación de Cleat, twittear sobre esa cuenta.
Una vez dado el PIN, Cleat dice
Added <nombre cuenta>
y a partir de ese momento, podéis publicar tweets con una instrucción sencilla:
cleat <nombre cuenta> "<tweet>"
intrucción que podeís dar desde un código fuente; en Visual Basic, con la intrucción Shell: (http://msdn.microsoft.com/es-es/library ... 80%29.aspx).
Intentando utilizar Shell con Cleat en Visual Basic, con instrucciones del tipo
Shell """C:\Archivos de programa\Catfood Cleat\cleat.exe""" & " <nombre cuenta> " & "" & tweet & ""
(tweet es la variable en la que he almacenado la cadena a publicar)
no me han funcionado, quizá por las comillas que quiere Cleat para encerrar el tweet, y no he dado con la fórmula o no la hay. Tampoco he probado mucho, pero he solucionado el problema con un .BAT que he llamado tweet.bat, situado en la misma ruta de instalación del Cleat, y que contiene lo siguiente:
--------------------------------------------------- tweet.bat:
@echo off
cd C:\Archivos de programa\Catfood Cleat
set tweet=
:Comienzo
set tweet=%tweet% %1
shift
if "%1"=="" goto Final
goto Comienzo
:Final
cleat <nombre cuenta> "%tweet%"
---------------------------------------------------
No olvidéis sustituir <nombre cuenta> por el nombre de vuestra cuenta en Twitter, y la ruta donde esté Cleat.exe y tweet.bat.
Con ello, la instrucción Visual Basic con la que sí me funciona es:
Shell """C:\Archivos de programa\Catfood Cleat\tweet.bat""" & " " & tweet, vbHide
en la que incluyo la ejecución en modo oculto para que no molesten las ventanas de ejecución que se desencadenan.
¿Y el formato para la señal u operación?. Eso ya es cosa muy de cada uno, yo os hago una sugerencia con un cuasi ejemplo - definición:
"DD-MM-AA, HH:MM: F.DAX cotización: N.NNN,N. Sistema: <nombre sistema>. Operación: COMPRAR" Análogamente se haría para VENDER, CERRAR POSICIÓN, CERRAR INTRADÍA, etc.
tweet.bat puede ser usado también para mandar tweets manualmente ahorrándonos tener que teclear el nombre de nuestra cuenta y las comillas del tweet, pudiendo mandar tweets desde el símbolo del sistema, estando en la ruta de instalación de Cleat y tweet.bat, con instrucciones manuales tan sencillas como
tweet Este sería el texto de un tweet <intro>
Y para escribir menos, si se renombra el fichero tweet.bat p. ej. como t.bat, el tweet se puede mandar solo con
t Este sería el texto de un tweet <intro>
La utilización de una utilidad en linea de comandos era el plan B, ya que el plan A (tener código fuente propio) aun nos daría mayor control y posibilidades. Aun había un plan C; mandar los tweets por correo-e (el envío de correos-e desde código fuente se entiende conocido y controlado). Por si a alguien le interesa esta opción, se puede hacer a través del servicio (gratuito en la opción básica) que da tweetymail.com.
Esperando os sea de utilidad. Un saludo.
El humano que opera directamente, tiene a su disposición el propio Twitter tal y como es usualmente utilizado, y otras muchas herramientas para publicar tweets, así como otros entornos donde podrá coger un sello de tiempo para sus señales. No obstante, al final de este artículo, como acabo de decir, doy algo propio para estos usuarios.
En este caso el sitio web elegido es Twitter, no sin cierto mal sabor de boca y casi arrepentimiento. Yo no tengo cuenta personal en Twitter, pero tratándose de un "microblogging" teoricamente muy pensado, de uso muy extendido, y sabiendo que ofrece un API, esperaba más, bastante más, del acercamiento que Twitter hace de este API a los desarrolladores (de muchos niveles y lenguajes de programación). Esto es desde hace un tiempo más necesario porque Twitter cambió la forma de auntentificar las conexiones, desde el típico embutido de usuario y contraseña tradicional, al protocolo OAuth, que tiene sus ventajas evidentes, pero hay que acercarlo más a los desarrolladores en su uso para la plataforma en cuestión.
Tenía pensado dar código fuente y un programa ejecutable basado en ese código para poder utilizar, según necesidades, en vuestros sistemas automáticos. He intentado hacerme con el protocolo OAuth en plan rápido desde el lenguaje al uso que manejo (Visual Basic), pero no es cosa de "en plan rápido", y como tampoco he encontrado cosas hechas en VB, salvo basadas DLLs de 149 $ y cosas parecidas (en C sí hay alguna cosa más), pues tengo que quedarme solo con la segunda parte del objetivo.
No tengo código fuente que ofrecer, pero sí he encontrado una herramienta que permite enviar tweets desde la linea de comandos de Windows. Con esto, desde cualquier lenguaje de programación de propósito general (Visual Basic, Cs varios, etc), podemos invocar a este programa, para que envie los tweets con las señales u operaciones.
Por otra parte, y ya en la pura dinámica de Twitter, cada uno de vosotros decidirá a quién y cuándo dejarle entrar a ver las operaciones, dándole al contenido bien un caracter más tipo señales, o puramente de registro.
Al grano.
Evidentemente, para utilizar este tinglado, tenéis que tener una cuenta en Twitter.
La aplicación de tweets por linea de comandos, se llama Cleat, su web es http://catfood.net/products/cleat/, y el enlace directo para descargarla es http://catfood.net/products/CleatSetup.exe.
Es shareware, pero para usos como el nuestro, gratuito. Para usuarios no comerciales, dice el License Agreement que tiene un "registration payment of $0.00", o sea, gratuito. Parece que lo único que quieren es que si se usa habitualmente, se registre la copia, y si quieres te avisan de novedades (no es mucho pedir y si así lo quieren, se lo merecen). Por si queréis ir directamente a la página de registro, es http://catfood.net/products/register.aspx?product=Cleat.
La bajáis, la instaláis (requiere .NET 4.0. Si no lo tenéis, el instalador lo bajará e instalará, puede tardar unos minutos...).
Si lo ejecutais con cleat a secas o con cleat /? en el símbolo de sistema del interfaz tipo MS-DOS de Windows, y estando en la ruta de instalación del programa (C:\Archivos de programa\Catfood Cleat\, o C:\Program Files\Catfood Cleat), da la ayuda básica del programa:
Catfood Cleat 1.00.0053 Copyright (c) Catfood Software 2011
Usage:
cleat add Add a Twitter account
cleat list List Twitter accounts (handles)
cleat remove handle Remove Twitter account by handle
cleat handle "tweet" Send tweet from handle
al ejecutar la opción de añadir una cuenta para mandar tweets (puede manejar varias):
cleat add
abre el navegador que utillicéis y va a Twitter para que, dando el usuario y contraseña de la cuenta, Twitter dé un PIN que estará esperando Cleat para que antre ambos establezcan una conexión OAuth para esa cuenta a partir de ese momento y se permita a esa instalación de Cleat, twittear sobre esa cuenta.
Una vez dado el PIN, Cleat dice
Added <nombre cuenta>
y a partir de ese momento, podéis publicar tweets con una instrucción sencilla:
cleat <nombre cuenta> "<tweet>"
intrucción que podeís dar desde un código fuente; en Visual Basic, con la intrucción Shell: (http://msdn.microsoft.com/es-es/library ... 80%29.aspx).
Intentando utilizar Shell con Cleat en Visual Basic, con instrucciones del tipo
Shell """C:\Archivos de programa\Catfood Cleat\cleat.exe""" & " <nombre cuenta> " & "" & tweet & ""
(tweet es la variable en la que he almacenado la cadena a publicar)
no me han funcionado, quizá por las comillas que quiere Cleat para encerrar el tweet, y no he dado con la fórmula o no la hay. Tampoco he probado mucho, pero he solucionado el problema con un .BAT que he llamado tweet.bat, situado en la misma ruta de instalación del Cleat, y que contiene lo siguiente:
--------------------------------------------------- tweet.bat:
@echo off
cd C:\Archivos de programa\Catfood Cleat
set tweet=
:Comienzo
set tweet=%tweet% %1
shift
if "%1"=="" goto Final
goto Comienzo
:Final
cleat <nombre cuenta> "%tweet%"
---------------------------------------------------
No olvidéis sustituir <nombre cuenta> por el nombre de vuestra cuenta en Twitter, y la ruta donde esté Cleat.exe y tweet.bat.
Con ello, la instrucción Visual Basic con la que sí me funciona es:
Shell """C:\Archivos de programa\Catfood Cleat\tweet.bat""" & " " & tweet, vbHide
en la que incluyo la ejecución en modo oculto para que no molesten las ventanas de ejecución que se desencadenan.
¿Y el formato para la señal u operación?. Eso ya es cosa muy de cada uno, yo os hago una sugerencia con un cuasi ejemplo - definición:
"DD-MM-AA, HH:MM: F.DAX cotización: N.NNN,N. Sistema: <nombre sistema>. Operación: COMPRAR" Análogamente se haría para VENDER, CERRAR POSICIÓN, CERRAR INTRADÍA, etc.
tweet.bat puede ser usado también para mandar tweets manualmente ahorrándonos tener que teclear el nombre de nuestra cuenta y las comillas del tweet, pudiendo mandar tweets desde el símbolo del sistema, estando en la ruta de instalación de Cleat y tweet.bat, con instrucciones manuales tan sencillas como
tweet Este sería el texto de un tweet <intro>
Y para escribir menos, si se renombra el fichero tweet.bat p. ej. como t.bat, el tweet se puede mandar solo con
t Este sería el texto de un tweet <intro>
La utilización de una utilidad en linea de comandos era el plan B, ya que el plan A (tener código fuente propio) aun nos daría mayor control y posibilidades. Aun había un plan C; mandar los tweets por correo-e (el envío de correos-e desde código fuente se entiende conocido y controlado). Por si a alguien le interesa esta opción, se puede hacer a través del servicio (gratuito en la opción básica) que da tweetymail.com.
Esperando os sea de utilidad. Un saludo.