Dalam artikel ini, kita akan membuat bot Telegram sederhana yang dapat memantau informasi gempa bumi menggunakan Python. Bot ini akan mengambil data dari API dan mengirimkan notifikasi ke grup atau pengguna ketika terjadi gempa bumi.
Prasyarat
Sebelum kita mulai, pastikan Anda telah menyiapkan hal-hal berikut:
- Python: Pastikan Anda telah menginstal Python di komputer Anda (direkomendasikan versi 3.x).
- Pip: Pastikan pip telah terinstal untuk mengelola pustaka Python.
- Akun Telegram: Anda harus memiliki akun Telegram dan membuat bot melalui BotFather.
Langkah 1: Membuat Bot Telegram
- Buka Telegram: Masuk ke akun Telegram Anda.
- Cari BotFather: Di kolom pencarian, ketik “BotFather” dan buka obrolan dengan bot tersebut.
- Buat Bot Baru: Ketik perintah
/newbot
dan ikuti instruksi untuk memberikan nama dan username untuk bot Anda. - Dapatkan Token API: Setelah bot berhasil dibuat, Anda akan menerima token API. Salin token ini, karena kita akan menggunakannya di kode kita nanti.
Langkah 2: Menyiapkan Lingkungan Pengembangan
-
Instal Pustaka yang Diperlukan: Kita akan menggunakan
python-telegram-bot
untuk berinteraksi dengan Telegram danrequests
untuk mengambil data dari API. Jalankan perintah berikut di terminal:pip install python-telegram-bot requests
-
Buat Berkas Proyek: Buat berkas baru bernama
quake_bot.py
untuk menyimpan kode bot kita.
Langkah 3: Mengambil Data Gempa
Kita akan menggunakan USGS Earthquake API untuk mengambil data gempa bumi terbaru. Berikut adalah fungsi untuk mengambil data gempa:
import requests
def get_earthquake_data():
url = "https://earthquake.usgs.gov/fdsnws/event/1/query"
params = {
'format': 'geojson',
'limit': 5,
'orderby': 'time'
}
response = requests.get(url, params=params)
data = response.json()
return data['features']
Fungsi ini akan mengembalikan data lima gempa bumi terbaru dalam format JSON.
Langkah 4: Mengirim Pesan ke Telegram
Sekarang kita akan membuat fungsi untuk mengirim pesan ke Telegram menggunakan bot yang sudah kita buat sebelumnya.
from telegram import Bot
TOKEN = 'YOUR_TELEGRAM_BOT_TOKEN'
bot = Bot(token=TOKEN)
def send_message(chat_id, text):
bot.send_message(chat_id=chat_id, text=text)
Ganti YOUR_TELEGRAM_BOT_TOKEN
dengan token API bot Telegram yang Anda dapatkan sebelumnya.
Langkah 5: Mengatur Bot
Sekarang kita akan mengatur bot untuk mengirimkan informasi gempa terbaru ke grup atau pengguna. Pertama-tama, kita perlu mendapatkan chat_id; Anda bisa menggunakan bot Anda untuk mendapatkan chat_id dengan mengirimkan pesan ke bot lalu mengecek outputnya.
CHAT_ID = 'YOUR_CHAT_ID'
def notify_earthquakes():
earthquakes = get_earthquake_data()
for quake in earthquakes:
magnitude = quake['properties']['mag']
place = quake['properties']['place']
time = quake['properties']['time']
message = f"Gemu Bumi Terdeteksi!\nMagnitude: {magnitude}\nLokasi: {place}\nWaktu: {time}"
send_message(CHAT_ID, message)
Ganti YOUR_CHAT_ID
dengan chat ID yang Anda dapatkan.
Langkah 6: Menjadwalkan Pengecekan
Untuk menjadwalkan pengecekan secara berkala, Anda dapat menggunakan schedule
atau menggunakan while loop
dengan sleep
. Berikut adalah contoh dengan while loop
:
import time
while True:
notify_earthquakes()
time.sleep(60) # Menunggu selama 60 detik sebelum memeriksa lagi
Langkah 7: Menjalankan Bot
Sekarang semua sudah siap. Jalankan bot Anda dengan perintah berikut di terminal:
python quake_bot.py
Bot Anda sekarang akan memantau gempa bumi dan mengirimkan pemberitahuan setiap terjadi gempa.
Penutup
Dalam tutorial ini, kita telah membuat bot Telegram sederhana untuk memantau informasi gempa bumi menggunakan Python. Anda dapat mengembangkan bot ini lebih lanjut dengan menambahkan fitur-fitur lainnya, seperti menyaring gempa berdasarkan magnitudo, lokasi tertentu, atau bahkan mengirimkan gambar peta dari lokasi gempa.
Jika Anda memiliki pertanyaan atau mengalami kesulitan, jangan ragu untuk bertanya pada komunitas pengembang atau mencari solusi di forum-forum pemrograman. Selamat coding!