Tutorial Membuat Bot Telegram Sederhana untuk Notifikasi Perubahan Harga BBM dengan Python

3 min read 24-08-2024
Tutorial Membuat Bot Telegram Sederhana untuk Notifikasi Perubahan Harga BBM dengan Python

Dalam tutorial ini, kita akan belajar bagaimana cara membuat bot Telegram sederhana yang dapat memberikan notifikasi kepada kita setiap kali ada perubahan harga Bahan Bakar Minyak (BBM). Kita akan menggunakan Python dan beberapa library yang berguna untuk mencapai tujuan ini. Mari kita mulai!

Prasyarat

Sebelum kita mulai, pastikan Anda telah memenuhi prasyarat berikut:

  1. Python 3.x terinstal di komputer Anda.
  2. Pip untuk mengelola paket yang akan kita gunakan.
  3. Akun Telegram untuk mengakses bot.
  4. Token Bot Telegram, yang bisa didapatkan dengan membuat bot melalui BotFather di Telegram.

Langkah 1: Mempersiapkan Bot Telegram

  1. Membuat Bot di Telegram:

    • Buka aplikasi Telegram.
    • Cari "BotFather" dan mulai percakapan.
    • Kirim pesan /newbot.
    • Ikuti instruksi untuk memberikan nama dan username untuk bot Anda.
    • Setelah selesai, Anda akan mendapatkan token API yang akan digunakan untuk mengakses bot Anda. Simpan token ini.
  2. Mengetahui Chat ID:

    • Cari bot yang telah Anda buat di Telegram.
    • Kirim pesan apapun ke bot tersebut.
    • Buka URL https://api.telegram.org/bot<YOUR_BOT_TOKEN>/getUpdates di browser Anda (ganti <YOUR_BOT_TOKEN> dengan token yang Anda dapatkan dari BotFather).
    • Cari bagian "chat" dan catat chat_id yang digunakan untuk berinteraksi dengan bot.

Langkah 2: Instalasi Library yang Diperlukan

Untuk memudahkan pengembangan bot kita, kita akan menggunakan beberapa library Python. Jalankan perintah berikut di terminal untuk menginstal library yang diperlukan:

pip install requests python-telegram-bot beautifulsoup4 schedule
  • requests: Untuk melakukan HTTP request.
  • python-telegram-bot: Khusus untuk berinteraksi dengan Telegram.
  • beautifulsoup4: Untuk memparsing data HTML.
  • schedule: Untuk menjadwalkan pengiriman notifikasi.

Langkah 3: Mengambil Data Harga BBM

Untuk mengambil data harga BBM terbaru, kita bisa menggunakan web scraping untuk mendapatkan informasi tersebut dari situs pemerintah atau situs informasi terkait. Di sini, kita akan menggunakan BeautifulSoup untuk memparsing data HTML.

Berikut adalah contoh skrip sederhana untuk mengambil harga BBM:

import requests
from bs4 import BeautifulSoup

def get_bbm_price():
    url = 'URL_SITO_TEMPAT_HARGA_BBM'
    response = requests.get(url)
    soup = BeautifulSoup(response.text, 'html.parser')

    # Gantilah selector di bawah ini sesuai dengan struktur HTML pada halaman web yang akan diambil
    price_element = soup.find('selector_harga_bbm')
    if price_element:
        return price_element.text.strip()
    return None

Catatan: Gantilah URL_SITO_TEMPAT_HARGA_BBM dengan URL yang sesuai, dan selector_harga_bbm dengan selector HTML yang benar untuk mengambil harga.

Langkah 4: Mengirim Notifikasi Melalui Telegram

Langkah selanjutnya adalah menyiapkan fungsi untuk mengirim pesan notifikasi melalui bot Telegram setiap kali ada perubahan harga BBM.

import telegram

def send_notification(price):
    bot = telegram.Bot(token='YOUR_BOT_TOKEN')
    chat_id = 'YOUR_CHAT_ID'
    message = f'Harga BBM terbaru: {price}'
    bot.send_message(chat_id=chat_id, text=message)

Gantilah YOUR_BOT_TOKEN dan YOUR_CHAT_ID dengan token dan chat ID yang sudah kita catat sebelumnya.

Langkah 5: Memantau Perubahan Harga BBM

Sekarang kita akan menggabungkan semua fungsi di atas untuk membuat skrip utama yang akan memantau harga BBM dan mengirimkan notifikasi jika terjadi perubahan.

import time

last_price = None

while True:
    current_price = get_bbm_price()
    
    if current_price and current_price != last_price:
        send_notification(current_price)
        last_price = current_price

    time.sleep(3600)  # Tunggu 1 jam sebelum memeriksa lagi

Langkah 6: Menjadwalkan Pengecekan

Untuk membuat pengecekan lebih terjadwal, kita bisa menggunakan library schedule. Berikut adalah cara menggunakannya:

import schedule

def job():
    global last_price
    current_price = get_bbm_price()
    
    if current_price and current_price != last_price:
        send_notification(current_price)
        last_price = current_price

# Menjadwalkan job untuk dijalankan setiap jam
schedule.every(1).hours.do(job)

while True:
    schedule.run_pending()
    time.sleep(1)

Langkah 7: Menjalankan Skrip

Setelah Anda menyelesaikan semua kode di atas, simpan file tersebut dengan ekstensi .py, misalnya bbm_bot.py. Jalankan skrip ini di terminal dengan perintah:

python bbm_bot.py

Skrip akan memantau harga BBM dan mengirimkan notifikasi ke Telegram jika ada perubahan.

Kesimpulan

Dalam tutorial ini, kita telah berhasil membuat bot Telegram sederhana untuk notifikasi perubahan harga BBM menggunakan Python. Anda dapat mengembangkan bot ini lebih lanjut dengan fitur tambahan seperti log perubahan harga, variasi pengiriman notifikasi, atau bahkan memantau beberapa harga BBM sekaligus.

Jangan lupa untuk melakukan penyesuaian pada selector HTML dan URL yang sesuai dengan situs sumber informasi yang Anda gunakan. Selamat mencoba!