RTXZY-MD
Pembaruan Terbaru
- Upgrade ke ESM (ECMAScript Modules) โ Mendukung fitur ES6+ secara native
- Server HTTP Native โ Menghapus dependensi
expressuntuk performa server yang lebih ringan - Update Lid resolver โ Penanganan lid jadi terbaru
- Menggunakan zapo-js โ
zapo-js, dokumentasi & MCP dizapo.to/mcp - Sesi lokal SQLite โ Kredensial disimpan di
sessions/state.sqlite(pakai@zapo-js/store-sqlite+better-sqlite3) - Database SQLite โ Database bot (
users,chats,stats, dll) kini tersimpan didatabase/database.sqlite(WAL, atomic) menggantikandatabase.json; auto-migrasi dari JSON lama saat boot pertama - Koneksi Dual Mode โ Mendukung Pairing Code secara default, dan QR Code bisa diakses dengan argumen
--qr - Wajib Node.js 22++
Daftar Isi
- Persyaratan
- Instalasi
- Pengaturan API Key
- Menjalankan Bot
- Daftar Argumen
- Deployment
- Kontributor
- Support
Persyaratan
Sebelum menjalankan bot, pastikan sistem kamu memiliki:
| Komponen | Keterangan |
|---|---|
| Node.js | Versi 22 atau lebih baru |
| ffmpeg | Untuk pemrosesan media |
| imagemagick | Untuk manipulasi gambar |
| webp | Untuk konversi stiker |
Catatan: Script ini tidak mendukung eksekusi di Termux.
Instalasi
Windows / VPS / RDP
Unduh dan instal:
- Git
- Node.js 22+
- FFmpeg โ tambahkan ke PATH
- ImageMagick
VPS (Linux)
apt update && apt upgrade -y
apt install nodejs imagemagick ffmpeg -y
node -v
# Jika versi masih di bawah 22:
curl -s https://deb.nodesource.com/setup_22.x | sudo bash
apt-get install -y nodejs
Clone & Install
git clone https://github.com/BOTCAHX/RTXZY-MD
cd RTXZY-MD
npm install
Pterodactyl Panel
Untuk menjalankan di Pterodactyl Panel caranya tergantung letak file:
Opsi 1 โ File langsung di /home/container (bukan dalam folder):
- Set startup ke:
node index.jsataunpm start
Opsi 2 โ File berada dalam folder (contoh: /home/container/RTXZY-MD atau nama folder custom):
- Pindahkan file
run.jske/home/container(luar folder bot) - Set startup panel ke:
node run.js - Buka Terminal panel, lalu jalankan perintah:
cd RTXZY-MD # atau nama folder kamu npm install node index.js # atau npm start
Opsi 3 โ Pindahkan semua file ke /home/container:
Jika ingin lebih mudah, pindahkan semua isi folder bot langsung ke /home/container, lalu set startup ke node index.js atau npm start.
Cara upload file ke panel:
Bot bisa di-clone via git clone langsung dari terminal panel, atau diupload sebagai arsip. Rekomendasi:
- Download repo sebagai ZIP dari GitHub
- Edit file (
config.js, dll) di lokal - Upload file ke panel dalam bentuk ZIP atau tar.gz
- Extract/unzip di panel
Panel biasanya memiliki batas view per file, jadi editing lokal lalu upload arsip lebih praktis.
Catatan: Konfigurasi tiap panel bisa berbeda. Pahami struktur folder server kamu dan sesuaikan startup command-nya.
Catatan: Pastikan Node.js egg yang digunakan versi 22+, jika tidak bot akan error.
Catatan: Jika panel tidak memiliki akses bash sama sekali, gunakan Opsi 1 atau Opsi 3.
Pengaturan API Key
Bot ini menggunakan 97% fitur dari Rest API, jadi kamu wajib mengisi Apikey.
- Daftar di
BOTCAHX API - Pilih paket yang sesuai:
Lihat Paket - Copy Apikey kamu
- Paste di
config.jspada bagianglobal.btc
| Tipe | Batas |
|---|---|
| Free | 15 request/hari |
| Premium | Sesuai paket yang dibeli (recommended) |
Menjalankan Bot
node index.js
Pairing code akan muncul di terminal โ scan dengan WhatsApp kamu.
Daftar Argumen
node index.js [--options]
| Argumen | Fungsi |
|---|---|
--qr |
Mengaktifkan mode autentikasi QR Code (secara default menggunakan Pairing Code) |
--self |
Hanya Owner & Bot |
--pconly |
Hanya merespon chat pribadi |
--gconly |
Hanya merespon chat grup |
--swonly |
Hanya merespon status |
--restrict |
Aktifkan plugin terbatas (risiko kena banned) |
--img |
Tampilkan gambar di terminal |
--autoread |
Tandai semua pesan masuk sebagai sudah dibaca |
--nyimak |
Mode silent โ hanya log, tidak membalas |
--test |
Mode pengembangan |
--prefix <prefix> |
Set prefix (setiap karakter jadi prefix terpisah) |
--db <mongodb url> |
Pakai MongoDB (contoh: --db mongodb://user:pass@host:27017/bot) |
--db json |
Pakai database JSON file (database.json) โ default sebelumnya |
--db sqlite |
Pakai SQLite (database/database.sqlite, WAL) โ default |
--db <https://...> |
Pakai cloud adapter |
MCP Development (zapo)
Bot ini sudah menyertakan @zapo-js/mcp-server โ server Model Context Protocol yang mengekspos sesi zapo-js (koneksi, pairing, kirim pesan, query grup, inspeksi event) sebagai tools untuk LLM agent (Claude Code, Cursor, dll). Cocok untuk development/testing, bukan untuk production.
Menjalankan server
npm run mcp # = zapo-mcp-server (stdio)
MCP_TRANSPORT=http MCP_AUTH_PATH=sessions/mcp.sqlite zapo-mcp-server
Variabel lingkungan penting:
| Variabel | Fungsi |
|---|---|
MCP_AUTH_PATH |
Path store SQLite kredensial (default: file store sendiri). Gunakan path terpisah dari bot utama (mis. sessions/mcp.sqlite) supaya tidak terjadi konflik SQLITE_BUSY saat bot & MCP berjalan bersamaan |
MCP_SESSION_ID |
Sesi default (mendukung multi-sesi di satu store) |
MCP_MAX_SESSIONS |
Batas jumlah sesi |
MCP_TRANSPORT |
stdio (default) atau http |
MCP_LOG_LEVEL |
Level log |
Registrasi ke Claude Code
claude mcp add zapo -- node node_modules/@zapo-js/mcp-server/dist/bin.js
Alur pairing lewat MCP (penting)
client.connect() memblokir sampai pairing selesai โ selalu panggil dengan noAwait:
call({ path: 'connect', noAwait: true })
events({ types: ['auth_qr', 'auth_pairing_code', 'auth_paired', 'connection'] })
# tampilkan QR ke user, tunggu auth_paired, lalu lanjut
call({ path: 'message.send', args: ['[email protected]', { conversation: 'halo' }] })
Dokumentasi lengkap & skill MCP tersedia di zapo.to/mcp.
Deployment
Render
Heroku
Heroku Buildpack
heroku/nodejs
https://github.com/jonathanong/heroku-buildpack-ffmpeg-latest.git
https://github.com/clhuang/heroku-buildpack-webp-binaries.git
Kontributor
| Tio | Erlan | Bochilgaming | Nurutomo |
|---|---|---|---|
| Recode | Contributor | Sepuh | Sepuh |
Base original: ZukaBet



