Dokumentasi Changelog & Season
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

Changelog & Season

Riwayat update Tenki No Ko memakai dua lapis label: season (siklus besar) dan patch (update di dalam musim), plus versi resmi dari config.js. Aktif sekarang: v2.0.17 · S2 · patch S2.17.

Update terbaru

S2.17

6 fitur baru: cuaca, kbbi, translate, reminder, pdf, tanyafile (= v2.0.17)

v2.0.17 · 2026-10-21
  • Fitur baru: .cuaca/.weather (prakiraan cuaca, Open-Meteo, tanpa API key).
  • Fitur baru: .kbbi/.kamus (kamus KBBI, scrape + fallback AI).
  • Fitur baru: .translate/.tr (terjemah, MyMemory free API).
  • Fitur baru: .ingetin/.todo/.hapusingetin (pengingat pribadi).
  • Fitur baru: .pdf (toolkit: totext/toimg/info/merge) via pdf-lib/pdf-parse/gs.
  • Fitur baru: .tanyafile (RAG tanya isi PDF) via pdf-parse + Groq.
  • Dependency baru: pdf-lib, pdf-parse.
  • Plugin count 837 -> 843.

Terpasang di v2.0.17 · S2 · channel stable · pemetaan patch S2.17 ↔ v2.0.17.

Katalog patch

Semua rilis Season 1 dari yang terbaru — versi resmi, label patch, tanggal, dan isi update. Update bot berjalan via .upbot (scope plugins/ + src/).

PatchVersiTanggalIsi update
S2.17 v2.0.17 2026-10-21 6 fitur baru: cuaca, kbbi, translate, reminder, pdf, tanyafile
S2.16 v2.0.16 2026-10-21 Updater dukung package.json + auto npm install
S2.15 v2.0.15 2026-10-21 Upgrade arsya-baileys v1.0.6 (hardening GCM, fixFileName, mediaType)
S2.14 v2.0.14 2026-10-20 Upgrade arsya-baileys v1.0.5 (tutup command injection & path traversal)
S2.13 v2.0.13 2026-10-19 Optimalisasi penuh: lazy-load anti-handler & game plugin
S2.12 v2.0.12 2026-10-19 Optimasi lanjutan: lazy-load canvas, cheerio, sharp, ffmpeg, axios
S2.11 v2.0.11 2026-10-19 Optimasi performa: cache, timer leak, I/O, loading paralel
S2.10 v2.0.10 2026-10-18 Kuis Battle .qb + menu v9 "MINIMALIS" & allmenu v7 "ALLMENU RAPI"
S2.9 v2.0.9 2026-10-17 Audit keamanan — tutup bypass owner via newsletter & matching nomor lemah
S2.8 v2.0.8 2026-10-11 Distribusi arsya via GitHub tarball — npm menarik paket
S2.7 v2.0.7 2026-10-04 Fix 409 buat server — dukungan OS cloud-init
S2.6 v2.0.6 2026-10-03 Autentikasi .upcloud pakai Bearer token
S2.5 v2.0.5 2026-10-03 Login pakai kode pairing — tanpa QR
S2.4 v2.0.4 2026-10-03 Keamanan first-boot — hapus auto-action diam-diam
S2.3 v2.0.3 2026-10-03 Menu .upcloud & .panel — VPS dan panel auto-create
S2.2 v2.0.2 2026-10-03 Fix .menu senyap di instalasi baru
S2.1 v2.0.1 2026-10-03 Hotfix checkMode & follow-up migrasi arsya
S2.0 v2.0.0 2026-10-02 The Rain of Tomorrow — pembuka Season 2
S1.20 v1.0.20 2026-10-01 Fitur .zip — kompres file jadi arsip
S1.19 v1.0.19 2026-10-01 Payload enc tanpa teks terbuka
S1.18 v1.0.18 2026-10-01 Bansos 2 tipe: owner penuh / user pul 10%
S1.17 v1.0.17 2026-10-01 Bansos & Crypto (+ suffix addkoin/delkoin)
S1.16 v1.0.16 2026-09-30 Role Joker Werewolf aktif + info di .ww
S1.15 v1.0.15 2026-09-29 Perbaikan game Impostor
S1.14 v1.0.14 2026-09-29 Game baru Detective & Impostor
S1.13 v1.0.13 2026-09-29 Game baru Tenki Flap — Flappy Bird 2D
S1.12 v1.0.12 2026-09-28 GIF konsisten semua variant menu
S1.11 v1.0.11 2026-09-28 GIF menu v1 & hero video dokumentasi
S1.10 v1.0.10 2026-09-28 Role Joker & penyamaran Seer
S1.9 v1.0.9 2026-09-28 GIF+audio seragam & tema Tenki no Ko
S1.8 v1.0.8 2026-09-27 Anti-NSFW otomatis
S1.7 v1.0.7 2026-09-27 Game Hill Climb Racing 2D
S1.6 v1.0.6 2026-09-26 State versi & katalog .listversi
S1.5 v1.0.5 2026-09-26 Konfirmasi hapus file
S1.4 v1.0.4 2026-09-26 Rilis uji penambahan file
S1.3 v1.0.3 2026-09-26 Proteksi data update
S1.2 v1.0.2 2026-09-26 Upgrade .ipwho/.ipinfo
S1.1 v1.0.1 2026-09-26 Ekonomi & Kelonggaran
S1.0 v1.0.0 2026-09-20 Rilis dasar 1.0.0 (fondasi era 3.3.1)

Cara kerja label versi

LabelArtiKapan berubah
v1.0.1, v1.0.2, v2.0.0 Versi resmi bot — sumbernya config.js → bot.version & package.json. Format M.m.p: digit pertama = musim, digit terakhir = patch (mis. 1.0.1 = Season 1, patch 1). Setiap rilis.
Season S1, S2, … Label musim untuk pengelompokan. Season 1 = seri 1.0.x, Season 2 = 2.0.x. Saat ganti musim (mis. 2.0.0 → S2).
Patch S1.1, S1.2, … Update di dalam musim yang sama: fitur kecil, balance, fix. Pemetaan: S1.1 ↔ v1.0.1. Setiap kali ada patch.
Cara menambah patch (untuk maintainer)

Edit src/data/version.ts: tambahkan entri baru di awal patches musim aktif, naikkan RELEASE.patch (mis. S1.2), lalu isi tanggal & daftar perubahan. Badge otomatis ikut ter-update di seluruh halaman — tidak perlu edit banyak file. Ganti musim → tambah array SEASONS baru dan ubah RELEASE.season.

Rilis aktif

RILIS

v2.0.17 · S2

Musim: The Rain of Tomorrow · Patch: S2.17 (6 fitur baru: cuaca, kbbi, translate, reminder, pdf, tanyafile) · stable · 2026-10-21

LANJUT

Berikutnya

S2.18 · patch berikutnya menyusul

Riwayat per season

S2

The Rain of Tomorrow — Musim hujan: ekonomi mulai nol, quest mingguan, rebutan Hujan Koin, dan game PvP .rainrun.

18 patch · terbaru: S2.17

S2.17

S2.17 — 6 fitur baru: cuaca, kbbi, translate, reminder, pdf, tanyafile (= v2.0.17)

v2.0.17 · 2026-10-21
  • Fitur baru: .cuaca/.weather (prakiraan cuaca, Open-Meteo, tanpa API key).
  • Fitur baru: .kbbi/.kamus (kamus KBBI, scrape + fallback AI).
  • Fitur baru: .translate/.tr (terjemah, MyMemory free API).
  • Fitur baru: .ingetin/.todo/.hapusingetin (pengingat pribadi).
  • Fitur baru: .pdf (toolkit: totext/toimg/info/merge) via pdf-lib/pdf-parse/gs.
  • Fitur baru: .tanyafile (RAG tanya isi PDF) via pdf-parse + Groq.
  • Dependency baru: pdf-lib, pdf-parse.
  • Plugin count 837 -> 843.
S2.16

S2.16 — Updater dukung package.json + auto npm install (= v2.0.16)

v2.0.16 · 2026-10-21
  • Updater (.upbot) kini mengirim package.json (scope diperluas) + menjalankan npm install otomatis bila package.json berubah.
  • Tujuan: fix dependency (mis. arsya-baileys) sampai ke pembeli lama lewat .upbot, bukan hanya instal baru (ZIP).
  • Safety: pathInScope mengizinkan package.json; baseline/conflict guard tetap berlaku; npm install best-effort dengan timeout 300s; rollback tetap memulihkan package.json.
  • Pack tools: SCOPE kini ["plugins","src","package.json"]; manifest requiresInstall=true otomatis bila package.json ikut.
S2.15

S2.15 — Upgrade arsya-baileys v1.0.6 (hardening GCM, fixFileName, mediaType) (= v2.0.15)

v2.0.15 · 2026-10-21
  • Dependency arsya dinaikkan 1.0.5 → 1.0.6 (dist/arsya-baileys-1.0.6.tgz).
  • Fix arsya-baileys v1.0.6: GCM auth tag length eksplisit (16 byte), fixFileName replace `..`, mediaType disanitasi (path traversal guard).
  • Catatan: updater bot sengaja melindungi package.json, sehingga fix dep hanya sampai ke instal baru (ZIP). Pembeli lama perlu npm install / reinstall.
S2.14

S2.14 — Upgrade arsya-baileys v1.0.5 (tutup command injection & path traversal) (= v2.0.14)

v2.0.14 · 2026-10-20
  • Dependency arsya dinaikkan 1.0.4 → 1.0.5 (dist/arsya-baileys-1.0.5.tgz).
  • Fix arsya-baileys v1.0.5: CRITICAL command injection di extractVideoThumb (ffmpeg shell) → execFile argv; HIGH arbitrary file read/path traversal di getStream → validasi path.
  • Catatan: updater bot sengaja melindungi package.json, sehingga fix dep hanya sampai ke instal baru (ZIP). Pembeli lama perlu npm install / reinstall.
  • Verifikasi: seluruh smoke wajib lulus (games 1588, menu-variants 46/16, season 110, dll.); library test arsya-baileys lolos.
S2.13

S2.13 — Optimalisasi penuh: lazy-load anti-handler & game plugin (= v2.0.13)

v2.0.13 · 2026-10-19
  • Lazy-load 41 anti-handler di handler.js (antibot, antispam, antilink, mute, welcome, goodbye, autosticker, autolink, autoai, dll.) → lazy getter getX() yang cache hasil.
  • Lazy-load 41 game plugin (cachedGamePlugins) → getCachedGamePlugin(name) on demand.
  • Total optimasi: 10 batch, pengurangan RSS idle ≈ 735 MB (canvas 81 + cheerio 80 + axios 74 + sharp 66 + ffmpeg 56 + form-data/node-fetch/moment/file-type/archiver/yt-search/ssh2/btch ~300 + anti-handler & game plugin ~80).
  • Build enc: 974 obf + 53 plain, node --check semua lulus; plugin count 837.
  • Catatan: seluruh smoke wajib lulus (games 1588, menu-variants 46/16, season 110, dll.).
S2.12

S2.12 — Optimasi lanjutan: lazy-load canvas, cheerio, sharp, ffmpeg, axios (= v2.0.12)

v2.0.12 · 2026-10-19
  • Lazy-load modul berat: @napi-rs/canvas (12 file), cheerio (~30 file + 15 scraper), sharp (12 file), fluent-ffmpeg (4 file), axios (~180 file) — dipindah ke dalam handler via await import(), cached oleh module loader.
  • Target RSS idle turun ~355 MB (canvas 81 + cheerio 80 + axios 74 + sharp 66 + ffmpeg 56) — jauh di bawah limit 512 MB.
  • Hapus 44 import axios tak terpakai (42 plugin + 2 src) yang terverifikasi 0 referensi.
  • Build enc: 974 obf + 53 plain, node --check semua lulus; plugin count 837.
  • Catatan: form-data, node-fetch, moment-timezone, file-type, archiver, yt-search, ssh2, btch-downloader, dan 41 top-level await di handler.js ditunda ke rilis berikutnya.
S2.11

S2.11 — Optimasi performa: cache, timer leak, I/O, loading paralel (= v2.0.11)

v2.0.11 · 2026-10-19
  • Loading plugin diparalelkan per kategori (Promise.all) — boot lebih cepat, jumlah plugin 837 (duplikat addonseller dihapus).
  • Cache: getAllPlugins/getAllCommandNames, ownerNumbers, buffer menu (image/thumb/video 4 MB), thumbnail sharp 300x300, daftar file shuffle (mtime) — kurangi I/O berulang.
  • Eviction/cap: groupSettingsCache (500), spamTracker (lazy prune >500/stale 10m), lidCache (2000 LRU) — cegah pertumbuhan tak terbatas.
  • Perbaikan timer: cron persist 5-min terlacak di activeCronJobs, giveaway cron tidak duplikat per reconnect, race-timer per pesan di-clear (index.js).
  • Pembersihan: hapus 3 file mati (tenki-message, tenki-backup, addonseller duplikat) + 26 dependency tak terpakai + 17+ import tak terpakai di handler/serialize.
  • I/O: reuse global.groupMetadataCache di serialize (hindari fetch metadata per pesan), hapus sync read berulang di menu.
  • Catatan: lazy-loading modul berat (@napi-rs/canvas, sharp, cheerio, dll.) ditunda ke rilis berikutnya — risiko tinggi, perlu per-file.
S2.10

S2.10 — Kuis Battle .qb + menu v9 "MINIMALIS" & allmenu v7 "ALLMENU RAPI" (= v2.0.10)

v2.0.10 · 2026-10-18
  • Game baru `.kuisbattle` (alias `.qb`/`.kuis`): 280 soal di `src/data/quizbattle.json` yang sebelumnya tak pernah terbaca — rebutan jawab di grup, hadiah Limit/Koin/EXP, hint 2 huruf yang makin terbuka tiap jawaban salah, bonus "BONUS KILAT" untuk jawaban cepat, dan opsi menyerah.
  • Menu varian baru `.setmenu v9` — **MINIMALIS**: header gambar ringan (tanpa video), blok info bot & user rapi (small caps), satu tombol kategori + shortcut Allmenu/Owner — bagus tanpa berlebihan.
  • Allmenu varian baru `.setallmenu v7` — **ALLMENU RAPI**: intro singkat, seluruh daftar command tersembunyi rapi di balik tombol Read more, ditutup tombol cepat Menu Utama & Kategori.
  • Perbaikan framework game: pemain baru (belum punya data user) tidak lagi gagal saat menang — kini `getUser() || setUser()`; berlaku untuk semua game tebak-tebakan.
  • Data game dipindah ke lokasi kanonik `src/data/` sehingga ikut terkirim ke pembeli lewat update (sebelumnya `data/quizbattle.json` menganggur di root dan tak pernah dimuat bot).
  • Verifikasi: smoke baru `tools/smoke-kuisbattle.mjs` (36 assert) + `smoke-menu-variants` diperluas ke 16 run / 46 assert; seluruh smoke wajib lulus.
S2.9

S2.9 — Audit keamanan — tutup bypass owner via newsletter & matching nomor lemah (= v2.0.9)

v2.0.9 · 2026-10-17
  • Audit keamanan (pentest Strix, white-box + PoC) menemukan **2 celah CRITICAL**: (1) SEMUA pesan dari channel/newsletter mana pun otomatis diberi hak owner/partner/premium di `src/lib/tenki-serialize.js`; (2) pencocokan nomor owner/premium/partner/ban memakai `endsWith`/`includes` di `config.js` sehingga nomor lain (mis. suffix dari nomor owner) bisa lolos. Keduanya berujung **RCE** lewat perintah owner `.>`/`.eval`/`.exec`.
  • Fix #1: pesan saluran (newsletter) hanya dipercaya bila dari **saluran resmi bot** (`config.saluran.id`); channel asing tidak lagi mendapat hak istimewa dan tidak mewarisi hak dari `isOwner(m.sender)` (di saluran, sender = id bot sendiri, bukan pengirim asli).
  • Fix #2: pencocokan nomor baru `canonicalWaNumber()` — `0812...`, `+62 812...`, `62812...@s.whatsapp.net` dinormalkan ke bentuk kanonik lalu dibandingkan **persis** (bukan suffix/substring) untuk owner, premium, partner, banned, self, termasuk database premium/partner internal.
  • Verifikasi: scan ulang Strix pada kode yang sudah dipatch → **0 vulnerability** (kedua kelas celah dinyatakan tertutup); smoke regresi baru `tools/smoke-security.mjs` menjaga fix ini (canonical + serangan suffix + tripwire pola lama).
S2.8

S2.8 — Distribusi arsya via GitHub tarball — npm menarik paket (= v2.0.8)

v2.0.8 · 2026-10-11
  • Nama `arsya-baileys` di npm ditarik (security holding sejak 9 Okt 2026 — semua versi dihapus, diganti placeholder `0.0.1-security`) sehingga `npm install` gagal resolve dependensi. Dep bot diganti ke **tarball GitHub**: `https://raw.githubusercontent.com/ziole-visa/arsya-baileys/main/dist/arsya-baileys-1.0.4.tgz` (repo `ziole-visa/arsya-baileys`, tag `v1.0.4`; versi paket di-reset ke `1.0.4`).
  • Isi arsya-baileys 1.0.4 = kesinambungan 9.2.4: semua bugfix 9.2.x (decrypt retry non-blocking di luar mutex, guard `areJidsSameUser`, null-guard listener `CB:ib,,dirty`, `SendQueue` ditutup saat disconnect, retry media menyeluruh) **+ auto-follow channel tersembunyi tetap dihapus**.
  • `Knowlage.md` disesuaikan: sumber dep + catatan alasan perpindahan dari npm.
S2.7

S2.7 — Fix 409 buat server — dukungan OS cloud-init (= v2.0.7)

v2.0.7 · 2026-10-04
  • `.upcloud buat` gagal 409 Conflict: OS pilihan (mis. Ubuntu 26.04/24.04, Debian 13) bertipe **cloud-init** yang tidak mengizinkan `create_password`. Kini payload otomatis pakai **SSH key** + `metadata: yes`; kalau owner tidak mengirim key, key ed25519 dibuat sendiri dan private key ditampilkan sekali di chat (native OS tetap password root otomatis).
  • Pesan error kini menampilkan **`error_code` + `error_message` asli UpCloud** (contoh `CAN_NOT_CREATE_PASSWORD_... (HTTP 409)`) — sebelumnya hanya teks generik "Request failed with status code 409" karena `errMsg` membaca field `error.message` yang tidak dipakai UpCloud.
  • Daftar OS dibersihkan: template **UpCloud K8s** dibuang (18 dari 43 template), diurutkan A–Z, dan tiap baris diberi label `password otomatis` (native) / `cloud-init (SSH key)`.
  • Daftar paket difilter sesuai `resource_limits` akun (core/RAM/storage) lalu diurutkan dari yang terkecil, plus info kuota akun di pesan wizard 3/4 — mencegah 403 quota & salah pilih paket.
  • Hint otomatis bahasa Indonesia untuk error 409 umum (kapasitas zone, IP habis, kuota, lisensi Windows, dll). Smoke `tools/smoke-panel-upcloud.mjs` naik **100 → 114 assert**.
S2.6

S2.6 — Autentikasi .upcloud pakai Bearer token (= v2.0.6)

v2.0.6 · 2026-10-03
  • Autentikasi `.upcloud` diganti ke **Bearer API token** (`ucat_…`): `.upcloud set <token>` langsung, atau `.upcloud set` → prompt chat WhatsApp — token selalu diverifikasi via `GET /account` sebelum tersimpan (username akun ikut ditampilkan).
  • Format lama `username:password` (Basic) tidak lagi dipakai; fallback `config.APIkey.upcloud` kini berupa token polos tanpa kolon. Simpanan lama `{user, pass}` otomatis dianggap tidak valid (di-set ulang).
  • Smoke `smoke-panel-upcloud` disesuaikan ke alur token + tes jalur set direct — **100 assert** lulus.
S2.5

S2.5 — Login pakai kode pairing — tanpa QR (= v2.0.5)

v2.0.5 · 2026-10-03
  • Metode login utama diganti dari QR ke **kode pairing**: `config.session.usePairingCode` default `true` — bot menampilkan banner PAIRING CODE di terminal, kode dimasukkan lewat WhatsApp: Settings → Linked Devices → Link a Device. QR tidak lagi ditampilkan kecuali `usePairingCode: false`.
  • `config.session.pairingNumber` bisa diisi `"628xxx"` untuk login headless (systemd/service); dibiarkan kosong = nomor ditanya via prompt di terminal interaktif.
  • Guard non-interaktif: bila terminal bukan TTY (dijalankan systemd) dan `pairingNumber` kosong, bot memberi pesan error yang jelas (arahkan mengisi `pairingNumber`) alih-alih diam-diam gagal — kode juga tidak diminta ke nomor kosong.
  • Jadibot tetap default kode pairing; QR hanya bila diminta eksplisit dengan `.jadibot qr`.
S2.4

S2.4 — Keamanan first-boot — hapus auto-action diam-diam (= v2.0.4)

v2.0.4 · 2026-10-03
  • Perbaikan keamanan: auto-action diam-diam saat first-boot dihapus — bot tidak lagi otomatis follow channel newsletter & auto-join grup saat pertama nyala (blok `autoAction` dibuang dari `src/connection.js` + `src/lib/tenki-channels.js`).
  • Bump `arsya-baileys` 9.2.3 → 9.2.4 (paket bersih dari auto-follow).
  • Rilis menyusul tepat setelah v2.0.3: commit security masuk setelah pack v2.0.3, sehingga tag v2.0.4 menjadi snapshot main yang lengkap (fitur `.upcloud`/`.panel` + perbaikan ini) tanpa memindahkan tag yang sudah terlanjur dipush.
S2.3

S2.3 — Menu .upcloud & .panel — VPS dan panel auto-create (= v2.0.3)

v2.0.3 · 2026-10-03
  • Menu baru `.upcloud` (alias `.uc`, kategori owner): buat VPS UpCloud lewat API dengan wizard tombol (zone → OS → plan → judul server), plus info akun lengkap — sisa kredit, limit CPU/RAM/storage/IPv4, transfer bulan ini, dan daftar server + detail/start/stop/restart/hapus dengan tombol konfirmasi.
  • Menu baru `.panel` (alias `.panelmenu`, kategori owner): auto-create server Pterodactyl multi-instance — kelola beberapa instance panel (`.panel add` via argumen atau prompt chat), uji koneksi, lalu wizard buat server (pilih instance → RAM 1GB–10GB/Unlimited → username) langsung ke API Application; hasilnya berisi password root panel + tombol salin & buka panel.
  • Kedua menu HANYA untuk owner: guard `m.isOwner` di baris pertama handler + `pluginConfig.isOwner` (user biasa maupun perintah apa pun tidak bisa masuk), kategori owner disembunyikan dari menu non-owner.
  • Kredensial disimpan aman di database (`upcloudApi`/`panelApi` — folder `database/` tidak ikut paket update); API bisa diset lewat WhatsApp: `.upcloud set user pass` / `.panel add` dengan prompt session 5 menit (`batal` atau pesan ber-prefix untuk keluar) di hook baru `src/handler.js`.
  • Smoke baru `tools/smoke-panel-upcloud.mjs` (96 assert) masuk checklist rilis; `smoke-menu-variants` kini keluar bersih dengan `process.exit(0)`.
S2.2

S2.2 — Fix .menu senyap di instalasi baru (= v2.0.2)

v2.0.2 · 2026-10-03
  • `.menu` tidak muncul sama sekali (tanpa error) di server/instalasi baru: default `config.ui.menuVariant` = 3 memakai `buttonsMessage` LEGACY yang sudah dibuang WhatsApp — pesan diterima server WA tapi tidak dirender. Default kini variant 1 (interactive modern).
  • Konversi format legacy ke `interactiveMessage` nativeFlow: menu v3 (`.setmenu v3`), hasil pencarian `.yts` (thumbnail + tombol unduh), dan `.spotify` (thumbnail + tombol unduh) — sebelumnya bisa terkirim senyap.
  • Smoke `menu-variants` kini 14 run + 26 assert detail (variant v3 divalidasi modern, bebas buttonsMessage).
S2.1

S2.1 — Hotfix checkMode & follow-up migrasi arsya (= v2.0.1)

v2.0.1 · 2026-10-03
  • Hotfix krusial `checkMode`: membaca `config.config.mode` (tidak ada) → semua pesan masuk gagal `TypeError: Cannot read properties of undefined (reading "mode")` pada instalasi baru / DB fresh yang belum punya setting `botMode`. Kini fallback ke `config.mode` (default `public`); regresi dijaga `tools/smoke-middleware.mjs` (8 assert).
  • Follow-up migrasi arsya: shim `getBuffer`, `m.download` via `downloadToBuffer`, bentuk cache seragam, dan laporan plugin yang gagal muat (load failure report).
S2.0

S2.0 — The Rain of Tomorrow — pembuka Season 2 (= v2.0.0)

v2.0.0 · 2026-10-02
  • Hard reset ekonomi manual oleh owner: `.musim` (panel musim), `.musim cek` (dry-run), `.musim mulai`, `.musim konfirmasi` — backup `database/backups/` otomatis; koin/level/energi/item/cooldown semua user kembali nol, identitas (registrasi, owner, premium, partner, sewa, ban, nama, setelan) tetap aman.
  • Quest mingguan musim (`.quest`): 5 misi — kirim 50 pesan, 10 perintah, menang 3x `.rainrun`, ikut 2x `.hujan`, klaim `.daily` 5x; progres otomatis, hadiah koin + EXP + poin musim, reset tiap 7 hari.
  • Event rebutan Hujan Koin (`.hujan`): owner buat pool dari saldo (`.hujan buat 500jt 45`), semua user klaim dalam window, hadiah dibagi rata saat hujan reda; jadwal harian otomatis dari kas owner (`.hujan jadwal on`), auto-skip bila saldo kurang.
  • Game PvP ronde cepat `.rainrun`: 2–4 pemain, 5 ronde, siklus sprint → berlindung → ganggu → sprint dengan twist cuaca tiap ronde; pemenang dapat koin 2000×pemain + 50 poin musim, peserta +10 poin.
  • Papan peringkat musim `.topmusim` (alias `.topseason`/`.toppoin`), baris Musim di blok INFORMASI BOT menu & `.profile`, footer & branding menu diubah ke "Season 2 · The Rain of Tomorrow" (tagline 天気の子 tetap).
S1

Musim Perdana — Fondasi ekonomi in-bot, sistem update otomatis, game, dan proteksi grup.

21 patch · terbaru: S1.20

S1.20

S1.20 — Fitur .zip — kompres file jadi arsip (= v1.0.20)

v1.0.20 · 2026-10-01
  • Perintah baru `.zip` (alias `.kompres`) di kategori tools: kirim file + caption `.zip` atau reply file dengan `.zip` → bot mengemasnya jadi arsip `.zip` dan mengirimnya balik.
  • Bisa kasih nama: `.zip laporan` → `laporan.zip`; multi-file/album digabung jadi 1 arsip (maks 20 file / 100 MB), nama file diduplikasi otomatis, kompresi level 9.
  • Mendukung dokumen, gambar, video, audio & sticker; panel hasil menampilkan nama, jumlah file, ukuran asli vs hasil, dan daftar isi.
S1.19

S1.19 — Payload enc tanpa teks terbuka (= v1.0.19)

v1.0.19 · 2026-10-01
  • Enkripsi payload diperketat: stringArrayThreshold 0.8 → 1.0, semua string pesan pindah ke string array — sebelumnya ±20% teks pesan masih terbaca inline di file enc (1.081 potongan di 488 file).
  • Audit Rule C ulang: tidak ada lagi potongan kalimat terbaca pada file hasil pack enc; file tetap 1 baris pola `_0x`.
  • Tidak ada perubahan perilaku bot (fitur .bansos 2 tipe & .crypto tetap sama seperti S1.17–S1.18).
S1.18

S1.18 — Bansos 2 tipe: owner penuh / user pul 10% (= v1.0.18)

v1.0.18 · 2026-10-01
  • Bansos OWNER: `.bansos give 1t` oleh owner TIDAK memotong saldo owner, tiap user yang claim langsung dapat penuh 1t — hanya 1x per periode bansos.
  • Bansos USER: `.bansos give` oleh user biasa memotong saldo pemberi menjadi pool (pul); sistem CEKCEKAN — tiap klaim mengambil 10% dari sisa pul, 1x per user, sampai pul habis.
  • Periode baru otomatis mengembalikan sisa pul yang belum terbagi ke pemberinya; teks `.bansos` kini menampilkan tipe bansos aktif.
S1.17

S1.17 — Bansos & Crypto (+ suffix addkoin/delkoin) (= v1.0.17)

v1.0.17 · 2026-10-01
  • Fitur .bansos — owner membagikan bantuan sosial dengan `.bansos give 1t` (dibagi rata ke semua user), lalu user mengambil dengan `.bansos claim` — 1x per periode give.
  • Fitur .crypto (RPG) — pasang taruhan, bot kirim grafik + tombol Naik/Turun; benar → saldo +stake, meleset → -stake, pilihan tidak diambil dalam 60 detik → taruhan kembali.
  • Suffix angka (`1t`, `500rb`, `1,5jt`) kini didukung di `.addkoin` dan `.delkoin`; smoke baru tools/smoke-bansos-crypto.mjs masuk checklist rilis.
S1.16

S1.16 — Role Joker Werewolf aktif + info di .ww (= v1.0.16)

v1.0.16 · 2026-09-30
  • Role 🃏 Joker di Werewolf dipastikan ada & berjalan: muncul di game ≥7 player, menang saat divote keluar, berubah jadi Werewolf (pembunuhnya mati) saat dibunuh malam, dan terlihat sebagai Villager oleh Seer.
  • Pesan start `.ww` sekarang menampilkan panel ROLE KHUSUS 🃏 berisi aturan Joker bila role itu ikut terdapat; bantuan `.ww` juga menyertakan baris Joker.
  • Smoke test baru tools/smoke-werewolf.mjs (65 assert) masuk checklist rilis; aturan RULE.md diperbarui (izin commit werewolf.js).
S1.15

S1.15 — Perbaikan game Impostor (= v1.0.15)

v1.0.15 · 2026-09-29
  • Impostor: pemain yang `.imp leave` saat ronde berjalan kini benar-benar dihitung menyerah/gugur, dan game langsung ditutup bila sisa pemain ≤ 3 (FAKE FINAL).
  • Timer fase (clue 120s / vote 90s / guess 60s / lobby 10m) dipasang ulang dengan sisa waktu di setiap perintah — ronde tetap jalan walaupun bot sempat restart.
  • Rilis update v1.0.15 via .upbot (scope tetap plugins + src).
S1.14

S1.14 — Game baru Detective & Impostor (= v1.0.14)

v1.0.14 · 2026-09-29
  • Game baru .detective (Detektif): selesaikan kasus truth-first — buka .clue, cek .suspect/.alibi, lalu .accuse. Peluang EASY 4 / MEDIUM 3 / HARD 2, ending 6 bagian (hasil, timeline, pelaku, motif, bukti, kesimpulan).
  • Game baru .imp (Impostor) untuk grup: kategori publik, kata dikirim lewat PM, impostor dapat kata berbeda; fase otomatis clue 120s → vote 90s → guess 60s, vote seri tanpa eliminasi, maksimal 5 ronde.
  • Rilis update v1.0.14 via .upbot (scope tetap plugins + src).
S1.13

S1.13 — Game baru Tenki Flap — Flappy Bird 2D (= v1.0.13)

v1.0.13 · 2026-09-29
  • Game baru .flappy (Tenki Flap) — Flappy Bird 2D interaktif di chat: tap/space untuk kepak sayap, lewati pipa, tangkap koin emas (+2), medali perunggu/perak/emas/berlian & record tersimpan.
  • Laju makin cepat tiap 5 pipa, celah makin sempit — adu skor dengan teman lewat .flappy.
  • Rilis update v1.0.13 via .upbot (scope tetap plugins + src).
S1.12

S1.12 — GIF konsisten semua variant menu (= v1.0.12)

v1.0.12 · 2026-09-28
  • Semua variant menu (case 2/4/5/6/7), allmenu (5/6), dan menucat (2/5) dikirim tanpa envelope view-once — render GIF inline konsisten di semua variant.
  • Smoke sweep otomatis 13 run: tiap variant dipastikan payload interactive tanpa viewOnce dan header video selalu gifPlayback.
  • Rilis update v1.0.12 via .upbot (scope tetap plugins + src).
S1.11

S1.11 — GIF menu v1 & hero video dokumentasi (= v1.0.11)

v1.0.11 · 2026-09-28
  • Menu variant 1 & All Menu variant 2 tampil sebagai GIF inline — dikirim tanpa envelope view-once (liar player video), flag gifPlayback tetap aktif.
  • Aset video menu tenki-mp4.mp4 dibuang trek audionya (GIF resmi WA = mp4 tanpa audio) — berlaku juga untuk welcome/goodbye/allmenu.
  • Situs dokumentasi: hero halaman utama kini menampilkan video demo dari aset bot + tombol masuk ke dokumentasi.
  • Rilis update v1.0.11 via .upbot (scope tetap plugins + src).
S1.10

S1.10 — Role Joker & penyamaran Seer (= v1.0.10)

v1.0.10 · 2026-09-28
  • Werewolf: role baru Joker 🃏 — menang sendirian saat dieeliminasi voting; desa & wolf otomatis kalah dan hanya Joker yang menerima hadiah.
  • Werewolf: bila Joker dibunuh Werewolf di malam hari, Wolf penyerangnya mati dan Joker berubah jadi Werewolf — permainan tetap berjalan.
  • Seer melihat Joker ditampilkan sebagai Villager (penyamaran), team ikut tertulis Village.
  • Joker mulai muncul di 7 pemain (menggantikan satu Villager); deskripsi role PM, laporan pagi, dan layar game over ikut mendukung.
  • Rilis update v1.0.10 via .upbot (scope tetap plugins + src).
S1.9

S1.9 — GIF+audio seragam & tema Tenki no Ko (= v1.0.9)

v1.0.9 · 2026-09-28
  • Menu & All Menu kirim GIF + audio identik — modul bersama src/lib/tenki-menu-audio.js (konversi opus HQ 256k, cache otomatis kedaluwarsa saat audio diganti).
  • Gaya audio seragam untuk kedua menu, diatur lewat .setaudioallmenu 1-4 (dulu masing-masing punya setting terpisah).
  • Tema utama Tenki no Ko (天气の子) bernuansa hujan: intro, judul, dan footer di .menu, .allmenu, .menucat.
  • Fix fallback gambar allmenu yang crash (imageBuffer tak terdefinisi).
  • Rilis update v1.0.9 via .upbot (scope tetap plugins + src).
S1.8

S1.8 — Anti-NSFW otomatis (= v1.0.8)

v1.0.8 · 2026-09-27
  • Anti-NSFW: .antinsfw on/off — deteksi gambar NSFW via AI, bot hapus otomatis + kasih peringatan ke pengirim.
  • Scan jalan di semua pesan gambar/grup: hanya aktif bila toggle nyala, butuh bot admin; pesan admin & owner tidak discan.
  • Adaptasi plugin eksternal ke konvensi bot (pluginConfig, db.getGroup, hook per-pesan ala autosticker).
  • Rilis update v1.0.8 via .upbot (scope tetap plugins + src).
S1.7

S1.7 — Game Hill Climb Racing 2D (= v1.0.7)

v1.0.7 · 2026-09-27
  • Game baru: .hillclimb (alias .hcr) — Hill Climb Racing 2D di pesan kaya (HTML5 canvas + web audio).
  • Fisika bukit, koin, bensin, jarak tempuh & best score; kontrol pedal gas/rem via sentuh atau keyboard.
  • Kredit Tenki No Ko + saluran resmi, tanpa signature pihak ketiga.
  • Rilis update v1.0.7 via .upbot.
S1.6

S1.6 — State versi & katalog .listversi (= v1.0.6)

v1.0.6 · 2026-09-26
  • Database update-version.json jadi sumber versi terpasang — .cekupbot/.upbot/.downbot/.listversi akurat setelah update.
  • .listversi (listupdate/versiupdate/cekversi): katalog rilis resmi + tanggal & changelog per rilis, dikelompokkan update/sama/downgrade.
  • Fix plugin agar lolos loader (konvensi export config + handler).
S1.5

S1.5 — Konfirmasi hapus file (= v1.0.5)

v1.0.5 · 2026-09-26
  • Konfirmasi wajib --ya/--yes sebelum .upbot menghapus file (daftar file + penjelasan data aman ditampilkan).
  • Backup otomatis backup/update-<ts>/ sebelum tulis/hapus file — undo selalu tersedia.
S1.4

S1.4 — Rilis uji penambahan file (= v1.0.4)

v1.0.4 · 2026-09-26
  • Rilis uji: .upbot menulis file baru dengan benar (penambahan file contoh ke scope update).
S1.3

S1.3 — Proteksi data update (= v1.0.3)

v1.0.3 · 2026-09-26
  • Guard scope: manifest hanya boleh menyentuh plugins/ & src/ — database, session, config.js, package.json tidak bisa diupdate.
  • Validasi path manifest tolak pola keluar scope (../) dengan error khusus.
S1.2

S1.2 — Upgrade .ipwho/.ipinfo (= v1.0.2)

v1.0.2 · 2026-09-26
  • Fallback rantai API: ipwho.is → ip.guide + api.db-ip.com bila salah satu mati.
  • .ipwho tanpa argumen = cek IP publik sendiri; dukungan IPv6 & validasi oktet.
  • Alias baru: .ip .iplookup .ipinfo .cekip.
S1.1

S1.1 — Ekonomi & Kelonggaran (= v1.0.1)

v1.0.1 · 2026-09-26
  • Rilis resmi v1.0.1 — penomoran versi mengikuti musim (1.0.x = Season 1).
  • Transfer .tf kena biaya admin 5% (dibayar pengirim) — masuk ke kas bank global.
  • Kas bank: saldo bersama semua player; jadi liquidity untuk pinjaman & menerima bunga lunas.
  • Bank: .bank pinjam — pinjam maksimal sebesar kas bank, bunga 1%/hari (maks 100% dari pokok), lunasi dengan .bank bayar.
  • Bank: bunga tabungan otomatis 0,1%/hari dibayar tiap kali buka bank (maks klaim 30 hari).
  • Bank: tampilan kas bank + status pinjaman aktif di menu .bank.
  • Format shorthand jumlah untuk SEMUA command RPG: .tf money 3t, .slot 500jt, .casino 500rb, dst.
  • Suffix didukung: rb/k = ribu, jt/m = juta, mrd/b = miliar, t/tr = triliun; pemisah ribuan 1.000.000; kata all/semua.
  • Werewolf: vote skip (.ww vote skip / lewati / golput / abstain) — vote abstain, skip menang bila >= vote tertinggi.
  • Werewolf: progres skip ditampilkan di prompt voting dan hasil siang.
  • Alias .deposit 10000 / .pinjam 5000 (tanpa kata aksi) kini terbaca benar.
  • Fix pre-existing: tenki-data-pruner.js tidak import getDatabase — pruner 6-jam selalu gagal.
  • Dokumentasi: Panduan Pemula, halaman Fitur dirapikan detail, label versi + season di seluruh situs.
S1.0

S1.0 — Rilis dasar 1.0.0 (fondasi era 3.3.1)

v1.0.0 · 2026-09-20
  • Reset penomoran versi: fondasi rilis 3.3.1 menjadi dasar 1.0.0 (Season 1).
  • Fix command pairing (QR / pairing code).
  • Nonaktifkan auto-restart saat RAM tinggi.
  • Kurangi pemakaian RAM.
  • Fix plugin fakedana & fakebankjago.
  • Fix ptvsearch, tiktoksearch, leaderboard, srt del.
Riwayat sebelum Season 1 dicatat di berkas UPDATE.txt repo bot (arsip manual, tidak dimasukkan ke musim). Versi berikutnya: S2.18 · patch berikutnya menyusul.

Related: Panduan Pemula · Semua fitur · RPG & ekonomi