Telegram adalah salah satu aplikasi pesan yang populer dan memiliki banyak fitur. Salah satunya adalah kemampuan untuk membuat bot yang bisa membantu kita dalam berbagai hal, termasuk mengingatkan jadwal kunjungan. Di tutorial ini, kita akan belajar bagaimana cara membuat bot Telegram sederhana yang bisa mengingatkan pengguna tentang jadwal kunjungan menggunakan bahasa pemrograman Python.
Table of Contents
- Persiapan
- Membuat Bot di Telegram
- Menginstal Library yang Diperlukan
- Menulis Kode Bot Telegram
- Menjalankan Bot
- Menambahkan Fitur Pengingat
- Kesimpulan
Persiapan
Sebelum memulai, pastikan Anda telah memenuhi persyaratan berikut:
- Memiliki akun Telegram.
- Memiliki Python terinstal di komputer Anda (disarankan versi 3.6 atau yang lebih baru).
- Menginstal IDE atau teks editor seperti Visual Studio Code atau PyCharm untuk menulis kode.
Membuat Bot di Telegram
Langkah pertama adalah membuat bot di Telegram. Berikut ini adalah langkah-langkahnya:
- Buka aplikasi Telegram dan cari @BotFather.
- Kirim pesan
/newbot
untuk membuat bot baru. - BotFather akan meminta Anda untuk memberikan nama bot. Masukkan nama bot yang Anda inginkan.
- Selanjutnya, Anda akan diminta untuk memberikan username untuk bot Anda. Username harus diakhiri dengan
bot
. Misalnya:my_reminder_bot
. - Setelah bot dibuat, Anda akan menerima token API. Catat token tersebut karena kita akan menggunakannya untuk berinteraksi dengan bot.
Menginstal Library yang Diperlukan
Setelah memiliki bot, langkah selanjutnya adalah menginstal library Python yang diperlukan. Kita akan menggunakan python-telegram-bot
untuk berinteraksi dengan bot Telegram.
Buka terminal atau command prompt, dan jalankan perintah berikut:
pip install python-telegram-bot
Selain itu, kita juga akan menggunakan library schedule
untuk mengatur pengingat. Instal library ini juga dengan perintah berikut:
pip install schedule
Menulis Kode Bot Telegram
Sekarang, mari kita mulai menulis kode untuk bot kita. Buat file Python baru, misalnya reminder_bot.py
, lalu salin kode berikut:
import logging
from telegram import Update
from telegram.ext import Updater, CommandHandler, CallbackContext
import schedule
import time
import threading
# Aktifkan logging
logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', level=logging.INFO)
logger = logging.getLogger(__name__)
# Token API bot Anda
TOKEN = 'YOUR_BOT_TOKEN'
# Daftar pengingat
reminders = []
def start(update: Update, context: CallbackContext) -> None:
update.message.reply_text('Selamat datang di Bot Pengingat! Gunakan /setreminder <jadwal> untuk mengatur pengingat.')
def set_reminder(update: Update, context: CallbackContext) -> None:
if len(context.args) == 0:
update.message.reply_text('Silakan masukkan waktu dan pesan. Contoh: /setreminder 10:00 Pertemuan dengan klien.')
return
time_reminder = context.args[0] # waktu pengingat
reminder_msg = ' '.join(context.args[1:]) # sisa argument adalah pesan
# Simpan pengingat ke dalam list
reminders.append((time_reminder, reminder_msg))
update.message.reply_text(f'Pengingat diatur untuk jam {time_reminder} dengan pesan: {reminder_msg}')
def job(update: Update, context):
for time_reminder, reminder_msg in reminders:
current_time = time.strftime("%H:%M")
if current_time == time_reminder:
context.bot.send_message(chat_id=update.effective_chat.id, text=reminder_msg)
def start_scheduler(context):
schedule.every(1).minutes.do(job, context)
def main() -> None:
# Inisialisasi Updater dan Dispatcher
updater = Updater(TOKEN)
dispatcher = updater.dispatcher
# Buat handler untuk command
dispatcher.add_handler(CommandHandler("start", start))
dispatcher.add_handler(CommandHandler("setreminder", set_reminder))
# Jalankan scheduler dalam thread terpisah
thread = threading.Thread(target=start_scheduler, args=(updater,))
thread.start()
# Mulai bot
updater.start_polling()
updater.idle()
if __name__ == '__main__':
main()
Penjelasan Kode
- Import Library: Kita meng-import library yang dibutuhkan untuk bot Telegram dan pengingat.
- Inisialisasi: Kita mengatur logging dan mendefinisikan token API untuk bot.
- Fungsi:
start
: Memberikan pesan sambutan saat pengguna menggunakan command/start
.set_reminder
: Mengatur pengingat berdasarkan input pengguna.job
: Mengecek apakah saat ini adalah waktu pengingat dan mengirimkan pesan jika ya.start_scheduler
: Menjalankan scheduler dalam thread terpisah.
- Main Function: Di sini kita memulai bot dan menambahkan handler untuk command.
Menjalankan Bot
Setelah kode siap, Anda bisa menjalankan bot dengan menjalankan perintah berikut di terminal:
python reminder_bot.py
Jika tidak ada error, bot Anda akan aktif dan siap menerima perintah.
Menambahkan Fitur Pengingat
Saat ini, bot yang kita buat hanya dapat mengatur pengingat. Namun, Anda bisa menambahkan fitur lain, seperti menghapus pengingat atau melihat daftar pengingat yang telah diatur. Anda hanya perlu membuat fungsi tambahan yang sesuai dan menambahkannya pada handler di bagian main()
.
Kesimpulan
Anda telah berhasil membuat bot Telegram sederhana untuk mengingatkan jadwal kunjungan menggunakan Python. Bot ini masih dapat dikembangkan lebih lanjut dengan menambahkan berbagai fitur lainnya sesuai kebutuhan. Dengan kemampuan dasar yang sudah ada, Anda bisa mulai bereksperimen dan menjelajahi dunia pemrograman bot Telegram lebih dalam.
Selamat mencoba!