Ya hemos visto en las clases anteriores cómo [recopilar los datos de las APIs](https://steemit.com/spanish/@mondeja/curso-de-programacion-de-criptomonedas-en-python-2-como-empezar-llamadas-a-apis) usando [las claves de los diccionarios](https://steemit.com/spanish/@mondeja/curso-de-programacion-de-criptomonedas-con-python-4-recopilar-datos-uno-a-uno-diccionarios) y [los índices de las listas](https://steemit.com/spanish/@mondeja/curso-de-programacion-de-criptomonedas-con-python-5-recopilar-datos-uno-a-uno-listas). Ahora vamos a usar todo esto junto, a través de las [envolturas](https://steemit.com/spanish/@mondeja/curso-de-programacion-de-criptomonedas-en-python-3-envolturas), para crear un informe sobre la monedas STEEM y enviarlo a nuestro correo. <center>https://img1.steemit.com/0x0/https://s16.postimg.org/mx0rdgp8l/Pics_Art_10_20_09_43_49.png</center> ### Las funciones ¿Recuerdas que en la lección anterior hacíamos la siguiente llamada? ~~~ from bittrex import bittrex info_steem = bittrex.getmarketsummary('BTC-STEEM') print info_steem ~~~ Lo que estábamos haciendo era llamar a una función. La segunda línea significa que la variable `info_steem` se referirá a una llamada a la clase `bittrex`, que es el nombre de la clase en la envoltura bittrex. La función que tomamos de esa clase es `getmarketsummary()`. Para referirnos a una función dentro de una clase utilizamos el `.` A las funciones se le pueden pasar parámetros. Esta función requería que le indicásemos el mercado a cuya información queremos acceder, en este caso`'BTC-STEEM'`. Los parámetros que pasamos a las funciones se escriben entre comillas simples `'` o dobles `"`. Si hay más de un parámetro los separamos por `,` ### Bot informador de STEEM Vamos a crear nuestra primera aplicación en Python. Se tratará de un pequeño bot que haga llamadas a las APIs de Coinmarketcap, Bittrex y Poloniex. Nos informará sobre el último precio de STEEM en Bittrex y en Poloniex, así como el porcentaje de cambio en 24 horas y en 7 días en Coinmarketcap. <center>https://s22.postimg.org/qe2ohxpgx/bot_info_steem.jpg</center> Para ello, vamos a crear una carpeta y dentro vamos a meter las envolturas de coinmarketcap, bittrex y poloniex. Las dos primeras puedes encontrarlas en clases anteriores, la última [aquí](http://pastebin.com/fbkheaRb). Cuando tengamos las 3, creamos un archivo .py con el nombre que más nos guste e importamos las envolturas con el siguiente código: ~~~ #!/usr/bin/env python # -*- coding: utf-8 -*- import smtplib, ast from bittrex import bittrex from poloniex import poloniex from coinmarketcap import Market ~~~ En este código vemos dos formas de importar librerías diferentes. En la primera línea `smtplib` indica una librería python que usaremos para enviar correos electrónicos. Abajo verás para qué sirve la segunda librería. Las demás líneas indican: `from` (del archivo), nombre del archivo, importa una clase. Si vamos a las envolturas veremos que las clases que las forman tienen los nombres bittrex, poloniex y Market. ### API Key y API Secret Las envolturas de bittrex y poloniex requieren que introduzcamos unos parámetros adicionales para funcionar. Son las claves que las exchanges nos proporcionan para operar desde sus APIs. Para conseguirlas debemos ir a las preferencias de nuestra cuenta en las exchanges y las introducimos a nuestro código de la siguiente manera: ~~~ bittrex = bittrex('Tu APIKEY', 'Tu APISECRET') poloniex = poloniex('Tu APIKEY', tu APISECRET') coinmarketcap = Market() ~~~ Con esto entiendo que asumes los riesgos que conlleva el no tener [encriptada](http://www.pcactual.com/noticias/trucos/como-encriptar-asegurar-datos-sensibles-2_3374) la información sensible guardada en tu ordenador, así como el uso inconsciente de las APIs de las exchanges. ### Recopilando los datos Ahora vamos a recopilar los datos que necesitamos. Primero agregamos el último precio en Bittrex. Para saber cómo conseguirlo vamos a la [documentación de la API de Bittrex](https://bittrex.com/Home/Api). Allí buscamos cual es la llamada que debemos realizar para conseguir ese dato. En este caso será 'getmarketsummary'. Entonces nos vamos a bittrex.py y comprobamos cómo se llama la función que realiza esa llamada. Casi siempre, los creadores de las envolturas le ponen el mismo nombre para no marear la perdiz. Él código será el siguiente: ~~~ steem_bittrex = bittrex.gettticker('BTC-STEEM') ultimo_steem_bittrex = steem_bittrex['Last'] ~~~ En las clases anteriores aprendimos que significa esto. Llamamos a la clase `bittrex` ubicada en bittrex.py, le pasamos la función `getticker()` y su argumento `'BTC-STEEM'`. Del diccionario que obtenemos con toda la información del par BTC-STEEM seleccionamos la clave que indica el último precio con `['Last']` Intenta obtener el precio en Poloniex usando su envoltura y la documentación de su API. Cuando hayamos recopilado todos los datos debería quedarnos algo así: ~~~ steem_bittrex = bittrex.getticker('BTC-STEEM') ultimo_steem_bittrex = steem_bittrex['Last'] ultimo_steem_poloniex = poloniex.returnTicker().get('BTC_STEEM')['last'] coinmarket_steem = ast.literal_eval(coinmarketcap.ticker('steem')) porcentaje_24h = coinmarket_steem[0]['percent_change_24h'] porcentaje_7d = coinmarket_steem[0]['percent_change_7d'] ~~~ Las dos cosasnuevas que vemos aquí es la librería ast que importamos al principio, (con la API de coinmarketcap hay que usarla, ya que esta API nos devuelve los datos en formato de cadena de caracteres), además de `.get` en la llamada a poloniex. Para más información sobre esto [click aquí](http://librosweb.es/libro/python/capitulo_8/metodos_de_retorno.html). `ast.literal_eval()` es una función que sirve para convertir las cadenas de texto en lo que detecte la librería, en este caso dos diccionarios anidados. Si no usamos ast no podremos acceder a los datos que hay dentro del diccionario. Para saber que tipo de dato nos está retornando coinmarketcap podemos usar la función `type()`, así: ~~~ print type(coinmarketcap.ticker('steem')) ~~~ Otro punto a tener en cuenta es que coinmarketcap nos pide el nombre completo de la moneda al pasarle el parámetro. No funcionará si le pasamos 'BTC', hay que escribir 'bitcoin'. Para comprobar si lo hemos hecho bien imprimimos los datos: ~~~ print ultimo_steem_bittrex print ultimo_steem_poloniex] print porcentaje_24h print porcentaje_7d ~~~ En la segunda parte veremos como enviarlos a nuestro correo bien ordenados, ¡hasta entonces! _________________________________________ ### <center>Índice del curso:</center> <center>[1. Presentación](https://steemit.com/spanish/@mondeja/curso-de-programacion-de-criptomonedas-en-python-1-presentacion)</center><center>[2. Cómo empezar: llamadas a APIs](https://steemit.com/spanish/@mondeja/curso-de-programacion-de-criptomonedas-en-python-2-como-empezar-llamadas-a-apis)</center><center>[3. Envolturas](https://steemit.com/spanish/@mondeja/curso-de-programacion-de-criptomonedas-en-python-3-envolturas)</center><center>[4. Recopilar datos uno a uno: diccionarios](https://steemit.com/spanish/@mondeja/curso-de-programacion-de-criptomonedas-con-python-4-recopilar-datos-uno-a-uno-diccionarios)</center><center>[5. Recopilar datos uno a uno: listas](https://steemit.com/spanish/@mondeja/curso-de-programacion-de-criptomonedas-con-python-5-recopilar-datos-uno-a-uno-listas)</center>
author | mondeja |
---|---|
permlink | curso-de-programacion-de-criptomonedas-en-python-6-funciones-crear-un-bot-informador-de-steem-parte-1-2 |
category | spanish |
json_metadata | {"tags":["spanish","blockchain","criptomonedas","programming","mondeja"],"image":["https://img1.steemit.com/0x0/https://s16.postimg.org/mx0rdgp8l/Pics_Art_10_20_09_43_49.png","https://s22.postimg.org/qe2ohxpgx/bot_info_steem.jpg"],"links":["https://steemit.com/spanish/@mondeja/curso-de-programacion-de-criptomonedas-en-python-2-como-empezar-llamadas-a-apis","https://steemit.com/spanish/@mondeja/curso-de-programacion-de-criptomonedas-con-python-4-recopilar-datos-uno-a-uno-diccionarios","https://steemit.com/spanish/@mondeja/curso-de-programacion-de-criptomonedas-con-python-5-recopilar-datos-uno-a-uno-listas","https://steemit.com/spanish/@mondeja/curso-de-programacion-de-criptomonedas-en-python-3-envolturas","http://pastebin.com/fbkheaRb","http://www.pcactual.com/noticias/trucos/como-encriptar-asegurar-datos-sensibles-2_3374","https://bittrex.com/Home/Api","http://librosweb.es/libro/python/capitulo_8/metodos_de_retorno.html","https://steemit.com/spanish/@mondeja/curso-de-programacion-de-criptomonedas-en-python-1-presentacion"]} |
created | 2016-10-26 07:23:42 |
last_update | 2016-10-28 07:53:18 |
depth | 0 |
children | 7 |
last_payout | 2016-11-26 15:09:21 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 12.845 HBD |
curator_payout_value | 4.204 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 7,377 |
author_reputation | 9,894,814,339,118 |
root_title | "Curso de programación de criptomonedas con Python - 6. Funciones. Crear un bot informador de STEEM (parte 1/2)" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 1,622,828 |
net_rshares | 34,672,854,342,496 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
anonymous | 0 | 146,696,029,927 | 71% | ||
val-b | 0 | 5,990,672,002,306 | 39% | ||
ned | 0 | 22,729,476,375,753 | 39% | ||
lafona-miner | 0 | 1,098,205,158,286 | 39% | ||
delegate.lafona | 0 | 598,466,439,874 | 39% | ||
lafona5 | 0 | 111,741,402,337 | 39% | ||
wang | 0 | 870,085,025,138 | 71% | ||
boy | 0 | 5,647,579,411 | 100% | ||
bue-witness | 0 | 6,866,768,912 | 100% | ||
bunny | 0 | 1,166,212,801 | 100% | ||
bue | 0 | 104,913,174,160 | 100% | ||
mini | 0 | 3,024,601,048 | 100% | ||
moon | 0 | 387,245,923 | 100% | ||
joseph | 0 | 864,239,088,536 | 30% | ||
masteryoda | 0 | 16,710,178,449 | 1% | ||
proctologic | 0 | 14,729,869,889 | 100% | ||
healthcare | 0 | 1,134,570,816 | 100% | ||
daniel.pan | 0 | 1,778,581,709 | 100% | ||
chitty | 0 | 296,795,412,027 | 100% | ||
patrice | 0 | 3,799,848,795 | 40% | ||
helen.tan | 0 | 522,606,007 | 100% | ||
yefet | 0 | 10,024,433,635 | 40% | ||
asmolokalo | 0 | 112,334,616,908 | 33% | ||
anyx | 0 | 325,329,587,851 | 40% | ||
karen13 | 0 | 3,366,959,241 | 40% | ||
jza | 0 | 7,877,249,372 | 100% | ||
streetstyle | 0 | 82,921,464,119 | 100% | ||
liberosist | 0 | 339,355,441,873 | 100% | ||
shredlord | 0 | 12,565,116,615 | 100% | ||
ang3l | 0 | 116,245,781 | 100% | ||
jl777 | 0 | 152,814,214,058 | 40% | ||
oecp85 | 0 | 6,193,867,884 | 100% | ||
mondeja | 0 | 3,131,204,305 | 100% | ||
proto | 0 | 12,138,005,241 | 40% | ||
cheetah | 0 | 17,717,956,560 | 35% | ||
michaeldodridge | 0 | 32,669,889,478 | 100% | ||
shaka | 0 | 305,342,693,150 | 100% | ||
taker | 0 | 6,150,575,354 | 40% | ||
twinner | 0 | 152,812,031,853 | 50% | ||
laonie4 | 0 | 6,145,508,024 | 30% | ||
gargon | 0 | 57,213,721,959 | 100% | ||
pgarcgo | 0 | 34,815,983,265 | 100% | ||
thebotkiller | 0 | 3,288,511,076 | 40% | ||
xcepta | 0 | 4,709,949,322 | 100% | ||
cryptoeasy | 0 | 2,210,727,616 | 100% | ||
jlufer | 0 | 591,987,447 | 100% | ||
jenny28 | 0 | 429,047,364 | 100% | ||
drac59 | 0 | 1,576,698,533 | 100% | ||
meerkat | 0 | 76,797,941,768 | 100% | ||
zoee | 0 | 309,101,274 | 40% | ||
grisha-danunaher | 0 | 12,855,576,698 | 100% | ||
galvkajijora | 0 | 151,573,479 | 100% | ||
vibarbuzanrad | 0 | 161,254,441 | 100% | ||
durnkektilar | 0 | 151,611,890 | 100% | ||
ginewr | 0 | 154,424,517 | 100% | ||
akimianaraghma | 0 | 157,564,586 | 100% | ||
virtobolamust | 0 | 155,545,638 | 100% | ||
giggleodah | 0 | 158,716,131 | 100% | ||
imalunasunday | 0 | 155,445,612 | 100% | ||
serva | 0 | 152,576,185 | 100% | ||
ahead | 0 | 809,901,906 | 30% | ||
dinamospartaci | 0 | 151,623,833 | 100% | ||
newedecasces | 0 | 157,983,138 | 100% | ||
mireadina | 0 | 153,805,217 | 100% | ||
kenayamokus | 0 | 146,198,460 | 100% | ||
hukusnilarim | 0 | 152,380,529 | 100% | ||
darisarfaujas | 0 | 142,938,267 | 100% | ||
lauritayerw | 0 | 148,550,844 | 100% | ||
qwetqwet | 0 | 145,230,642 | 100% | ||
lerevesio | 0 | 150,544,766 | 100% | ||
jeweriolli | 0 | 144,387,368 | 100% | ||
mewecerra | 0 | 149,793,893 | 100% | ||
elena89 | 0 | 146,692,582 | 100% | ||
tario | 0 | 143,626,880 | 100% | ||
paverutinolzu | 0 | 149,687,681 | 100% | ||
laurawerecez | 0 | 140,469,162 | 100% | ||
onthax | 0 | 3,921,476,215 | 100% | ||
deniskagus | 0 | 149,090,050 | 100% | ||
vimia | 0 | 798,863,397 | 100% | ||
lerewderiity | 0 | 148,892,819 | 100% | ||
larenkop | 0 | 140,819,882 | 100% | ||
mixaponom | 0 | 146,527,315 | 100% | ||
lauravesco | 0 | 142,320,871 | 100% | ||
seisges | 0 | 4,055,600,635 | 100% | ||
retgineduh | 0 | 147,215,105 | 100% | ||
zhannai | 0 | 131,800,028 | 100% | ||
salimovaw | 0 | 146,368,472 | 100% | ||
carinae | 0 | 1,980,369,613 | 39% | ||
jonn | 0 | 145,995,852 | 100% | ||
snowfango | 0 | 142,923,563 | 100% | ||
kennett | 0 | 142,944,230 | 100% | ||
wendyr | 0 | 139,890,250 | 100% | ||
mecefelaura | 0 | 126,144,729 | 100% | ||
orsinewuk | 0 | 128,274,298 | 100% | ||
hugitiuse | 0 | 139,684,576 | 100% | ||
jonesw | 0 | 139,267,824 | 100% | ||
kindermix | 0 | 134,966,700 | 100% | ||
sergey33 | 0 | 140,687,234 | 100% | ||
bonde | 0 | 577,080,293 | 100% | ||
arpine | 0 | 1,211,439,465 | 100% | ||
dasdasdrt | 0 | 142,883,749 | 100% | ||
boriks | 0 | 139,971,397 | 100% | ||
mirecekiwela | 0 | 139,946,929 | 100% | ||
alya | 0 | 140,219,262 | 100% | ||
andranik | 0 | 142,848,696 | 100% | ||
mecebikebewer | 0 | 139,904,189 | 100% | ||
mecenimozerty | 0 | 139,886,356 | 100% | ||
refevikeura | 0 | 139,852,298 | 100% | ||
arsho | 0 | 139,815,802 | 100% | ||
limpoderebio | 0 | 138,525,645 | 100% | ||
thegoodvybe | 0 | 255,659,127 | 100% | ||
adelja | 0 | 123,551,594 | 100% | ||
neka | 0 | 128,564,048 | 100% | ||
sethroot | 0 | 126,158,426 | 100% | ||
pindopa | 0 | 440,904,187 | 100% | ||
elcotuo | 0 | 0 | 100% | ||
bo7cw | 0 | 0 | 100% | ||
jsosa | 0 | 0 | 100% |
Interesante, recomiendo el trabajo que hace @someguy123 el cual ha hecho una serie de utilerias como steemdb, steemdns y steem-utils en python. https://github.com/angelog/steam-utils
author | jza |
---|---|
permlink | re-mondeja-curso-de-programacion-de-criptomonedas-en-python-6-funciones-crear-un-bot-informador-de-steem-parte-1-2-20161027t013124979z |
category | spanish |
json_metadata | {"tags":["spanish"],"users":["someguy123"],"links":["https://github.com/angelog/steam-utils"]} |
created | 2016-10-27 01:31:24 |
last_update | 2016-10-27 01:31:24 |
depth | 1 |
children | 1 |
last_payout | 2016-11-26 15:09:21 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 183 |
author_reputation | 38,019,298,030,335 |
root_title | "Curso de programación de criptomonedas con Python - 6. Funciones. Crear un bot informador de STEEM (parte 1/2)" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 1,629,087 |
net_rshares | 0 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
mondeja | 0 | 0 | 0% |
Hey creo que te equivocas de link, esto es STEEM, steam es otra cosa para descargar juegos.
author | mondeja |
---|---|
permlink | re-jza-re-mondeja-curso-de-programacion-de-criptomonedas-en-python-6-funciones-crear-un-bot-informador-de-steem-parte-1-2-20161027t200727385z |
category | spanish |
json_metadata | {"tags":["spanish"]} |
created | 2016-10-27 20:07:33 |
last_update | 2016-10-28 06:11:06 |
depth | 2 |
children | 0 |
last_payout | 2016-11-26 15:09:21 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 92 |
author_reputation | 9,894,814,339,118 |
root_title | "Curso de programación de criptomonedas con Python - 6. Funciones. Crear un bot informador de STEEM (parte 1/2)" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 1,634,736 |
net_rshares | 0 |
This post has been linked to from another place on Steem. - [Proyecto Cervantes : Compensación y reconocimiento para escritores de habla hispana (Vol.36)](https://steemit.com/spanish/@pgarcgo/proyecto-cervantes-compensacion-y-reconocimiento-para-escritores-de-habla-hispana-vol-36) by @pgarcgo Learn more about and upvote to support [**linkback bot v0.5**](https://steemit.com/steemit/@ontofractal/steem-linkback-bot-v0-5-the-reddit-awareness-release). Flag this comment if you don't want the bot to continue posting linkbacks for your posts. Built by @ontofractal
author | linkback-bot-v0 |
---|---|
permlink | re-mondeja-curso-de-programacion-de-criptomonedas-en-python-6-funciones-crear-un-bot-informador-de-steem-parte-1-2-linkbacks |
category | spanish |
json_metadata | {} |
created | 2016-10-28 17:38:39 |
last_update | 2016-10-28 17:38:39 |
depth | 1 |
children | 0 |
last_payout | 2016-11-26 15:09:21 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 574 |
author_reputation | 1,915,954,976,722 |
root_title | "Curso de programación de criptomonedas con Python - 6. Funciones. Crear un bot informador de STEEM (parte 1/2)" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 1,640,877 |
net_rshares | 0 |
Me parece interesante pero no se para que vamos a enviar esto al correo :S, tomamos un rumbo raro :D
author | sethroot |
---|---|
permlink | re-mondeja-curso-de-programacion-de-criptomonedas-en-python-6-funciones-crear-un-bot-informador-de-steem-parte-1-2-20161027t185814494z |
category | spanish |
json_metadata | {"tags":["spanish"]} |
created | 2016-10-27 18:58:15 |
last_update | 2016-10-27 18:58:15 |
depth | 1 |
children | 3 |
last_payout | 2016-11-26 15:09:21 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 100 |
author_reputation | 15,716,888,530,282 |
root_title | "Curso de programación de criptomonedas con Python - 6. Funciones. Crear un bot informador de STEEM (parte 1/2)" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 1,634,205 |
net_rshares | 0 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
sethroot | 0 | 0 | 100% |
Te explico para qué uso yo este código. Todas las mañanas miro el correo en android. Con una aplicación de PlayStore llamada [Tasker](https://play.google.com/store/apps/details?id=net.dinglisch.android.taskerm&hl=es) automatizo que todos los días a una determinada hora me lleguen datos al correo. Así no tengo que estar mirando en diferentes exchanges, con todo el tiempo que eso conlleva. Todo es echarle imaginación, ¡un saludo!
author | mondeja |
---|---|
permlink | re-sethroot-re-mondeja-curso-de-programacion-de-criptomonedas-en-python-6-funciones-crear-un-bot-informador-de-steem-parte-1-2-20161027t200442440z |
category | spanish |
json_metadata | {"tags":["spanish"],"links":["https://play.google.com/store/apps/details?id=net.dinglisch.android.taskerm&hl=es"]} |
created | 2016-10-27 20:04:51 |
last_update | 2016-10-27 20:04:51 |
depth | 2 |
children | 2 |
last_payout | 2016-11-26 15:09:21 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 431 |
author_reputation | 9,894,814,339,118 |
root_title | "Curso de programación de criptomonedas con Python - 6. Funciones. Crear un bot informador de STEEM (parte 1/2)" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 1,634,718 |
net_rshares | 126,158,426 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
sethroot | 0 | 126,158,426 | 100% |
Le he dado vueltas al asunto y aun no me queda claro.... esta bien puedes revisar losd atos en el correo mas facilmente... Yo trabajo con ODOO aunque estoy atareado ultimamente me tome la molestia de mejorar un poco el codigo... no lo voy a postear por aqui si no en mi blog para no robarte la idea... pero pdoria hacer un modulo sencillo en ODOO9 y asi la informacion la podrias ver en la web con graficas y mas... no se que opinas? tengo la idea de hacer una APP desde ODOO, lo hare en odoo por que mapea la base de datos y tiene cron integrado ademas puedes crear una Pagina Web Facilmente... creare un post de ODOO9 esta semana para que te hags una idea del poder de ODOO saludos
author | sethroot |
---|---|
permlink | re-mondeja-re-sethroot-re-mondeja-curso-de-programacion-de-criptomonedas-en-python-6-funciones-crear-un-bot-informador-de-steem-parte-1-2-20161029t180454699z |
category | spanish |
json_metadata | {"tags":["spanish"]} |
created | 2016-10-29 18:04:54 |
last_update | 2016-10-29 18:04:54 |
depth | 3 |
children | 1 |
last_payout | 2016-11-26 15:09:21 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 684 |
author_reputation | 15,716,888,530,282 |
root_title | "Curso de programación de criptomonedas con Python - 6. Funciones. Crear un bot informador de STEEM (parte 1/2)" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 1,647,590 |
net_rshares | 0 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
sethroot | 0 | 0 | 100% |