This repository contains a Telegram bot that monitors and reports earthquakes in Italy using data from the INGV (Istituto Nazionale di Geofisica e Vulcanologia).
- Fetches earthquake data from INGV every 10 minutes
- Filters new earthquakes and avoids duplicates
- Generates a map for each earthquake event
- Sends alerts to a Telegram channel with earthquake details and a map
- The bot fetches earthquake data from the INGV API
- New earthquakes are filtered and processed
- For each new earthquake, a map is generated using OpenStreetMap
- An alert message is composed with earthquake details
- The message and map are sent to a specified Telegram channel
Bun is required to run .ts files on-the-fly, you can also setup tsc-node or similar.
- Clone the repository
- Install dependencies with
npm install
- Set up environment variables:
BOT_TOKEN
: Your Telegram bot tokenCHAT_ID
: The ID of the Telegram channel to send alerts to
- Run the bot with
npm start
src/index.ts
: Main entry point and earthquake fetching logicsrc/api/ingv.ts
: INGV API interaction and data parsingsrc/api/telegram.ts
: Telegram bot API interactionsrc/utils/mapMaker.ts
: Map generation using OpenStreetMap tiles
Questo repository contiene un bot Telegram che monitora e segnala i terremoti in Italia utilizzando i dati dell'INGV (Istituto Nazionale di Geofisica e Vulcanologia).
- Recupera i dati sui terremoti dall'INGV ogni 10 minuti
- Filtra i nuovi terremoti ed evita i duplicati
- Genera una mappa per ogni evento sismico
- Invia avvisi a un canale Telegram con i dettagli del terremoto e una mappa
- Il bot recupera i dati sui terremoti dall'API dell'INGV
- I nuovi terremoti vengono filtrati ed elaborati
- Per ogni nuovo terremoto, viene generata una mappa utilizzando OpenStreetMap
- Viene composto un messaggio di avviso con i dettagli del terremoto
- Il messaggio e la mappa vengono inviati a un canale Telegram specificato
Bun è richiesto per eseguire i file .ts on-the-fly, puoi anche impostare tsc-node o simili.
- Clona il repository
- Installa le dipendenze con
npm install
- Configura le variabili d'ambiente:
BOT_TOKEN
: Il token del tuo bot TelegramCHAT_ID
: L'ID del canale Telegram a cui inviare gli avvisi
- Avvia il bot con
npm start
src/index.ts
: Punto di ingresso principale e logica di recupero dei terremotisrc/api/ingv.ts
: Interazione con l'API INGV e parsing dei datisrc/api/telegram.ts
: Interazione con l'API del bot Telegramsrc/utils/mapMaker.ts
: Generazione delle mappe utilizzando le tile di OpenStreetMap