Panduan Membuat Bot Telegram Sederhana untuk Jadwal Kereta Api dengan Python

3 min read 24-08-2024
Panduan Membuat Bot Telegram Sederhana untuk Jadwal Kereta Api dengan Python

Dalam artikel ini, kita akan membuat bot Telegram sederhana yang dapat memberikan informasi jadwal kereta api. Bot ini akan dibangun menggunakan bahasa pemrograman Python dan beberapa pustaka tambahan seperti python-telegram-bot dan requests. Mari kita mulai!

Apa itu Bot Telegram?

Bot Telegram adalah program yang berjalan di platform Telegram dan memungkinkan pengguna untuk berinteraksi dengan aplikasi melalui pesan teks. Bot dapat melakukan berbagai hal, seperti memberikan informasi, bermain game, atau melakukan otomatasi tugas tertentu.

Persyaratan Sebelum Memulai

Sebelum kita mulai membuat bot, ada beberapa hal yang perlu Anda siapkan:

  1. Akun Telegram: Anda memerlukan akun Telegram untuk berinteraksi dengan bot.

  2. Token Bot: Anda perlu membuat bot Telegram melalui BotFather untuk mendapatkan token yang akan digunakan dalam kode.

  3. Python: Pastikan Anda telah menginstal Python di komputer Anda. Anda dapat mengunduhnya dari situs resmi Python.

  4. Pustaka yang Diperlukan: Anda perlu menginstal pustaka python-telegram-bot dan requests. Anda dapat menginstalnya menggunakan pip:

    pip install python-telegram-bot requests
    

Langkah-langkah Membuat Bot

Langkah 1: Membuat Bot di Telegram

  1. Buka aplikasi Telegram dan cari pengguna dengan nama BotFather.
  2. Mulailah chat dengan BotFather dan kirimkan perintah /newbot.
  3. Ikuti instruksi untuk memberi nama dan username untuk bot Anda.
  4. Setelah selesai, Anda akan menerima token API. Simpan token ini dengan aman, karena kita akan menggunakannya dalam kode.

Langkah 2: Mengatur Struktur Proyek

Buat folder untuk proyek Anda dan buat file Python baru dengan nama telegram_bot.py. Berikut adalah struktur folder yang sederhana:

/jadwal_kereta_bot
    └── telegram_bot.py

Langkah 3: Mengimpor Pustaka yang Diperlukan

Buka file telegram_bot.py dan mulai dengan mengimpor pustaka yang diperlukan:

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

Langkah 4: Mengatur Logging

Menyiapkan logging sangatlah penting untuk mengetahui jika ada kesalahan yang terjadi saat menjalankan bot. Tambahkan kode berikut di bawah impor:

# Set up logging
logging.basicConfig(
    format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
    level=logging.INFO
)

logger = logging.getLogger(__name__)

Langkah 5: Membuat Fungsi untuk Mengambil Jadwal Kereta Api

Selanjutnya, kita perlu membuat fungsi yang akan mengambil data jadwal kereta api. Untuk keperluan ini, kita akan menggunakan API dari situs yang menyediakan jadwal kereta, misalnya, API KAI.

def get_train_schedule():
    response = requests.get('https://api.example.com/train_schedule')
    if response.status_code == 200:
        return response.json()  # Asumsikan ini mengembalikan data JSON
    else:
        return None

Langkah 6: Membuat Perintah untuk Bot

Sekarang, mari kita buat perintah yang bisa dipanggil oleh pengguna untuk mendapatkan jadwal kereta api. Kita akan menggunakan perintah /jadwal untuk menunjukkan jadwal kereta.

def schedule_command(update: Update, context: CallbackContext) -> None:
    update.message.reply_text('Mengambil jadwal kereta api...')
    schedule = get_train_schedule()
    if schedule:
        response_message = "Jadwal Kereta Api:\n"
        for train in schedule:
            response_message += f"{train['nama_kereta']} - Jam {train['jam']}\n"
        update.message.reply_text(response_message)
    else:
        update.message.reply_text("Maaf, gagal mengambil jadwal kereta.")

Langkah 7: Menyiapkan Bot

Sekarang, kita perlu menyiapkan bot kita agar dapat menerima perintah yang telah kita buat.

def main() -> None:
    # Ganti TOKEN dengan token Anda
    updater = Updater("YOUR_TOKEN_HERE")
    
    dispatcher = updater.dispatcher

    dispatcher.add_handler(CommandHandler("jadwal", schedule_command))

    updater.start_polling()

    updater.idle()

Langkah 8: Menjalankan Bot

Terakhir, jangan lupa menambahkan kode untuk menjalankan fungsi main() di bagian akhir file:

if __name__ == '__main__':
    main()

Langkah 9: Menguji Bot

Sekarang, buka terminal, navigasikan ke folder proyek Anda, dan jalankan file telegram_bot.py:

python telegram_bot.py

Buka aplikasi Telegram Anda dan cari bot yang telah Anda buat. Kirimkan perintah /jadwal, dan bot akan merespons dengan jadwal kereta api!

Penutup

Selamat! Anda telah berhasil membuat bot Telegram sederhana yang dapat memberikan informasi jadwal kereta api menggunakan Python. Anda dapat memperluas bot ini dengan menambahkan lebih banyak fitur, seperti pencarian kereta berdasarkan tanggal atau rute tertentu.

Explore lebih jauh di dunia pemrograman dan coba berbagai API untuk membuat bot yang lebih keren dan bermanfaat. Happy coding!