Bot WhatsApp sederhana dengan AI persona, anime, media downloader, game, dan masih banyak lagi โ ditenagai Node.js.
Sebelum mulai, pastikan sistem kamu sudah memenuhi semua kebutuhan berikut.
Runtime utama bot. Download di nodejs.org
Wajib untuk fitur .tts (voice note), .toimg, .grayscale, .caption, dan Chizu Voice.
Dibutuhkan untuk fitur pengolahan gambar seperti .grayscale dan .caption.
Binary untuk download YouTube, TikTok, dan Instagram.
| Service | Link Daftar |
|---|---|
| GEMINI_API_KEYwajib | aistudio.google.com |
| GROQ_API_KEYopsional | console.groq.com |
| OPENROUTER_API_KEYopsional | openrouter.ai |
Ikuti langkah berikut dari awal hingga bot siap dipakai.
Download dan install Node.js dari nodejs.org/en/download. Pilih versi LTS. Setelah install, verifikasi:
node -v # harus โฅ v18.0.0 npm -v # pastikan npm juga terinstall
Dibutuhkan untuk fitur suara, gambar, dan Chizu Voice.
sudo apt update sudo apt install ffmpeg imagemagick -y
brew install ffmpeg imagemagick
# Download manual: # ffmpeg โ https://ffmpeg.org/download.html # imagemagick โ https://imagemagick.org # Tambahkan ke PATH setelah install
Binary untuk download video YouTube, TikTok, dan Instagram.
sudo curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp \ -o /usr/local/bin/yt-dlp sudo chmod a+rx /usr/local/bin/yt-dlp
# Download yt-dlp.exe dari: # https://github.com/yt-dlp/yt-dlp/releases # Taruh di folder project atau tambahkan ke PATH
Letakkan file bot.js di folder tersendiri. Buat juga folder chizu untuk menyimpan foto-foto Chizu (format .jpg).
wabot/ โโโ bot.js โโโ .env โ API keys โโโ package.json โโโ chizu/ โ foto-foto Chizu (.jpg) โโโ chizu1.jpg โโโ chizu2.jpg โโโ ...
chizu/ wajib ada dan berisi minimal satu file .jpg agar fitur foto Chizu bisa berjalan. Folder ini harus berada di direktori yang sama dengan bot.js.
Masuk ke folder project, lalu jalankan:
cd ~/wabot npm install whatsapp-web.js qrcode-terminal qrcode axios form-data yt-dlp-wrap @google/genai dotenv
Kalau mau reinstall dari awal (jika ada masalah):
rm -rf node_modules package-lock.json npm install
Buat file bernama .env di folder project (satu level dengan bot.js), lalu isi dengan API key kamu:
GEMINI_API_KEY=isi_api_key_gemini_kamu GROQ_API_KEY=isi_api_key_groq_kamu OPENROUTER_API_KEY=isi_api_key_openrouter_kamu
API key remove.bg sudah diisi langsung di dalam script (REMOVE_BG_API_KEY). Limitnya 50 request gratis per bulan โ kalau habis, daftar akun baru di remove.bg.
Selalu jalankan dari folder yang sama agar session tidak hilang:
cd ~/wabot node bot.js
QR code akan muncul di terminal. Buka WhatsApp di HP โ Perangkat Tertaut โ Tautkan Perangkat โ scan QR tersebut.
.wwebjs_auth. Restart berikutnya tidak perlu scan ulang, selama dijalankan dari folder yang sama.
Kalau di terminal muncul โ
Bot siap ๐, berarti bot sudah online. Coba kirim .menu ke nomor bot untuk melihat daftar perintah. mungkin perlu beberapa saat, ketik .menu lagi apabila bot tidak merespon setelah beberapa menit.
Opsional โ gunakan pm2 agar bot tetap jalan di background dan auto-restart kalau crash:
npm install -g pm2 pm2 start bot.js --name chizu-bot pm2 save # auto-start saat reboot
Chizu Tempir adalah AI chatbot dengan persona yang kuat โ perempuan, santai, sedikit dingin, kadang sarkas, tapi sebenernya peduli. Dia ngobrol pakai bahasa Indonesia tidak baku yang natural, layaknya teman chatting di WhatsApp beneran.
Chizu punya memori percakapan per-user (simpan 10 pesan terakhir), jadi percakapan terasa kontekstual dan tidak mengulang dari awal terus.
Chizu pakai sistem fallback berantai โ kalau model utama down atau kena rate limit, otomatis coba model berikutnya:
Chizu tidak aktif secara default setiap kali bot restart. Aktifkan dulu:
.chizu on โ aktifkan Chizu .chizu off โ nonaktifkan .resetai โ hapus memori percakapan
Setelah aktif, cukup sebut kata "chizu" di pesan atau reply pesan bot untuk mulai ngobrol.
Chizu Voice membuat Chizu menjawab dalam bentuk voice note (VN), bukan teks. Suaranya lembut, halus, dan natural seperti cewek SMA yang ngobrol santai โ dihasilkan oleh Gemini TTS model Leda.
Tambahkan kata "vois" di pesan yang kamu kirimkan ke Chizu:
Format umum: chizu vois [pertanyaan/pesan kamu] Contoh nyata: chizu vois apa itu alam semesta chizu vois ceritain tentang hujan dong chizu vois menurutmu AI itu apa
Bot mendeteksi kata "vois" di pesan โ menghasilkan teks jawaban Chizu dulu โ lalu mengkonversi teks tersebut ke audio menggunakan Gemini TTS โ mengirimkan hasilnya sebagai voice note WhatsApp.
.chizu on sudah dijalankan sebelumnya.
Kamu bisa minta Chizu untuk mengirimkan fotonya secara acak. Bot mengambil gambar dari folder chizu/ yang sudah kamu siapkan sebelumnya.
Chizu akan membalas dengan gaya khasnya yang seolah enggan tapi tetap mengirimkan foto ๐
Kirim pesan yang mengandung: kata "chizu" + kata foto/pic + kata kamu/lu. Tidak perlu format exact, bot cukup pintar mendeteksinya.
send pic lu chizu foto kamu dong chizu chizu kirim foto kamu chizu pap dong chizu pic please kirim foto chizu lu
Buat folder chizu/ di direktori yang sama dengan bot.js, lalu isi dengan foto-foto berformat .jpg:
mkdir ~/wabot/chizu # Lalu copy foto .jpg ke dalam folder tersebut # Nama file bebas, asal berekstensi .jpg
chizu/ kosong atau tidak ada, bot akan membalas "Aku lagi ga punya foto ๐". Pastikan ada minimal satu file .jpg di dalamnya.
Ketik .menu di WhatsApp untuk melihat daftar perintah langsung dari bot.
Ngobrol dengan Chizu Tempir. Aktifkan dulu dengan .chizu on, lalu sebut "chizu" di pesan/reply pesan bot.
Chizu menjawab dalam bentuk voice note. Tambahkan kata "vois" di pesan kamu.
Minta Chizu mengirimkan fotonya secara acak dari folder chizu/.
Cek apakah bot aktif dan merespons.
Menampilkan daftar semua perintah lengkap dari bot.
Reply gambar atau video untuk dijadikan stiker WhatsApp.
Reply stiker untuk dikonversi menjadi gambar JPG.
Download audio dari video YouTube dalam format MP3.
Download video YouTube dalam format MP4.
Download video TikTok tanpa watermark.
Download video atau reels dari Instagram.
Tanya AI langsung tanpa persona Chizu. Cocok untuk pertanyaan faktual.
Mengubah teks menjadi voice note yang dikirim ke chat.
Generate gambar AI dari deskripsi teks menggunakan Pollinations.ai. Gratis, tanpa API key.
Info cuaca hari ini untuk kota yang diminta.
Forecast cuaca 7 hari ke depan.
Kurs berbagai mata uang terhadap Rupiah (IDR).
Data gempa bumi terbaru dari BMKG.
Jadwal sholat lengkap untuk kota yang diminta.
Mencari arti dan definisi kata di Kamus Besar Bahasa Indonesia.
Menampilkan alamat IP publik dari koneksi bot saat ini.
Membuat QR code dari teks atau URL yang diberikan.
Menerjemahkan teks. Contoh: .translate en halo dunia
Info detail anime: skor, genre, episode, studio, sinopsis.
Top 10 anime terbaik versi MyAnimeList saat ini.
Jadwal tayang anime minggu ini berdasarkan hari.
Kutipan anime secara acak dari berbagai karakter.
Rekomendasi anime by genre. Contoh: .animerekomendasi action
Info karakter anime beserta anime asalnya.
Info manga: status, volume, sinopsis.
Gambar waifu anime secara acak dari waifu.pics.
Reply foto untuk mengubahnya menjadi hitam putih.
Tambahkan teks caption meme di bagian bawah foto yang di-reply.
Hapus background foto otomatis via remove.bg (50 request gratis/bulan).
Meme Indonesia acak dari Reddit via meme-api.com.
Jokes atau lelucon random.
Kutipan inspiratif secara acak.
Kata-kata motivasi dalam Bahasa Indonesia.
Ukur kecocokan dua orang dengan persentase dan komentar lucu.
Berita terkini Indonesia. Bisa tanpa topik untuk berita umum.
Generate cerita pendek berdasarkan tema menggunakan AI.
Generate puisi Indonesia berdasarkan tema menggunakan AI.
Info zodiak beserta ramalan singkat berdasarkan tanggal lahir.
Info profil GitHub: repo, followers, bio.
Tebak angka 1โ100. Gunakan .stoptebak untuk berhenti.
Tebak kata dari hint. Gunakan .hinttebak untuk petunjuk, .stoptebakkata untuk berhenti.
Kuis trivia seputar Indonesia. Jawab langsung dengan mengetik jawabanmu.
Gunting-batu-kertas melawan bot. Pilihan: gunting / batu / kertas.
Tebak karakter anime dari gambar yang dikirim bot. Gunakan .hinttebakkarakter untuk petunjuk.
Harga crypto real-time. Contoh: .crypto BTC
Daftar crypto yang naik dan turun paling signifikan hari ini.
Prediksi pergerakan harga crypto berdasarkan analisis teknikal (RSI, MACD, MA).
Harga saham IDX real-time. Contoh: .saham BBCA
Generate password acak yang kuat.
Hitung ekspresi matematika. Contoh: .kalkulator 25 * 4 + 10
Set reminder. Contoh: .remind 30m cek oven. Satuan: s / m / h.
Mention semua anggota grup sekaligus. Berguna untuk pengumuman.
Aktifkan/nonaktifkan anti-link di grup. Pesan dengan link akan dihapus otomatis.
Pastikan bot selalu dijalankan dari folder yang sama. Session tersimpan di .wwebjs_auth relatif ke lokasi bot dijalankan. Atau fix dengan path absolut di kode:
const client = new Client({
authStrategy: new LocalAuth({ dataPath: '/home/user/wabot/.wwebjs_auth' })
});
Chizu perlu diaktifkan setiap kali bot restart. Ketik .chizu on terlebih dahulu, lalu sebut "chizu" di pesan untuk mulai ngobrol.
Jikan API (MyAnimeList) adalah API publik gratis yang kadang mengalami downtime atau rate-limit. Bukan masalah dari kode โ tunggu beberapa menit lalu coba lagi. Cek status di status.jikan.moe.
Pastikan ffmpeg sudah terinstall dan bisa diakses dari terminal. Cek dengan ffmpeg -version. Jika ffmpeg tidak ada, bot otomatis fallback kirim jawaban teks biasa.
Pastikan folder chizu/ ada di direktori yang sama dengan bot.js dan berisi minimal satu file .jpg.
rm -rf node_modules package-lock.json npm install
Download file zip, ekstrak, isi .env, dan jalankan. Tidak perlu clone repo.
Source code lengkap Chizu Bot siap pakai.
Sudah termasuk .env.example dan folder chizu/ beserta foto default chizu.
.env.example menjadi .env dan isi dengan API key kamu. Lalu jalankan npm install sebelum node bot.js. Ikuti panduan instalasi di atas untuk langkah lengkapnya.