Panduan Membuat Bot Telegram Sederhana untuk Penjadwalan Konsumsi Vitamin dengan Python

3 min read 24-08-2024
Panduan Membuat Bot Telegram Sederhana untuk Penjadwalan Konsumsi Vitamin dengan Python

Telegram telah menjadi salah satu platform komunikasi yang populer, dan kemampuan untuk membuat bot memberikan kemudahan dan fungsionalitas tambahan bagi penggunanya. Pada artikel ini, kita akan membuat bot Telegram sederhana yang bertujuan untuk membantu pengguna dalam menjadwalkan konsumsi vitamin. Bot ini akan dibangun menggunakan bahasa pemrograman Python dan berbagai pustaka yang mendukung. Mari kita mulai!

Prerequisites

Sebelum memulai, pastikan Anda memiliki beberapa hal berikut:

  1. Python Terinstal: Pastikan Python versi 3.x sudah terinstal di komputer Anda. Anda dapat mengunduhnya dari situs resmi Python.
  2. Akun Telegram: Anda harus memiliki akun Telegram untuk dapat berinteraksi dengan bot.
  3. Token Bot Telegram: Anda perlu membuat bot di Telegram dan mendapatkan token API. Anda dapat melakukannya dengan mencari @BotFather di Telegram dan mengikuti instruksi untuk membuat bot baru.

Langkah 1: Install Pustaka yang Diperlukan

Kita akan menggunakan pustaka python-telegram-bot untuk berinteraksi dengan API Telegram. Instal pustaka ini dengan menggunakan pip:

pip install python-telegram-bot

Langkah 2: Membuat Struktur Bot

Setelah pustaka diinstal, kita bisa mulai menulis kode bot. Berikut adalah struktur dasar dari bot Telegram sederhana:

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

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

# Fungsi untuk memulai bot
def start(update: Update, context: CallbackContext) -> None:
    update.message.reply_text('Selamat datang di Bot Penjadwalan Konsumsi Vitamin!')

# Fungsi untuk membantu pengguna dengan perintah /help
def help_command(update: Update, context: CallbackContext) -> None:
    update.message.reply_text('Kirim /schedule untuk menjadwalkan konsumsi vitamin.')

# Fungsi untuk menjadwalkan konsumsi vitamin
def schedule(update: Update, context: CallbackContext) -> None:
    update.message.reply_text('Kapan Anda ingin menjadwalkan konsumsi vitamin? (misal: setiap hari jam 8:00)')

def main() -> None:
    # Ganti 'YOUR_TOKEN' dengan token bot Anda
    updater = Updater("YOUR_TOKEN")

    dp = updater.dispatcher

    dp.add_handler(CommandHandler("start", start))
    dp.add_handler(CommandHandler("help", help_command))
    dp.add_handler(CommandHandler("schedule", schedule))

    updater.start_polling()
    updater.idle()

if __name__ == '__main__':
    main()

Langkah 3: Menambahkan Fitur Penjadwalan

Setelah membuat struktur dasar, kita perlu menambahkan fitur untuk menjadwalkan konsumsi vitamin. Kita akan menyimpan jadwal dalam daftar dan mengatur pengingat menggunakan JobQueue dari pustaka python-telegram-bot.

from datetime import time
from telegram.ext import JobQueue

# Daftar untuk menyimpan jadwal
schedule_list = []

# Fungsi untuk menjadwalkan konsumsi vitamin
def schedule(update: Update, context: CallbackContext) -> None:
    if context.args:
        time_input = context.args[0]
        # Mengonversi input ke dalam format waktu
        try:
            hour, minute = map(int, time_input.split(':'))
            scheduled_time = time(hour, minute)
            schedule_list.append(scheduled_time)
            context.job_queue.run_daily(send_reminder, time=scheduled_time, context=update.message.chat_id, name=str(scheduled_time))
            update.message.reply_text(f'Vitamin Anda akan dijadwalkan setiap hari jam {scheduled_time}.')
        except ValueError:
            update.message.reply_text('Format waktu salah! Gunakan format HH:MM')
    else:
        update.message.reply_text('Silakan masukkan waktu dalam format HH:MM.')

# Fungsi untuk mengirimkan pengingat
def send_reminder(context: CallbackContext) -> None:
    job = context.job
    context.bot.send_message(job.context, text='Jangan lupa untuk mengonsumsi vitamin Anda!')

def main() -> None:
    # Ganti 'YOUR_TOKEN' dengan token bot Anda
    updater = Updater("YOUR_TOKEN")

    dp = updater.dispatcher

    dp.add_handler(CommandHandler("start", start))
    dp.add_handler(CommandHandler("help", help_command))
    dp.add_handler(CommandHandler("schedule", schedule))

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

if __name__ == '__main__':
    main()

Langkah 4: Menjalankan Bot

Setelah Anda selesai menambahkan semua fungsionalitas, simpan file Python Anda dan jalankan dengan perintah:

python nama_file.py

Gantilah nama_file.py dengan nama file yang Anda gunakan. Sekarang bot Anda siap digunakan!

Langkah 5: Menguji Bot

  1. Mulai Bot: Cari bot Anda di Telegram dan kirimkan /start. Anda akan menerima pesan sambutan dari bot.
  2. Mendapatkan Bantuan: Kirimkan perintah /help untuk melihat bantuan.
  3. Menjadwalkan Konsumsi Vitamin: Untuk menjadwalkan, kirimkan /schedule HH:MM, misalnya /schedule 08:00.

Setelah itu, bot akan mengingatkan Anda setiap hari pada waktu yang Anda tentukan untuk mengonsumsi vitamin.

Kesimpulan

Anda sekarang telah berhasil membuat bot Telegram sederhana untuk penjadwalan konsumsi vitamin menggunakan Python! Bot ini memberikan fungsionalitas dasar untuk menjadwalkan pengingat dan membantu pengguna menjaga pola konsumsi vitamin mereka. Anda dapat mengembangkan fitur ini lebih lanjut, seperti menambahkan opsi untuk menghapus jadwal atau mengubah waktu. Selamat mencoba!