Tutorial Membuat Bot Telegram Sederhana untuk Pemantauan Kualitas Udara dengan Python

3 min read 24-08-2024
Tutorial Membuat Bot Telegram Sederhana untuk Pemantauan Kualitas Udara dengan Python

Telegram adalah salah satu aplikasi pesan yang populer dan banyak digunakan. Salah satu fitur menarik dari Telegram adalah kemampuannya untuk menjalankan bot. Dalam tutorial ini, kita akan belajar cara membuat bot Telegram sederhana yang bisa digunakan untuk memantau kualitas udara menggunakan Python.

Prasyarat

Sebelum memulai, pastikan Anda memiliki hal-hal berikut:

  1. Akun Telegram: Anda perlu memiliki akun Telegram untuk membuat dan berinteraksi dengan bot.
  2. Python: Pastikan Python sudah terinstal di komputer Anda. Anda bisa mengunduhnya dari situs resmi Python.
  3. Libraries yang Diperlukan:
    • python-telegram-bot: Untuk berinteraksi dengan API Telegram.
    • requests: Untuk mengambil data dari API kualitas udara.

Anda dapat menginstal libraries ini melalui pip:

pip install python-telegram-bot requests
  1. API Kualitas Udara: Kita akan menggunakan API kualitas udara. Anda bisa menggunakan API dari OpenWeatherMap, AQICN, atau sumber terpercaya lainnya. Pastikan untuk mendapatkan kunci API (API Key) jika diperlukan.

Langkah 1: Membuat Bot Telegram

  1. Buka Telegram dan cari pengguna BotFather.
  2. Ketikkan /newbot dan ikuti instruksi untuk membuat bot baru. Anda akan diminta untuk memberikan nama dan username untuk bot Anda.
  3. Setelah bot dibuat, Anda akan mendapatkan Token API. Simpan token ini karena kita akan menggunakannya di kode program kita.

Langkah 2: Menyiapkan Kode Program

Sekarang, kita akan menulis kode Python untuk bot kita. Di bawah ini adalah contoh kode untuk memantau kualitas udara.

Membuat File Python

Buatlah file baru bernama air_quality_bot.py dan masukkan kode berikut:

import logging
import requests
from telegram import Update
from telegram.ext import Updater, CommandHandler, CallbackContext

# Setup logging untuk menampilkan error
logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', level=logging.INFO)
logger = logging.getLogger(__name__)

# Ganti dengan token bot Anda
TOKEN = 'YOUR_TELEGRAM_BOT_TOKEN'
# Ganti dengan API key Anda dari sumber data kualitas udara
API_KEY = 'YOUR_AIR_QUALITY_API_KEY'

# URL endpoint untuk mengambil data kualitas udara (ganti dengan endpoint yang Anda gunakan)
AIR_QUALITY_URL = 'http://api.openweathermap.org/data/2.5/weather'

def start(update: Update, context: CallbackContext) -> None:
    update.message.reply_text('Selamat datang di bot pemantauan kualitas udara! Ketik /air_quality <nama_kota> untuk mengetahui kualitas udara.')

def air_quality(update: Update, context: CallbackContext) -> None:
    city_name = ' '.join(context.args)
    if not city_name:
        update.message.reply_text('Silakan masukkan nama kota setelah perintah /air_quality.')
        return

    response = requests.get(AIR_QUALITY_URL, params={'q': city_name, 'appid': API_KEY})
    if response.status_code != 200:
        update.message.reply_text('Terjadi kesalahan saat mengambil data kualitas udara. Pastikan nama kota benar.')
        return

    data = response.json()
    if 'main' in data:
        air_quality_index = data['main']['aqi']  # Sesuaikan tergantung pada struktur JSON API yang digunakan
        update.message.reply_text(f'Kualitas udara di {city_name} adalah: {air_quality_index}')
    else:
        update.message.reply_text('Data kualitas udara tidak ditemukan.')

def main() -> None:
    updater = Updater(TOKEN)

    # Daftar handler untuk memetakan perintah
    updater.dispatcher.add_handler(CommandHandler('start', start))
    updater.dispatcher.add_handler(CommandHandler('air_quality', air_quality))

    # Mulailah bot
    updater.start_polling()
    updater.idle()

if __name__ == '__main__':
    main()

Penjelasan Kode:

  • Logging: Kita menggunakan logging untuk menampilkan pesan error jika ada kesalahan.
  • TOKEN dan API_KEY: Masukkan token bot Telegram dan API key yang Anda dapatkan sebelumnya.
  • start Function: Mengirimkan pesan selamat datang kepada pengguna.
  • air_quality Function: Mengambil nama kota dari argumen pengguna, kemudian membuat permintaan ke API untuk mendapatkan data kualitas udara.
  • main Function: Mengatur pembaruan dan memulai bot.

Langkah 3: Menjalankan Bot

Setelah menyiapkan kode, Anda bisa menjalankan bot dengan menggunakan perintah berikut di terminal atau CMD:

python air_quality_bot.py

Jika semuanya sudah dipersiapkan dengan benar, bot Anda akan aktif dan siap menerima perintah!

Menggunakan Bot

  1. Buka Telegram dan cari bot yang Anda buat.
  2. Ketikkan /start untuk memulai.
  3. Ketikkan /air_quality <nama_kota> untuk mendapatkan informasi kualitas udara. Misalnya, /air_quality Jakarta.

Kesimpulan

Dalam tutorial ini, kita telah membahas langkah-langkah untuk membuat bot Telegram sederhana yang dapat memantau kualitas udara menggunakan Python. Anda bisa mengembangkan bot ini lebih lanjut dengan menambahkan fitur baru atau mendukung lebih banyak sumber data.

Cobalah untuk bermain-main dengan kode dan lihat apa yang bisa Anda tambahkan atau ubah. Dengan pengetahuan ini, Anda sudah memiliki dasar untuk membuat bot Telegram lainnya yang dapat berguna. Selamat mencoba!