Dokumentasi Arsitektur
v2.0.17 · S2 · patch S2.17 The Rain of Tomorrow · 6 fitur baru: cuaca, kbbi, translate, reminder, pdf, tanyafile · rilis 2026-10-21 Changelog & Season

Arsitektur & Alur End-to-End

index.js
  → boot banner
  → initDatabase (lowdb)           src/lib/ourin-database.js
  → loadPlugins                    src/lib/ourin-plugins.js
  → startConnection (ourin-baileys) src/connection.js
  → messages.upsert
  → handler.js:
       proteksi grup (antilink, anti-judol, anti-phishing, antitoxic…)
       → parse prefix (.)
       → mode/ban check
       → case system (case/ourin.js)
       → getPlugin()
       → cek owner/partner/premium/admin
       → registrasi → cooldown → potong energi
       → plugin.handler(m, { sock, config, db, … })

Entry point — index.js

  • src/connection.js — koneksi WhatsApp
  • src/handler.js — pipeline pesan
  • src/lib/ourin-plugins.js — loader plugin
  • src/lib/ourin-database.js — layer database
  • Scheduler: reset energi, scheduled messages, sewa, sholat, notif, JPM, memory monitor, temp cleaner, daily pruner
  • ourin-agent.js — auto-AI grup

Handler

Pipeline (±2254 baris): proteksi grup → prefix → mode/ban → case system → plugin lookup → auth → registrasi/cooldown/energi → eksekusi.

  • Rate limiter: 8 request / 3 detik
  • Owner console: >> (eval), !! (exec)
  • Voice note command: Groq Whisper + fuzzy match

Plugin loader & database

  • Ekspor { config, handler }; hot-reload bila NODE_ENV=development
  • lowdb JSON di ./database/main: users, groups, settings, stats, sewa, premium, owner, partner
  • Autosave async tiap 5 detik (tulis atomik: .tmp → rename)

Scheduler

  • Reset energi harian · scheduled messages (jpm) · sewa checker (auto-leave)
  • Jadwal sholat (myquran) · notif makan/tidur · auto-JPM
  • Memory monitor (global.gc()) · temp cleaner tiap 30 menit
  • Daily pruner: user nonaktif >14 hari