Cara Membuat Bot Telegram Sederhana untuk Info Keuangan Pribadi dengan Python

3 min read 24-08-2024
Cara Membuat Bot Telegram Sederhana untuk Info Keuangan Pribadi dengan Python

Telegram merupakan aplikasi perpesanan yang semakin populer, dan salah satu fitur menariknya adalah kemampuan untuk membuat bot. Dengan bot, kamu bisa mengotomatiskan berbagai hal, termasuk memberikan informasi seputar keuangan pribadi. Di artikel ini, kita akan membahas langkah-langkah untuk membuat bot Telegram sederhana menggunakan bahasa pemrograman Python.

Mengapa Menggunakan Bot Telegram untuk Info Keuangan Pribadi?

Sebelum masuk ke tahapan pembuatan, mari kita bahas mengapa bot Telegram sangat berguna untuk info keuangan pribadi:

  • Kemudahan Akses: Kamu dapat mengakses info keuangan kapan saja dan di mana saja hanya dengan smartphone.
  • Notifikasi Real-time: Bot bisa mengirimkan notifikasi ketika ada perubahan pada pengeluaran atau pemasukan.
  • Automatisasi: Mengurangi beban manual dalam pengelolaan data keuangan.

Persiapan

Sebelum membuat bot, ada beberapa hal yang perlu dipersiapkan:

1. Install Python

Pastikan kamu sudah menginstall Python di komputer atau laptop kamu. Kamu bisa mengunduhnya dari situs resmi Python.

2. Install Library yang Dibutuhkan

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

pip install python-telegram-bot

Selain itu, kita juga akan gunakan sqlite3 untuk menyimpan data keuangan. Library ini sudah termasuk dalam instalasi Python standar, jadi tidak perlu diinstall secara terpisah.

3. Buat Bot di Telegram

  • Buka aplikasi Telegram dan cari bot bernama BotFather.
  • Ketik /newbot untuk membuat bot baru.
  • Ikuti instruksi untuk memberikan nama dan username untuk bot kamu.
  • Setelah selesai, BotFather akan memberikan token API. Simpan token ini karena kita akan membutuhkannya nanti.

Langkah-Langkah Membuat Bot

Sekarang kita siap untuk membuat bot Telegram sederhana.

1. Membuat Database

Kita akan menggunakan SQLite untuk menyimpan info keuangan. Buat file baru bernama database.py dan tambahkan kode berikut:

import sqlite3

def init_db():
    conn = sqlite3.connect('keuangan.db')
    c = conn.cursor()
    c.execute('''CREATE TABLE IF NOT EXISTS transaksi
                 (id INTEGER PRIMARY KEY AUTOINCREMENT,
                  jenis TEXT,
                  jumlah REAL)''')
    conn.commit()
    conn.close()

if __name__ == "__main__":
    init_db()

2. Menangani Transaksi

Selanjutnya, kita perlu membuat fungsi untuk menambahkan transaksi ke database. Tambahkan fungsi ini ke dalam database.py:

def tambah_transaksi(jenis, jumlah):
    conn = sqlite3.connect('keuangan.db')
    c = conn.cursor()
    c.execute("INSERT INTO transaksi (jenis, jumlah) VALUES (?, ?)", (jenis, jumlah))
    conn.commit()
    conn.close()

def lihat_transaksi():
    conn = sqlite3.connect('keuangan.db')
    c = conn.cursor()
    c.execute("SELECT * FROM transaksi")
    data = c.fetchall()
    conn.close()
    return data

3. Membuat Bot Telegram

Buat file baru bernama bot.py dan tambahkan kode berikut:

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

# Masukkan token API yang kamu dapatkan dari BotFather
TOKEN = 'YOUR_API_TOKEN'

def start(update: Update, context: CallbackContext) -> None:
    update.message.reply_text('Selamat datang di Bot Info Keuangan Pribadi! Gunakan /tambah untuk menambahkan transaksi.')

def tambah(update: Update, context: CallbackContext) -> None:
    try:
        jenis = context.args[0]  # Jenis transaksi
        jumlah = float(context.args[1])  # Jumlah transaksi
        database.tambah_transaksi(jenis, jumlah)
        update.message.reply_text(f'Transaksi {jenis} sebesar {jumlah} telah ditambahkan!')
    except (IndexError, ValueError):
        update.message.reply_text('Gunakan format: /tambah <jenis> <jumlah>')

def lihat(update: Update, context: CallbackContext) -> None:
    transaksi = database.lihat_transaksi()
    if not transaksi:
        update.message.reply_text('Belum ada transaksi.')
    else:
        response = '\n'.join([f"{t[1]}: {t[2]}" for t in transaksi])
        update.message.reply_text(response)

def main():
    database.init_db()  # Inisialisasi database
    updater = Updater(TOKEN)
    dispatcher = updater.dispatcher

    dispatcher.add_handler(CommandHandler('start', start))
    dispatcher.add_handler(CommandHandler('tambah', tambah))
    dispatcher.add_handler(CommandHandler('lihat', lihat))

    updater.start_polling()
    updater.idle()

if __name__ == '__main__':
    main()

4. Menjalankan Bot

Setelah semua siap, sekarang saatnya untuk menjalankan bot Telegram kamu. Jalankan file bot.py:

python bot.py

5. Menggunakan Bot

Ketika bot sudah aktif, kamu bisa mulai berinteraksi dengan bot di Telegram:

  • /start: Menampilkan pesan sambutan.
  • /tambah jenis jumlah: Menambahkan transaksi, misalnya /tambah pengeluaran 100000 untuk menambahkan pengeluaran sebesar 100.000.
  • /lihat: Menampilkan semua transaksi yang telah dimasukkan.

Penutup

Dengan mengikuti langkah-langkah ini, kamu sudah berhasil membuat bot Telegram sederhana untuk informasi keuangan pribadi menggunakan Python. Kamu dapat mengembangkan lebih lanjut bot ini dengan menambahkan fitur-fitur lain seperti analisis pengeluaran, laporan bulanan, dan lain-lain. Selamat mencoba!