Panduan Menggunakan Telegram Bot untuk Reminder Tugas Harian Tanpa Aplikasi Tambahan

Panduan Menggunakan Telegram Bot untuk Reminder Tugas Harian Tanpa Aplikasi Tambahan

Lupa deadline tugas, melewatkan jadwal meeting, atau kehilangan track progress harian? Masalah klasik yang sering dialami developer dan pekerja remote. Solusinya bukan selalu harus install aplikasi baru yang makan storage. Telegram Bot bisa jadi alternatif ringan untuk sistem reminder pribadi—tanpa perlu aplikasi tambahan, cukup chat dengan bot yang kamu buat sendiri. Artikel ini akan memandu kamu membuat bot reminder sederhana yang bisa dijalankan dari Termux atau server pribadi, dengan fokus pada praktikalitas dan keamanan.

Kenapa Telegram Bot untuk Reminder?

Telegram punya API bot yang stabil dan gratis. Kamu bisa kirim pesan terjadwal, terima notifikasi real-time, dan semua data tersimpan di chat pribadi. Tidak seperti aplikasi to-do list yang butuh sinkronisasi cloud berbayar, bot Telegram cukup pakai koneksi internet standar. Cocok untuk yang sudah terbiasa dengan Telegram sebagai komunikasi sehari-hari, jadi notifikasi reminder langsung masuk ke tempat yang sering kamu buka.

Keuntungan lain: fleksibilitas. Kamu bisa custom logic reminder sesuai kebutuhan—misalnya reminder berulang setiap pagi, atau reminder sekali pakai untuk deadline spesifik. Semua bisa dikontrol lewat script Python atau Bash sederhana yang jalan di background.

Persiapan Awal

Sebelum mulai coding, siapkan dulu environment-nya. Kamu butuh akun Telegram, Termux (atau server Linux), dan Python 3. Langkah pertama adalah membuat bot di Telegram:

  1. Buka Telegram, cari @BotFather
  2. Ketik /newbot dan ikuti instruksi untuk beri nama bot
  3. Simpan token API yang diberikan—ini kunci akses bot kamu
  4. Cari bot kamu sendiri di Telegram dan klik Start untuk aktifkan chat

Di Termux, install library yang dibutuhkan:

pkg update && pkg upgrade
pkg install python
pip install python-telegram-bot schedule

Library python-telegram-bot untuk interaksi dengan API Telegram, sedangkan schedule untuk atur jadwal reminder. Kedua library ini ringan dan cukup untuk kebutuhan dasar.

Langkah Praktis Membuat Bot Reminder

  1. Dapatkan Chat ID kamu. Bot perlu tahu ke mana harus kirim pesan. Buat script sederhana untuk print chat ID saat kamu kirim pesan ke bot:
    from telegram import Update
    from telegram.ext import Application, MessageHandler, filters
    
    TOKEN = "ISI_TOKEN_BOT_KAMU"
    
    async def get_chat_id(update: Update, context):
        print(f"Chat ID: {update.effective_chat.id}")
        await update.message.reply_text(f"Chat ID kamu: {update.effective_chat.id}")
    
    app = Application.builder().token(TOKEN).build()
    app.add_handler(MessageHandler(filters.TEXT, get_chat_id))
    app.run_polling()
    Jalankan script ini, kirim pesan apa saja ke bot, dan catat Chat ID yang muncul.
  2. Buat script reminder dasar. Setelah punya Chat ID, buat script yang kirim pesan terjadwal. Contoh reminder harian jam 9 pagi:
    import schedule
    import time
    from telegram import Bot
    import asyncio
    
    TOKEN = "ISI_TOKEN_BOT_KAMU"
    CHAT_ID = "ISI_CHAT_ID_KAMU"
    
    bot = Bot(token=TOKEN)
    
    async def send_reminder():
        await bot.send_message(chat_id=CHAT_ID, text="⏰ Reminder: Cek task list harian kamu!")
    
    def job():
        asyncio.run(send_reminder())
    
    schedule.every().day.at("09:00").do(job)
    
    print("Bot reminder aktif. Tekan Ctrl+C untuk stop.")
    while True:
        schedule.run_pending()
        time.sleep(60)
    Script ini akan jalan terus di background dan kirim reminder setiap hari jam 9 pagi.
  3. Jalankan di background dengan tmux atau screen. Agar bot tetap jalan meski kamu tutup Termux, gunakan session manager:
    pkg install tmux
    tmux new -s reminder
    python reminder_bot.py
    Tekan Ctrl+B lalu D untuk detach. Bot akan tetap jalan. Untuk kembali ke session: tmux attach -t reminder.
  4. Tambahkan variasi reminder. Kamu bisa bikin reminder untuk konteks berbeda—misalnya reminder meeting jam 2 siang, atau reminder istirahat setiap 2 jam:
    schedule.every().day.at("14:00").do(lambda: asyncio.run(bot.send_message(chat_id=CHAT_ID, text="📅 Meeting dalam 15 menit")))
    schedule.every(2).hours.do(lambda: asyncio.run(bot.send_message(chat_id=CHAT_ID, text="☕ Waktunya istirahat sebentar")))
    Sesuaikan dengan ritme kerja kamu.

Kesalahan yang Sering Terjadi

  • Token atau Chat ID salah. Kalau bot tidak kirim pesan, cek lagi token dan chat ID. Pastikan tidak ada spasi atau karakter tersembunyi saat copy-paste. Error umum: Unauthorized berarti token salah, Bad Request: chat not found berarti chat ID salah.
  • Script mati saat Termux tertutup. Kalau tidak pakai tmux/screen, script akan berhenti begitu Termux di-close. Solusinya: selalu jalankan dalam session atau gunakan service manager seperti termux-services.
  • Timezone tidak sesuai. Library schedule pakai waktu sistem. Kalau reminder tidak tepat waktu, cek timezone Termux dengan date dan set ulang jika perlu: export TZ='Asia/Jakarta'.
  • Bot spam karena loop error. Kalau ada bug di script dan bot masuk infinite loop, bisa kirim ratusan pesan dalam sekejap. Selalu test dulu dengan interval panjang (misalnya setiap 5 menit) sebelum deploy ke jadwal harian.
  • Hardcode credential di script. Jangan commit script dengan token ke GitHub. Gunakan environment variable atau file config terpisah yang di-ignore dari version control.

Tips Aman dan Etis

Bot reminder ini untuk produktivitas pribadi, bukan untuk spam atau automasi massal. Beberapa prinsip yang perlu dijaga:

Jangan bagikan token bot. Token adalah akses penuh ke bot kamu. Kalau bocor, orang lain bisa kirim pesan atas nama bot atau bahkan hapus bot. Simpan token di file terpisah dengan permission ketat (chmod 600) atau gunakan environment variable.

Batasi rate limit. Telegram API punya batas pengiriman pesan. Untuk bot pribadi, ini jarang jadi masalah, tapi kalau kamu bikin bot untuk grup atau banyak user, pastikan ada throttling agar tidak kena ban.

Jangan otomasi interaksi dengan bot lain tanpa izin. Misalnya bikin bot yang auto-reply ke bot orang lain atau scrape data dari channel tanpa consent. Ini melanggar ToS Telegram dan bisa bikin akun kamu di-suspend.

Backup data reminder. Kalau kamu simpan daftar task di file lokal (misalnya JSON atau SQLite), backup secara berkala. Termux bisa kehilangan data kalau aplikasi di-uninstall atau storage corrupt.

Pengembangan Lebih Lanjut

Setelah bot dasar jalan, kamu bisa tambahkan fitur interaktif. Misalnya, bot bisa terima command untuk tambah reminder baru tanpa edit script:

/remind 15:00 Review PR tim
/list - tampilkan semua reminder aktif
/delete 2 - hapus reminder nomor 2

Ini butuh handler command dan storage sederhana (bisa pakai JSON file atau SQLite). Dengan begitu, bot jadi lebih dinamis dan tidak perlu restart setiap kali ada perubahan jadwal.

Alternatif lain: integrasikan dengan Google Calendar API atau Notion API untuk sinkronisasi dua arah. Bot bisa baca event dari calendar dan kirim reminder otomatis, atau sebaliknya, task yang kamu input ke bot bisa masuk ke calendar.

Kesimpulan

Telegram Bot untuk reminder adalah solusi praktis yang tidak butuh aplikasi tambahan. Dengan script Python sederhana dan Termux, kamu bisa punya sistem notifikasi personal yang fleksibel dan ringan. Kuncinya: mulai dari yang sederhana, test dengan baik, dan jaga keamanan token. Bot ini bukan cuma soal coding, tapi juga tentang membangun workflow yang sesuai dengan ritme kerja kamu. Selamat mencoba, dan semoga produktivitas kamu meningkat tanpa harus install puluhan aplikasi to-do list yang ujung-ujungnya tidak terpakai.

Next Post Previous Post
No Comment
Add Comment
comment url