Bot WhatsApp RPG berbasis Node.js + Baileys untuk memainkan sistem karakter, gathering, combat, guild, market, dan quest langsung dari WhatsApp.
Repo ini sedang melalui fase stabilisasi arsitektur. Fokus refactor terbaru adalah:
- menyatukan progres pemain ke satu source of truth di model
Player - memindahkan sistem quest ke kombinasi
Quest+PlayerQuest - memperbaiki integrasi guild donation, marketplace, dan storyline/quest chain
- menambahkan economic sink dasar agar sirkulasi Gmoney lebih sehat
- mengurangi risiko partial-save lewat Mongoose transaction session pada mutasi penting
- Sistem Karakter
- registrasi pemain
- profil dasar
- equipment, inventory, level, experience, gmoney, chips
- Gathering & Crafting
- gather resource canonical:
wood,stone,ore,fiber,hide - resource hasil gather terhubung ke inventory dan guild donation
- crafting berbasis item seed
- gather resource canonical:
- Combat & Progression
- PvE combat
- drop item dan reward Gmoney
- progression level memakai helper
addExperience()yang sudah diperbaiki
- Quest System
- quest harian / mingguan melalui
Quest+PlayerQuest - klaim reward quest via command WhatsApp
- update progress quest dari aktivitas terkait
- quest harian / mingguan melalui
- Quest Chain / Storyline
- prerequisite quest chain sekarang mengikuti data aktif di collection, bukan field player legacy
- Guild System
- join / leave / info guild
- donation gmoney dan resource
- bug double-count treasury sudah diperbaiki
- Marketplace
- jual, beli, batal listing
- listing fee, sale tax, price floor dasar
- mutasi listing dan inventory sudah dibungkus transaction session
- Gambling
- beli / jual chip
- dice dan slot
- chip buy fee + max bet cap dasar untuk menahan inflasi
- balancing ekonomi lanjutan untuk faucet combat/gather
- validasi transaction fallback bila MongoDB berjalan tanpa replica set
- test automation dan smoke test end-to-end
- sinkronisasi dokumentasi command dengan seluruh controller aktual
- cleanup tambahan untuk fitur draft yang belum terintegrasi penuh
-
Clone repository
git clone https://github.com/Gicelldev/gicell-senpai-bot.git
-
Install dependency
npm install
-
Siapkan file
.env -
Jalankan bot
npm run dev
-
Scan QR WhatsApp yang muncul di terminal
- Clone repository
- Siapkan
.env - Jalankan:
docker-compose up -d
| Perintah | Deskripsi |
|---|---|
!daftar [nama] |
Mendaftar pemain baru |
!profil |
Lihat profil karakter |
!inventory |
Lihat inventory |
!gather [resource] |
Gather resource |
!craft [item] |
Craft item |
!serang [target] |
Combat monster / target |
!pasar |
Lihat marketplace |
!jual [item] [harga] [jumlah] |
Buat listing market |
!beli [listingId] [jumlah] |
Beli item market |
!guild |
Lihat / kelola guild |
!guild sumbang [tipe] [jumlah] |
Donasi guild |
!quest |
Lihat quest aktif |
!quest harian |
Lihat quest harian |
!quest mingguan |
Lihat quest mingguan |
!quest klaim [id] |
Klaim reward quest |
!storyline |
Lihat quest chain / storyline |
!help |
Bantuan command |
Progress pemain yang aktif sekarang mengandalkan field berikut di model Player:
levelexperiencegmoneychipsinventoryequipmentstats
Field legacy seperti player.exp, player.quests, player.skills, dan field serupa bukan acuan aktif untuk flow refactor terbaru.
Quest aktif sekarang mengikuti pola:
Questuntuk definisi questPlayerQuestuntuk progress pemainQuestChain+PlayerQuestChainuntuk storyline
Penamaan resource sudah distandarisasi ke bentuk canonical:
woodstoneorefiberhide
Item inventory resource bisa tetap berupa tiered item seperti:
rough_logssimple_orejourneyman_fiber
Helper model pemain akan melakukan mapping canonical saat dibutuhkan.
gicell-senpai-bot/
โโโ src/
โ โโโ controllers/
โ โโโ models/
โ โโโ routes/
โ โโโ utils/
โ โโโ data/
โ โโโ index.js
โ โโโ database.js
โ โโโ whatsapp.js
โโโ logs/
โโโ session/
โโโ package.json
โโโ Dockerfile
โโโ docker-compose.yml
- Node.js
@whiskeysockets/baileys- MongoDB + Mongoose
- Express.js
- Winston
- Jest
Perintah yang diharapkan tersedia:
npm testNamun verifikasi hanya akan berjalan jika dependency benar-benar sudah terinstall.
Jika environment belum menjalankan npm install, maka module seperti mongoose atau binary seperti jest akan gagal dimuat.
Jika ingin lanjut refactor, prioritas yang direkomendasikan:
- tambah smoke/integration test untuk market, guild, quest
- audit fitur draft yang belum terhubung penuh
- evaluasi balancing combat/gather terhadap inflasi Gmoney
- perketat fallback untuk transaction saat MongoDB non-replica
MIT
Gicell Senpai Developer