Skip to main content
Latest Travis CI build status Documentation Status Latest Version WTF License

En construcción!

SalvitoBot

Estamos 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.

Funcionamiento

Este bot, @SalvitoBot, se activa automáticamente cada 5 minutos y extrae información en real-time sobre sismos y tsunamis de estas dos fuentes:

Estas dos páginas webs proveen información estructurada de tal manera que es fácilmente procesable por software de computadora. @SalvitoBot consume 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/451570699275337728

https://twitter.com/salvitobot/status/451567670815510528

La idea es que estos tuits se emitirán tan pronto aparezcan en los reportes emitidos por el PTWC de la NOA y el USCGS. 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 con mention a la cuenta de @IndeciPeru para que puedan alertar al resto de tuiteros y la información se propague más rápido.

Código fuente

Este bot es MADE IN UTERO y además es opensource. 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.

Requisitos

  • Python3.4

Instalación

pip install salvitobot

Configuración

Renombrar el archivo config.json.bak a config.json y 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 en twitter_key, twitter_secret, twitter_token y twitter_token_secret se obtiene al registrar una nueva “app” en Twitter. Para eso debes dirigirte a esta página https://apps.twitter.com/

Uso

Encuentra sismos recientes para Perú:

>>> import salvitobot
>>> 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()
True

Ya que es nuevo, escribe un post y publícalo en WordPress:

>>> bot.write_stories()
<BLANKLINE>
Un temblor de mediana magnitud de 4.7 grados tuvo
lugar el 05 Feb, 2015 por la tarde a 58km NNE of Gueiria, Venezuela
según el Servicio Geológico de EE.UU.
El temblor se produjo a las 21:50 de la tarde,
del Tiempo universal coordinado (UTC), a una profundidad de
72.38 kilómetros.
<BLANKLINE>
Según el USGS, el epicentro se ubicó a _related_place_.
<BLANKLINE>
En los últimos _days_ días, no se registraron temblores de magnitud 3.0 o mayores en esta
zona.
<BLANKLINE>
La información proviene del USGS Earthquake Notification Service. Este post
fue elaborado por un algoritmo escrito por el autor.
<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/

salvitobot was written by AniversarioPeru.

Metadata

Release files for salvitobot 0.4.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for salvitobot 0.4.1
File Size Uploaded Provenance
salvitobot-0.4.1.tar.gz 12.6 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for salvitobot 0.4.1
File Interpreter ABI Platform
salvitobot-0.4.1-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 28.5 kB

Release files / salvitobot-0.4.1.tar.gz

Download URL salvitobot-0.4.1.tar.gz
Size 12.6 kB
Tags Source
SHA-256 checksum
How to use checksums
1b68d8788ba1f2275c0e5685ede8d0efd62359bd6b57dcd2dc0704b08ad10738
BLAKE2b-256 checksum
How to use checksums
152df2c9f8f2267db42ce6e10bd7e1b43487e1b41bb3e3fc6cb7b4f95e53adc8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / salvitobot-0.4.1-py2.py3-none-any.whl

Download URL salvitobot-0.4.1-py2.py3-none-any.whl
Size 16.0 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
0e7939edb4b7a2003e09faefdb5d25cef8c76f8f7800107250b3694b464f9669
BLAKE2b-256 checksum
How to use checksums
264ba6931a6c3dba5d4a957caa6c2c2d8603e9007044b5d2bff703e3024934ba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for salvitobot 0.4.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page