Chatbot WhatsApp AI canggih yang dibangun dengan arsitektur terpisah (decoupled architecture) untuk performa dan stabilitas maksimal. Proyek ini menggunakan Bridge berbasis Node.js untuk konektivitas WhatsApp dan Brain berbasis Ruby untuk pemrosesan AI menggunakan Groq API.
- Bridge (Node.js): Menangani koneksi WhatsApp melalui
whatsapp-web.js, menampilkan QR Code, dan mengelola log real-time melalui Socket.io. - Brain (Ruby): Memproses pesan masuk dan menghasilkan respon AI menggunakan model
llama-3.1-8b-instantvia Groq. Dihosting di ataseksa-serverberperforma tinggi.
- Arsitektur Terpisah: Pemisahan yang jelas antara logika koneksi dan logika AI.
- Penyaringan Pintar: Secara otomatis mengabaikan update status WhatsApp dan pesan grup.
- Toggle Bot Aktif/Nonaktif: Kontrol penuh untuk mematikan atau menyalakan respon bot langsung dari dashboard.
- Jeda Respon 5 Detik: Memberikan jeda waktu sebelum membalas agar interaksi terasa lebih alami.
- Dashboard Real-time: Antarmuka web untuk memindai QR Code dan memantau log secara langsung.
- Sesi Persisten: Menggunakan
LocalAuthuntuk menjaga Anda tetap login meskipun container dijalankan ulang. - Performa Tinggi: Ruby Brain berjalan di atas
eksa-serveruntuk penanganan respon yang sangat cepat.
Ikuti langkah-langkah berikut untuk menjalankan chatbot Anda di Railway:
- Akun Railway.
- Project Anda sudah diunggah ke repositori GitHub.
- Buat New Project di Railway.
- Pilih Deploy from GitHub repo.
- Pilih repositori Anda.
- Railway akan secara otomatis mendeteksi
Dockerfiledan memulai proses build.
Di pengaturan project Railway Anda, tambahkan variabel berikut:
GEMINI_API_KEY=api_groq_andaPORT=3001PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromiumDATA_PATH=/app/session
Setelah berhasil dideploy, buka Deploy Logs di Railway.
- Cari QR Code berbentuk ASCII di dalam log.
- Pindai menggunakan aplikasi WhatsApp di HP Anda (Perangkat Tautan).
- Anda juga dapat mengakses dashboard web via URL yang diberikan Railway untuk melihat QR Code.
- Instal dependensi:
# Bridge cd bridge && npm install # Brain cd brain && bundle install
- Siapkan file
.envdi kedua direktori tersebut. - Jalankan script utama:
./start.sh
Proyek ini dibuat untuk tujuan edukasi.