Tutorial Bot Telegram Pencatat Keuangan Otomatis Google Sheets

Pernahkah Anda merasa repot mencatat pengeluaran dan pemasukan harian secara manual? Atau mungkin Anda sering lupa mencatatnya? Kini, Anda bisa membuat solusi sendiri: sebuah bot Telegram yang akan membantu Anda mencatat keuangan secara otomatis dan praktis, dengan data yang tersimpan rapi di Google Sheets!
Dalam tutorial ini, kita akan memanfaatkan sebuah proyek open-source keren dari Wimboro di GitHub, yaitu Financial-Bot-Telegram. Bot ini sederhana namun fungsional, cocok bagi Anda yang ingin memulai otomatisasi pencatatan keuangan pribadi.
Mari kita mulai!
Apa yang Anda Butuhkan?
Sebelum memulai, pastikan Anda telah menyiapkan beberapa hal berikut:
- Akun Telegram: Tentu saja, untuk menjalankan bot dan berinteraksi dengannya.
- Python Terinstal: Bot ini dibuat dengan Python. Pastikan Python versi 3.x sudah terinstal di komputer atau server Anda. Anda bisa install Python seperti yang ada di postingan All In One (AIO) script berikut.
- Pengetahuan Dasar Terminal/Command Prompt: Untuk menjalankan beberapa perintah instalasi dan menjalankan bot.
- Akun Google: Untuk menggunakan Google Sheets sebagai database pencatatan.
- Git Terinstal (Opsional, tapi disarankan): Untuk memudahkan mengunduh kode dari GitHub.
Fitur Utama Bot Finansial Ini
Bot Telegram yang akan kita buat memiliki beberapa fitur inti:
- Menambah Pemasukan: Catat semua sumber pendapatan Anda.
- Menambah Pengeluaran: Catat semua pengeluaran Anda.
- Melihat Laporan Keuangan: Dapatkan ringkasan pemasukan dan pengeluaran bulanan.
- Menghapus Data: Jika ada kesalahan input, Anda bisa menghapusnya.
- Bantuan: Daftar perintah yang tersedia.
Langkah-Langkah Instalasi dan Konfigurasi
Ikuti langkah-langkah berikut dengan seksama:
Clone Repository dari GitHub
Buka terminal atau command prompt Anda, lalu clone repositori Financial-Bot-Telegram:
git clone https://github.com/Wimboro/Financial-Bot-Telegram.git
Kemudian, masuk ke direktori proyek:
cd Financial-Bot-Telegram
Jika Anda tidak memiliki Git, Anda bisa mengunduh ZIP file langsung dari halaman GitHub dan mengekstraknya.
Instal Dependensi yang Dibutuhkan
Bot ini memerlukan beberapa library Python. Instal semuanya dengan perintah:
pip install -r requirements.txt
Perintah ini akan menginstal python-telegram-bot
, gspread
, dan oauth2client
yang tercantum dalam file requirements.txt
.
Membuat Bot Telegram Baru via BotFather
Untuk mendapatkan token API yang dibutuhkan bot:
- Buka aplikasi Telegram Anda.
- Cari
@BotFather
dan mulai percakapan dengannya. - Ketik
/newbot
dan ikuti instruksi yang diberikan.- Anda akan diminta memberi nama untuk bot Anda (misalnya, “Catatan Keuanganku”).
- Kemudian, Anda akan diminta memberi username untuk bot Anda, yang harus diakhiri dengan “bot” (misalnya,
CatatanKeuangankuBot
).
- Setelah berhasil, BotFather akan memberikan Anda token API. Simpan token ini baik-baik, karena akan kita gunakan nanti.
Konfigurasi Google Sheets API
Bot ini akan menyimpan data di Google Sheets. Anda perlu mengotorisasi bot untuk mengakses Google Sheet Anda:
- Buat Proyek Baru di Google Cloud Console:
- Kunjungi Google Cloud Console.
- Buat proyek baru (atau pilih proyek yang sudah ada).
- Aktifkan Google Drive API dan Google Sheets API:
- Di dashboard proyek Anda, cari “APIs & Services” > “Library”.
- Cari “Google Drive API” dan klik “Enable”.
- Cari “Google Sheets API” dan klik “Enable”.
- Buat Kredensial (Service Account):
- Pergi ke “APIs & Services” > “Credentials”.
- Klik “+ CREATE CREDENTIALS” dan pilih “Service account”.
- Beri nama service account Anda (misalnya, “financial-bot-sheets-accessor”).
- Klik “CREATE AND CONTINUE”.
- Untuk “Grant this service account access to project”, Anda bisa memilih peran “Editor” (atau peran lain yang sesuai dengan kebutuhan akses). Klik “CONTINUE”.
- Lewati bagian “Grant users access to this service account” dan klik “DONE”.
- Setelah service account dibuat, klik pada email service account yang baru saja Anda buat di daftar credentials.
- Pindah ke tab “KEYS”.
- Klik “ADD KEY” > “Create new key”.
- Pilih “JSON” sebagai key type dan klik “CREATE”.
- Sebuah file JSON akan terunduh otomatis. Ganti nama file ini menjadi
credentials.json
dan letakkan di dalam direktori proyekFinancial-Bot-Telegram
Anda.
- Buat Google Sheet Baru:
- Buka Google Sheets dan buat spreadsheet baru.
- Beri nama sheet tersebut (misalnya, “Data Keuangan Bot”). Nama sheet pertama secara default biasanya adalah “Sheet1”. Anda bisa menggantinya jika mau.
- Bagikan Sheet dengan Service Account:
- Buka file
credentials.json
yang tadi Anda unduh. Cari alamat email di field"client_email"
(contoh:financial-bot-sheets-accessor@nama-proyek-anda.iam.gserviceaccount.com
). - Kembali ke Google Sheet Anda, klik tombol “Share” (Bagikan) di pojok kanan atas.
- Masukkan alamat email service account tadi ke kolom “Add people and groups”.
- Pastikan service account diberi akses sebagai “Editor”.
- Klik “Send” (atau “Done”).
- Buka file
- Catat Sheet ID dan Nama Sheet:
- Sheet ID: Buka Google Sheet Anda. ID Sheet adalah bagian dari URL. Contoh:
https://docs.google.com/spreadsheets/d/INI_ADALAH_SHEET_ID_ANDA/edit#gid=0
. Salin bagianINI_ADALAH_SHEET_ID_ANDA
. - Nama Sheet: Catat nama sheet tempat data akan disimpan (defaultnya “Sheet1” atau nama yang Anda berikan).
- Sheet ID: Buka Google Sheet Anda. ID Sheet adalah bagian dari URL. Contoh:
Konfigurasi Environment Variables
Buat file bernama .env
di dalam direktori utama proyek Financial-Bot-Telegram
. Isi file tersebut dengan format berikut, ganti nilai placeholder dengan informasi Anda:
TOKEN="TOKEN_API_BOT_TELEGRAM_ANDA"
SHEET_ID="ID_GOOGLE_SHEET_ANDA"
SHEET_NAME="NamaSheetDiGoogleSheetAnda"
Contoh:
TOKEN="1234567890:ABCDEFGHIJKLMNOPQRSTUVWXYZ123456789"
SHEET_ID="1aBcDeFgHiJkLmNoPqRsTuVwXyZ_ExampleSheetID"
SHEET_NAME="Sheet1"
Penting: Pastikan file credentials.json
Anda juga sudah ada di direktori yang sama dengan main.py
.
Jalankan Bot!
Setelah semua konfigurasi selesai, buka terminal atau command prompt Anda di direktori Financial-Bot-Telegram
, lalu jalankan bot dengan perintah:
python main.py
Jika tidak ada error, bot Anda sekarang sudah aktif dan siap digunakan di Telegram!
Cara Menggunakan Bot Finansial Anda
Buka percakapan dengan bot Anda di Telegram (cari username bot yang telah Anda buat). Berikut adalah perintah-perintah yang bisa Anda gunakan:
- Menambah Pemasukan: Ketik apa saja Contoh: 500000 Gaji bulanan Mei
- Menambah Pengeluaran: Ketik apa saja Contoh: Makan siang 25000
- Melihat Laporan Keuangan:
/
laporan
(untuk laporan bulan dan tahun saat ini) - Menghapus Data:
/hapus
(untuk menghapus data pada Google Sheet) - Mendapatkan Bantuan:
/help
Bot akan menampilkan daftar perintah yang tersedia.
Kesimpulan
Selamat! Anda telah berhasil membuat dan mengkonfigurasi bot Telegram pencatat keuangan pribadi Anda sendiri. Dengan bot ini, mencatat keuangan jadi lebih mudah, cepat, dan terintegrasi langsung dengan Google Sheets. Anda bisa mengembangkannya lebih lanjut jika memiliki ide fitur tambahan.
Proyek Financial-Bot-Telegram dari Wimboro ini adalah contoh bagus bagaimana Python dan berbagai API dapat dimanfaatkan untuk membuat alat yang berguna dalam kehidupan sehari-hari.