Cara Membuat Bot Telegram Catatan Pribadi dengan Python dan SQLite
Part 1 - Membuat Bot Telegram Catatan Pribadi dengan Python dan SQLite
PyCoding-ID - Telegram telah berkembang jauh melampaui sekadar aplikasi chatting. Kini, banyak orang menggunakan bot Telegram untuk mempermudah aktivitas sehari-hari, mulai dari pengingat jadwal, manajemen tugas, hingga pencatat keuangan. Salah satu ide sederhana namun sangat berguna adalah bot pencatat pribadi. Dengan bot ini, kita bisa menulis catatan langsung lewat chat, menyimpannya, dan melihat kembali kapan saja tanpa khawatir hilang.
![]() |
PyCoding-ID - Belajar cara membuat bot Telegram dengan Python dan SQLite |
Di artikel Part 1 ini, kita akan belajar cara membuat bot Telegram dengan Python yang berfungsi sebagai pencatat pribadi. Kita akan menggunakan bahasa pemrograman Python, library python-telegram-bot, dan database ringan SQLite. Tutorial ini cocok untuk pemula yang ingin belajar pemrograman praktis sekaligus menghasilkan proyek nyata.
🎯 Apa yang Akan Kita Buat?
Kita akan membangun bot sederhana dengan fitur berikut:
/start
→ Menyapa pengguna dan memberi instruksi.-
/lihat
→ Menampilkan catatan terakhir yang sudah tersimpan. /tulis <isi catatan>
→ Menyimpan catatan ke database.
Dengan bot ini, kita tidak perlu lagi membuka aplikasi catatan di HP. Cukup ketik perintah ke bot Telegram, maka catatan tersimpan otomatis. Sangat praktis, terutama untuk ide mendadak yang sering muncul ketika sedang online.
🔧 Persiapan Awal
Sebelum masuk ke kode, pastikan Anda sudah menyiapkan hal berikut:
- Python 3.8+ terinstal di komputer (Windows, macOS, atau Linux).
- Token bot dari
@BotFather
yang akan digunakan untuk menghubungkan kode Python dengan Telegram.- pip sudah tersedia untuk menginstal library tambahan
- Akun Telegram aktif.
Membuat Bot Telegram di BotFather
- Buka aplikasi Telegram, cari
@BotFather
. - Ketik perintah
/newbot
. - Ikuti instruksi untuk memberikan nama bot dan username unik.
- Anda akan mendapatkan API Token, contohnya
123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11
5.impan token tersebut, karena akan digunakan di file bot.py
.
Instalasi Library Python
Jalankan perintah berikut di terminal:
pip install python-telegram-bot==13.15
🗂️ Struktur Proyek
Buat folder dengan nama catatan-bot
, lalu buat dua file di dalamnya:
catatan-bot/
├── bot.py
└── database.py
- bot.py → kode utama bot Telegram.
- database.py → modul untuk menyimpan dan mengambil catatan dengan SQLite.
💾 Membuat Modul Database (database.py)
Kita gunakan SQLite karena ringan, tidak perlu instal server tambahan, dan langsung bekerja di semua sistem operasi.
Isi database.py
dengan kode berikut:
import sqlite3
def init_db():
conn = sqlite3.connect("catatan.db")
c = conn.cursor()
c.execute("""
CREATE TABLE IF NOT EXISTS catatan (
id INTEGER PRIMARY KEY AUTOINCREMENT,
user_id INTEGER,
teks TEXT,
tanggal TIMESTAMP DEFAULT CURRENT_TIMESTAMP
)
""")
conn.commit()
conn.close()
def simpan_catatan(user_id, teks):
conn = sqlite3.connect("catatan.db")
c = conn.cursor()
c.execute("INSERT INTO catatan (user_id, teks) VALUES (?, ?)", (user_id, teks))
conn.commit()
conn.close()
def ambil_catatan(user_id, limit=5):
conn = sqlite3.connect("catatan.db")
c = conn.cursor()
c.execute("SELECT teks, tanggal FROM catatan WHERE user_id=? ORDER BY id DESC LIMIT ?", (user_id, limit))
rows = c.fetchall()
conn.close()
return rows
🤖 Membuat Bot Telegram (bot.py)
Sekarang mari kita buat kode utama bot.
from telegram.ext import Updater, CommandHandler
import logging
import database
TOKEN = "ISI_TOKEN_BOT_KAMU"
logging.basicConfig(level=logging.INFO)
def start(update, context):
update.message.reply_text("Halo! Gunakan /tulis untuk menambah catatan.")
def tulis(update, context):
user_id = update.effective_user.id
teks = " ".join(context.args)
if not teks:
update.message.reply_text("Gunakan: /tulis ")
return
database.simpan_catatan(user_id, teks)
update.message.reply_text("✅ Catatan disimpan!")
def lihat(update, context):
user_id = update.effective_user.id
data = database.ambil_catatan(user_id, limit=5)
if not data:
update.message.reply_text("Belum ada catatan.")
return
pesan = "\n\n".join([f"📝 {row[0]} ({row[1]})" for row in data])
update.message.reply_text("Catatan terakhir:\n\n" + pesan)
if __name__ == "__main__":
database.init_db()
updater = Updater(TOKEN, use_context=True)
dp = updater.dispatcher
dp.add_handler(CommandHandler("start", start))
dp.add_handler(CommandHandler("tulis", tulis))
dp.add_handler(CommandHandler("lihat", lihat))
updater.start_polling()
updater.idle()
Beberapa hal penting pada kode di atas:
- Updater digunakan untuk menerima pesan dari Telegram.
- CommandHandler menangani perintah
/start
,/tulis
, dan/lihat
. - Semua catatan tersimpan berdasarkan
user_id
, sehingga bot bisa dipakai oleh banyak pengguna tanpa saling campur data.
▶️ Menjalankan Bot
- Simpan file
bot.py
dandatabase.py
. - Jalankan
bot.py
- Buka aplikasi Telegram, cari bot Anda, lalu klik Start
- Coba perintah berikut:
/start
→ bot menyapa Anda./tulis Belajar Python hari ini
→ catatan tersimpan.-
/lihat
→ daftar catatan terakhir ditampilkan.
📝 Keunggulan Bot Ini
Kenapa menggunakan bot pencatat pribadi di Telegram:
- Praktis → tidak perlu aplikasi tambahan, cukup Telegram.
- Cepat → catatan bisa disimpan hanya dengan satu perintah.
- Privasi terjaga → catatan tersimpan di database lokal Anda, bukan server pihak ketiga.
- Mudah dikembangkan → bisa ditambah fitur reminder, pencarian catatan, bahkan export ke file Excel atau PDF.
Selamat mencoba, dan semoga artikel ini bermanfaat bagi perjalanan belajar Python Anda di PyCodingID
0 Komentar