Lompat ke konten Lompat ke sidebar Lompat ke footer

Tutorial Membuat Bot Telegram dengan Python

 

Telegram adalah salah satu aplikasi pesan instan yang sangat populer di kalangan pengguna internet, terutama karena kemudahan dalam integrasi dengan berbagai bot. Telegram Bot adalah akun yang dikelola oleh perangkat lunak, bukan oleh orang, dan dapat digunakan untuk berbagai tujuan, mulai dari pengiriman pesan otomatis hingga kontrol sistem yang kompleks.

Pada tutorial ini, kita akan membahas langkah-langkah mendetail untuk membuat bot Telegram dengan menggunakan Python. Kita akan membuat bot Telegram yang sederhana yang dapat merespons pesan pengguna dan memberikan beberapa fungsionalitas dasar. Anda akan mempelajari cara mengonfigurasi bot, menulis kode Python untuk berinteraksi dengan API Telegram, dan menjalankan bot tersebut.

1. Persiapan: Membuat Bot di Telegram

Langkah pertama dalam membuat bot Telegram adalah membuat bot itu sendiri melalui aplikasi Telegram. Anda akan mendapatkan token yang diperlukan untuk mengakses API Telegram dan mengontrol bot.

Langkah 1: Membuat Akun Bot di Telegram

  1. Buka aplikasi Telegram di perangkat Anda, baik di desktop maupun perangkat seluler.
  2. Cari "BotFather" menggunakan kolom pencarian Telegram. BotFather adalah bot resmi dari Telegram yang digunakan untuk membuat dan mengonfigurasi bot.
  3. Mulai percakapan dengan BotFather dan ketik perintah /start untuk memulai.
  4. Untuk membuat bot baru, ketik perintah /newbot.
  5. Ikuti petunjuk BotFather:
    • Masukkan nama bot Anda (ini adalah nama yang akan ditampilkan kepada pengguna).
    • Masukkan username untuk bot Anda (username harus unik dan diakhiri dengan kata "bot", misalnya: my_test_bot).
  6. Setelah bot berhasil dibuat, BotFather akan memberikan API token yang diperlukan untuk berinteraksi dengan bot Anda.

API token ini adalah kunci akses untuk mengendalikan bot Anda melalui kode. Pastikan untuk menyimpannya dengan aman dan tidak membagikannya kepada orang lain.

2. Menginstal Library Python untuk Telegram Bot

Setelah Anda mendapatkan token bot, langkah selanjutnya adalah menginstal library Python yang akan memungkinkan kita untuk berinteraksi dengan API Telegram. Library yang paling umum digunakan untuk membuat bot Telegram di Python adalah python-telegram-bot.

Langkah 1: Instalasi python-telegram-bot

  1. Install menggunakan pip: Buka terminal atau command prompt, dan jalankan perintah berikut untuk menginstal library python-telegram-bot:
    pip install python-telegram-bot
    

Library ini memungkinkan kita untuk menangani pesan, inline queries, serta interaksi lainnya dengan Telegram.

3. Menulis Kode untuk Bot Telegram

Setelah library terinstal, kita akan menulis kode Python yang akan mengendalikan bot Telegram Anda. Pada tahap ini, kita akan membuat bot yang sederhana yang dapat merespons pesan pengguna.

Langkah 1: Struktur Dasar Kode Bot Telegram

Buat file Python baru, misalnya bot_telegram.py, dan buka dengan editor teks favorit Anda. Berikut adalah struktur dasar untuk bot Telegram menggunakan python-telegram-bot:

from telegram import Update
from telegram.ext import Updater, CommandHandler, MessageHandler, Filters, CallbackContext

# Fungsi untuk menangani perintah /start
def start(update: Update, context: CallbackContext) -> None:
    update.message.reply_text("Halo! Saya adalah bot Telegram yang dibuat dengan Python.")

# Fungsi untuk menangani pesan teks lainnya
def echo(update: Update, context: CallbackContext) -> None:
    update.message.reply_text(update.message.text)

def main():
    # Masukkan token yang Anda dapatkan dari BotFather
    TOKEN = 'YOUR_BOT_TOKEN'

    # Membuat Updater dan mendapatkan dispatcher untuk menangani perintah
    updater = Updater(TOKEN)

    # Mengambil dispatcher dari updater
    dispatcher = updater.dispatcher

    # Menambahkan handler untuk perintah /start
    dispatcher.add_handler(CommandHandler("start", start))

    # Menambahkan handler untuk pesan teks yang dikirim pengguna
    dispatcher.add_handler(MessageHandler(Filters.text & ~Filters.command, echo))

    # Mulai bot
    updater.start_polling()

    # Menjalankan bot sampai Anda menghentikannya secara manual
    updater.idle()

if __name__ == '__main__':
    main()

Penjelasan Kode:

  • Import Library: Kita mengimpor Updater, CommandHandler, MessageHandler, dan Filters dari telegram.ext. Semua ini digunakan untuk mengelola pesan yang diterima dan perintah yang dikirim ke bot.
  • Fungsi start(): Fungsi ini akan dipanggil ketika pengguna mengirim perintah /start ke bot. Fungsi ini mengirimkan pesan sambutan ke pengguna.
  • Fungsi echo(): Fungsi ini akan dipanggil setiap kali pengguna mengirimkan pesan teks yang tidak berupa perintah. Bot akan mengirim kembali pesan yang sama seperti yang diterima.
  • Updater dan Dispatcher: Updater digunakan untuk menangani polling dan mengambil pembaruan dari Telegram. Dispatcher digunakan untuk menambahkan handler untuk perintah dan pesan.
  • Polling: Bot akan mulai memeriksa pembaruan (pesan baru) menggunakan metode start_polling(). Dengan cara ini, bot akan terus berjalan dan siap merespons.
  • Idle: Fungsi updater.idle() akan menjaga bot tetap berjalan sampai Anda menghentikannya secara manual.

Langkah 2: Menjalankan Bot

Untuk menjalankan bot, cukup buka terminal atau command prompt di direktori tempat Anda menyimpan file bot_telegram.py, lalu jalankan perintah berikut:

python bot_telegram.py

Setelah menjalankan perintah ini, bot Anda akan aktif. Anda bisa mencoba mengirim perintah /start atau teks lainnya ke bot di aplikasi Telegram, dan bot akan merespons sesuai dengan kode yang sudah Anda buat.

4. Mengembangkan Fitur Bot Telegram

Sekarang bot dasar Anda sudah berjalan, saatnya untuk menambahkan beberapa fitur menarik agar bot lebih berguna. Berikut adalah beberapa contoh fitur tambahan yang bisa Anda implementasikan.

Menambahkan Perintah Lain

Misalnya, Anda bisa menambahkan perintah /help yang akan memberikan petunjuk kepada pengguna tentang cara menggunakan bot.

# Fungsi untuk menangani perintah /help
def help(update: Update, context: CallbackContext) -> None:
    update.message.reply_text("Ketikkan pesan apa saja dan saya akan mengulanginya. Gunakan perintah /start untuk memulai.")

Untuk mendaftarkan perintah ini, tambahkan handler berikut ke dalam fungsi main():

dispatcher.add_handler(CommandHandler("help", help))

Mengirim Pesan Gambar

Bot juga bisa mengirim gambar atau media lainnya. Anda bisa mengirim gambar menggunakan URL atau file lokal.

Contoh mengirim gambar dari URL:

from telegram import InputMediaPhoto

def send_photo(update: Update, context: CallbackContext) -> None:
    chat_id = update.message.chat_id
    context.bot.send_photo(chat_id=chat_id, photo='https://example.com/someimage.jpg')

Untuk menggunakan fungsi ini, tambahkan handler seperti berikut:

dispatcher.add_handler(CommandHandler("photo", send_photo))

Menangani Keyboard Kustom

Telegram memungkinkan pembuatan keyboard kustom yang bisa digunakan untuk interaksi lebih lanjut dengan bot. Berikut adalah contoh pembuatan keyboard kustom yang muncul saat perintah /start dipanggil.

from telegram import ReplyKeyboardMarkup

def start(update: Update, context: CallbackContext) -> None:
    keyboard = [['/help', '/photo']]
    reply_markup = ReplyKeyboardMarkup(keyboard, one_time_keyboard=True)
    update.message.reply_text('Silakan pilih perintah:', reply_markup=reply_markup)

Dengan kode ini, bot akan memberikan dua pilihan tombol ke pengguna, yaitu /help dan /photo.

5. Menangani Pesan Secara Lebih Lanjut

Menerima Input Pengguna

Untuk mengembangkan bot lebih lanjut, Anda bisa menambahkan kemampuan untuk menerima input dari pengguna. Misalnya, Anda bisa meminta pengguna memasukkan nama mereka dan kemudian memberikan respons yang dipersonalisasi.

def get_name(update: Update, context: CallbackContext) -> None:
    update.message.reply_text('Apa nama Anda?')
    return NAME

def save_name(update: Update, context: CallbackContext) -> None:
    user_name = update.message.text
    update.message.reply_text(f"Nama Anda adalah {user_name}. Terima kasih!")
    return ConversationHandler.END

Untuk menggunakan fitur percakapan ini, Anda harus menambahkan ConversationHandler ke dalam kode Anda, yang memungkinkan bot mengelola percakapan lebih kompleks dengan pengguna.

6. Menjalankan Bot Secara Permanen

Jika Anda ingin bot berjalan terus-menerus tanpa terganggu oleh shutdown komputer Anda, Anda perlu menjalankannya di server. Ada beberapa layanan hosting yang memungkinkan Anda menjalankan bot Python, seperti:

  • Heroku: Layanan cloud gratis yang mendukung Python dan memungkinkan Anda menjalankan bot Telegram dengan mudah.
  • AWS EC2: Layanan cloud dari Amazon yang memungkinkan Anda menjalankan bot di server virtual.
  • VPS Hosting: Anda dapat menyewa VPS untuk menjalankan bot 24/7.

Dengan mengikuti tutorial ini, Anda sudah mempelajari dasar-dasar pembuatan bot Telegram menggunakan Python. Anda dapat membuat bot sederhana yang merespons pesan dan menambahkan fitur seperti perintah, keyboard kustom, dan pengiriman media. Python dan library python-telegram-bot adalah alat yang sangat baik untuk membangun bot Telegram yang kuat dan fleksibel. Selamat mencoba.

Posting Komentar untuk "Tutorial Membuat Bot Telegram dengan Python"