Cara Bikin Bot Telegram Cek Mutasi via Python

Posted on

Tutorial membuat bot Telegram cek mutasi bank menggunakan Python

PoinTru.com – Anda pernah nggak sih, tiap hari buka aplikasi mobile banking berkali-kali cuma buat ngecek apakah ada transferan masuk? Saya pernah. Bahkan dulu sampai belasan kali sehari, terutama kalau lagi nunggu pembayaran dari pelanggan percetakan atau hasil transaksi Agen BRILink. Capek dan buang waktu banget. Sampai akhirnya Saya nemu tutorial di internet tentang cara bikin bot Telegram cek mutasi bank pakai Python. Dan jujur, ini salah satu hal paling keren yang pernah Saya pelajari dari browsing.

Kenapa Bot Telegram Buat Cek Mutasi Itu Worth It?

Begini logikanya. Daripada Anda bolak-balik buka aplikasi bank, gimana kalau ada bot yang otomatis kasih notifikasi ke Telegram setiap ada uang masuk atau keluar? Anda nggak perlu buka apa-apa. Notifikasi langsung muncul di chat Telegram, lengkap dengan nominal dna keterangan transaksinya.

Sebagai orang yang tiap hari di depan komputer dan selalu penasaran dengan teknologi, Saya langsung kepo waktu pertama kali baca soal ini. Meskipun Saya bukan programmer profesional (jauh banget malah), ternyata prosesnya nggak se-menakutkan yang Saya bayangkan.

Bot Telegram vs Cek Manual

Aspek Cek Manual (Mobile Banking) Bot Telegram Python
Frekuensi pengecekan Harus buka aplikasi sendiri Otomatis sesuai jadwal yang ditentukan
Notifikasi Tergantung setting push notification bank Langsung masuk ke chat Telegram dengan detail
Format data Tampilan standar aplikasi bank Bisa dikustomisasi sesuai kebutuhan
Integrasi Tidak bisa dihubungkan ke sistem lain Bisa dihubungkan ke spreadsheet, blog, atau dashboard
Keamanan Dikelola penuh oleh bank Perlu pengelolaan kredensial yang hati-hati

Yang Perlu Anda Siapkan Sebelum Mulai

Saya bukan ahli coding, jadi Saya coba jelaskan dengan bahasa yang sesederhana mungkin. Berikut hal-hal yang perlu Anda siapkan.

  • Python versi 3.8 atau lebih baru, sudah terinstal di komputer Anda
  • Akun Telegram yang aktif
  • Pengetahuan dasar tentang terminal atau command prompt (nggak perlu jago, yang penting nggak takut ketik perintah)
  • Akses ke API bank Anda, atau alternatifnya, data mutasi dalam format CSV atau JSON
  • Text editor seperti VS Code atau bahkan Notepad++ juga cukup
Beberapa bank besar di Indonesia seperti BCA, Mandiri, dan BNI sudah menyediakan API resmi melalui portal developer mereka. Tapi biasanya akses ini ditujukan untuk nasabah bisnis. Kalau Anda nasabah personal, mungkin perlu cari alternatif lain.

Langkah 1, Buat Bot di Telegram lewat BotFather

Langkah pertama ini gampang banget. Buka Telegram, cari akun @BotFather, lalu kirim perintah /newbot. BotFather akan minta Anda kasih nama dan username untuk bot Anda. Setelah selesai, Anda akan dapat API token yang bentuknya kumpulan angka dan huruf acak.

Simpan token ini baik-baik. Ini kunci akses bot Anda. Jangan pernah share ke siapapun atau taruh di kode yang bisa dilihat orang lain.

Langkah 2, Install Library Python yang Dibutuhkan

Buka terminal atau command prompt, lalu jalankan perintah berikut.

pip install python-telegram-bot requests python-dotenv

Library python-telegram-bot itu framework utama untuk bikin bot. Requests buat ngirim HTTP request ke API bank atau Telegram. Dan python-dotenv buat menyimpan kredensial secara aman di file .env supaya nggak kelihatan di source code.

Langkah 3, Simpan Kredensial di File .env

Ini langkah yang menurut Saya paling penting dari sisi keamanan. Jangan pernah taruh username, password, atau API token langsung di file Python Anda.

# Buat file .env di folder proyek Anda
TELEGRAM_TOKEN=masukkan_token_dari_botfather
CHAT_ID=masukkan_chat_id_anda
BANK_API_KEY=masukkan_api_key_bank_anda
Jangan pernah menyimpan username, password, PIN, atau API key langsung di dalam source code. Gunakan environment variables melalui file .env dan pastikan file ini masuk ke .gitignore kalau Anda pakai Git. Kebocoran kredensial bank bukan hal yang main-main.

Langkah 4, Tulis Script Bot Utama

Nah ini bagian yang paling seru sekaligus bikin Saya garuk-garuk kepala waktu pertama kali belajar. Tapi setelah baca beberapa tutorial dan nonton video di YouTube, akhirnya Saya paham polanya.

import os
import requests
from dotenv import load_dotenv

load_dotenv()

TELEGRAM_TOKEN = os.getenv('TELEGRAM_TOKEN')
CHAT_ID = os.getenv('CHAT_ID')

def kirim_notifikasi(pesan):
    url = f'https://api.telegram.org/bot{TELEGRAM_TOKEN}/sendMessage'
    data = {
        'chat_id': CHAT_ID,
        'text': pesan,
        'parse_mode': 'HTML'
    }
    response = requests.post(url, data=data)
    return response.json()

def cek_mutasi():
    # Di sini Anda bisa integrasikan dengan API bank
    # atau baca dari file CSV/JSON hasil export mutasi
    mutasi_baru = "Transaksi masuk Rp500.000 dari JOHN DOE"
    kirim_notifikasi(f"Notifikasi Mutasin{mutasi_baru}")

if __name__ == '__main__':
    cek_mutasi()

Kode di atas itu versi paling sederhana. Fungsi kirim_notifikasi mengirim pesan ke chat Telegram Anda lewat API. Fungsi cek_mutasi nanti bisa Anda kembangkan untuk konek ke API bank yang sesungguhnya atau baca data dari file.

Soal Keamanan dan Legalitas, Ini Penting

Saya harus jujur soal ini karena banyak tutorial di internet yang skip bagian ini. Kalau Anda pakai metode web scraping untuk ambil data mutasi dari website internet banking, ada risiko akun Anda diblokir oleh pihak bank. Bank bisa mendeteksi aktivitas bot sebagai upaya serangan siber kalau frekuensi request-nya terlalu tinggi.

Bank Indonesia sendiri melalui PBI No. 22/20/PBI/2020 sudah mengatur soal perlindungan data konsumen dalam transaksi elektronik. Jadi pastikan Anda paham Terms of Service bank Anda sebelum mulai.

API Resmi vs Web Scraping

Metode Kelebihan Risiko
API Resmi Bank Legal, stabil, data terstruktur (JSON) Akses terbatas untuk nasabah bisnis, proses pendaftaran rumit
Web Scraping (Selenium) Bisa akses data meski tanpa API resmi Melanggar ToS bank, risiko blokir akun, butuh maintenance tinggi
Export Manual (CSV) Paling aman, nggak melanggar apapun Nggak real-time, perlu download manual

Rekomendasi Saya? Kalau Anda baru belajar, mulai dari metode export CSV dulu. Download mutasi dari mobile banking, simpan sebagai file CSV, lalu buat script Python untuk membaca file itu dan kirim rangkumannya ke Telegram. Aman, legal, dan nggak ribet.

Bonus, Jalankan Otomatis Pakai Cron Job

Kalau Anda pakai Linux atau Mac, Anda bisa jadwalkan script ini berjalan otomatis setiap jam atau setiap beberapa menit pakai cron job. Di Windows, Anda bisa pakai Task Scheduler. Dengan cara ini, bot Anda bakal jalan di background tanpa perlu Anda jalankan manual.

Kalau Anda menjalankan script secara terjadwal yang mengakses data bank, pastikan server atau komputer yang digunakan aman. Gunakan password yang kuat, aktifkan firewall, dan jangan jalankan di server publik yagn bisa diakses orang lain.

Catatan Seorang Pemula

Saya mau jujur, Saya bukan programmer. Semua yang Saya tulis di artikel ini berasal dari proses belajar Saya sendiri lewat browsing, nonton tutorial YouTube, dan baca dokumentasi di internet. Kode-kode di atas mungkin belum sempurna dan pasti ada cara yang lebih baik dari yang Saya tunjukkan. Tapi justru itu tujuan Saya nulis ini, berbagi dari sudut pandang orang yang juga masih belajar. Kalau Anda lebih jago soal Python atau punya cara yang lebih efisien, Saya sangat senang kalau Anda mau share di komentar. Kita belajar bareng!

Baca artikel lainnya, cek aja di Sitemap.

Leave a Reply

Your email address will not be published. Required fields are marked *