Package: salvitobot
En construcción!SalvitoBotEstamos muy lejos de estar preparados para evacuar la costa peruana en
caso de emergencia debido a tsunamis. Por eso aquí en el uterope hemos
programado un Twitter bot para que nos alerte en caso de sismos y
tsunamis.FuncionamientoEste bot,@SalvitoBot, se activa
automáticamente cada 5 minutos y extrae información enreal-timesobresismosytsunamisde estas dos fuentes:Pacific Tsunami Warning Center (NOA)USGS Earthquake Hazards ProgramEstas dos páginas webs proveen información estructurada de tal manera
que es fácilmente procesable por software de computadora.@SalvitoBotconsume la información en formato GeoJSON y XML desde
esas dos fuentes. En el caso haya algún reporte de sismo o tsunami para
Chile y Perú, este bot emitirá un tuit como estos:https://twitter.com/salvitobot/status/451570699275337728https://twitter.com/salvitobot/status/451567670815510528La idea es que estos tuits se emitirán tan pronto aparezcan en los
reportes emitidos por elPTWCde la NOA y elUSCGS. Este bot
estará alerta y activo día y noche, de madrugada, todos los días (no
solo en horario de oficina).Hemos configurado para que @SalvitoBot emita los tuits conmentiona
la cuenta de@IndeciPerupara que
puedan alertar al resto de tuiteros y la información se propague más
rápido.Código fuenteEste bot esMADE IN UTEROy además esopensource. Aquí encontrarás
el código fuente:https://github.com/utero/salvitobot/@SalvitoBot ha sido sometido a varias pruebas pero la prueba de fuego de
su funcionamiento y utilidad será cuando ocurra el próximo sismo dentro
de territorio peruano o chileno.PS.Desde luego que este método es muy rudimentario y sería mucho
mejor si las autoridades se ponen las pilas e instalan un servicio
parecido al que tienen en Chile. Por mientras, hacemos lo que está
dentro de nuestras posibilidades para ayudar.RequisitosPython3.4Instalaciónpip install salvitobotConfiguraciónRenombrar el archivoconfig.json.bakaconfig.jsony agregar constraseñas
y claves secretas:{"twitter_key":"","twitter_secret":"","twitter_token":"","twitter_token_secret":"","wordpress_client":"https://mydomain.wordpress.com/xmlrpc.php","wordpress_username":"usuario","wordpress_password":"contrasena"}Las información que deber ir entwitter_key,twitter_secret,twitter_tokenytwitter_token_secretse obtiene al registrar una nueva “app” en Twitter.
Para eso debes dirigirte a esta páginahttps://apps.twitter.com/UsoEncuentra sismos recientes para Perú:>>>importsalvitobot>>>bot=salvitobot.Bot()>>>bot.get_quake(country='Peru')>>>bot.quake[]Encuentra sismos recientes para Venezuela:>>>bot.get_quake(country='Venezuela')>>>bot.quake[{'tz':-240,'depth':72.38,'time':1423173055590,'datetime_utc':datetime.datetime(2015,2,5,21,50,55,589999,tzinfo=<UTC>),'longitude':-62.0483,'tuit':'SISMO. 4.7 grados mb en 58km NNE of Gueiria, Venezuela. A horas  http://earthquake.usgs.gov/earthquakes/eventpage/usc000tmka','link':'http://earthquake.usgs.gov/earthquakes/eventpage/usc000tmka','type':'earthquake','place':'58km NNE of Gueiria, Venezuela','magnitude':4.7,'magnitude_type':'mb','code':'c000tmka','latitude':11.0419}]]Averigua si este sismo es nuevo y no está en la base de datos:>>>bot.is_new_quake()TrueYa que es nuevo, escribe un post y publícalo en WordPress:>>>bot.write_stories()<BLANKLINE>Untemblordemedianamagnitudde4.7gradostuvolugarel05Feb,2015porlatardea58kmNNEofGueiria,VenezuelasegúnelServicioGeológicodeEE.UU.Eltemblorseprodujoalas21:50delatarde,delTiempouniversalcoordinado(UTC),aunaprofundidadde72.38kilómetros.<BLANKLINE>SegúnelUSGS,elepicentroseubicóa_related_place_.<BLANKLINE>Enlosúltimos_days_días,noseregistrarontembloresdemagnitud3.0omayoresenestazona.<BLANKLINE>LainformaciónprovienedelUSGSEarthquakeNotificationService.Estepostfueelaboradoporunalgoritmoescritoporelautor.<BLANKLINE>Puedes postear el texto en tu blog Wordpress, envíe un tuit y por email:>>>bot.post_to_wp()>>>bot.tweet()>>>bot.send_email_to(['myemailaccount@gmail.com'])Lee la documentación completa aquí:http://salvitobot.readthedocs.org/en/latest/salvitobotwas written byAniversarioPeru.