尚未收集仓库信息。
尚未检测到更新。GitHub 发布版本后会显示在这里。
制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗Website peta pixel-art yang warganya lahir otomatis dari komentar Instagram.
/admin.html): sinkron komentar, antrean komentar yang tidak terbaca, ubah tingkat (termasuk Legenda), sembunyikan/hapus warga, tambah warga manual (misalnya dari TikTok), atur status usulan fasilitas.Tanpa dependensi npm. Database: Upstash Redis (gratis, langsung dari Vercel Marketplace).
api/ fungsi server Vercel
dunia.js data publik untuk website
webhook.js penerima komentar dari Instagram
admin.js aksi admin (butuh password)
cron.js tugas harian: perbarui token + sinkron komentar
lib/
rules.js ATURAN DUNIA (tingkat & evolusi) ← ubah di sini
parse.js pembaca isi komentar
ig.js pemanggil Instagram API
db.js klien Upstash Redis
public/ website (index.html, admin.html, privasi.html, aset)
test/ uji otomatis (npm test)
dev-server.mjs pratinjau lokal dengan data contoh
UPSTASH_REDIS_REST_URL dan UPSTASH_REDIS_REST_TOKEN (atau KV_REST_API_URL / KV_REST_API_TOKEN) akan terisi otomatis.instagram_business_basic dan instagram_business_manage_comments aktif.Project → Settings → Environment Variables:
| Nama | Isi |
|---|---|
ADMIN_PASSWORD | password untuk Ruang Admin (buat yang panjang) |
IG_ACCESS_TOKEN | token dari langkah 3 |
IG_APP_SECRET | Instagram app secret dari langkah 3 |
IG_WEBHOOK_VERIFY_TOKEN | kata bebas buatanmu, misalnya pokomen-rahasia-123 |
CRON_SECRET | string acak panjang (dipakai Vercel untuk menjalankan tugas harian) |
POKOMEN_HARI_PERTAMA | opsional, tanggal Hari ke-1, contoh 2026-10-24 |
IG_USERNAME | opsional, duniapokomen (agar komentar balasanmu sendiri diabaikan) |
Lalu Deployments → Redeploy supaya variabel terbaca.
https://DOMAIN-KAMU.vercel.app/api/webhookIG_WEBHOOK_VERIFY_TOKENhttps://DOMAIN-KAMU.vercel.app/admin.html, masuk, klik Aktifkan webhook.https://DOMAIN-KAMU.vercel.app/privasi.html lalu ubah ke Live.Selama webhook belum jalan, tombol Sinkron komentar sekarang di Ruang Admin dan tugas harian otomatis (setiap 05.00 WIB) tetap menarik komentar dari 5 postingan terbaru.
Tulis komentar di postingan terbaru:
Nama: Bolu | Hewan: Kucing + Naga | Cerita: suka menghangatkan air mandi warga
Dalam beberapa detik (webhook) atau setelah klik Sinkron, Bolu muncul di peta.
| Tujuan | Contoh komentar |
|---|---|
| Daftar jadi warga | Nama: Bolu | Hewan: Kucing + Naga | Cerita: suka menghangatkan air mandi warga |
| Evolusi | Cerita: hari ini Bolu belajar berenang di danau barat |
| Usul fasilitas | Usul: Kolam Minum |
Komentar bebas seperti "Namaku Bolu, kucing + naga, dia suka tidur di atap Balai Warga" juga dicoba dibaca. Yang gagal terbaca masuk Antrean komentar di Ruang Admin untuk kamu lengkapi.
lib/rules.js)| Tier | Nama | Benefit | Cara naik |
|---|---|---|---|
| 1 | Regular | - | lahir |
| 2 | Pseudo-evo | tumbuh besar | cerita di postingan baru |
| 3 | Mega Evolution | elemen bangkit (aura, warna elemen) | cerita di postingan baru |
| 4 | Mythical Evolution | armor dasar | cerita di postingan baru |
| 5 | Legendary Evolution | outfit custom | Admin |
| 6 | God Mode | ganti wujud dasar (Mecha, Mecha Beast, Cyborg, Kristal, Roh Cahaya, Kaiju) | Admin |
Elemen: ..., Outfit: ..., atau Wujud Dewa: ... (boleh ditulis lebih awal).Tombol Traktir Admin dan Papan Terima Kasih di website. Traktiran tidak memberi keuntungan apa pun di dalam game: tidak ada evolusi atau status khusus.
TRAKTEER_URL = alamat halaman Trakteer-mu, misalnya https://trakteer.id/duniapokomenTRAKTEER_WEBHOOK_TOKEN = string acak panjang buatanmu
Lalu Redeploy.https://DOMAIN-KAMU.vercel.app/api/trakteer?token=ISI_TRAKTEER_WEBHOOK_TOKEN
Klik Send Webhook Test, lalu nyalakan webhook.
(Opsional: TRAKTEER_UNIT_NAME = nama satuan yang tampil di website. Bawaannya Kopi Admin.)
(Opsional: kalau Trakteer menampilkan token webhook miliknya sendiri, simpan juga sebagai TRAKTEER_HEADER_TOKEN.)Instagram API tidak bisa mengecek follow dari komentar. Status follow baru bisa dicek setelah orangnya mengirim DM.
Alur saat aktif: komentar pendaftaran → server mengirim DM pribadi otomatis → penonton membalas (misal "LAHIR")
→ server mengecek is_user_follow_business → lahir, atau diminta follow dulu.
instagram_business_manage_messages.IG_ACCESS_TOKEN di Vercel (atau tempel di Ruang Admin → Token baru).REQUIRE_FOLLOW=1 (opsional SITE_URL=dunia-pokomen.vercel.app), lalu Redeploy.Kampanye: ... di komentar tampil sebagai slogan.Setiap warga otomatis mendapat sprite pixel yang dibentuk dari nama hewannya. Untuk warga istimewa (misalnya Legenda), unggah PNG buatanmu ke mana saja (misalnya folder public/sprites/ lalu redeploy) dan isi kolom Sprite URL di Ruang Admin.
public/assets/world.json dari generator dunia.like_count). Jika Instagram tidak mengirimkannya, isi manual di tabel usulan.node dev-server.mjs # buka http://localhost:3000 (data contoh, password admin: admin)
npm test # jalankan uji otomatis
Tambahkan ?demo=1 di alamat website untuk melihat mode contoh dengan 40 warga.
Kalau pemilik berhenti follow, hewannya mati karena diterlantarkan. Makamnya tetap di peta dan di Buku Warga, gelarnya (misalnya Ketua Koloni) dicabut, dan ia tidak bisa ikut pemilihan. Cerita baru dari pemiliknya diabaikan. Kalau pemiliknya follow lagi dan mendaftarkan hewan baru (format Nama/Hewan), hewan lama dipindah ke makam dan hewan baru lahir dari Regular.
Instagram tidak punya notifikasi unfollow dan tidak membagikan daftar follower lewat API, jadi pengecekannya:
is_user_follow_business untuk warga yang ID Instagram-nya diketahui. Instagram hanya menjawab untuk akun yang pernah mengirim DM ke akunmu (misalnya lewat konfirmasi follow). Kalau tidak dijawab, hewannya tetap hidup. Matikan fitur ini dengan env CEK_UNFOLLOW=0.followers_1.json/.html di Ruang Admin → Unfollow = hewan mati, centang yang mau dimatikan, lalu klik Matikan yang dipilih.Salah matikan? Klik Hidupkan di tabel Warga.
Ruang Admin → Warga punya tombol Buat dengan Gemini (per warga) dan Buat gambar untuk semua yang belum punya. Prompt anime dan sprite hewan dikirim ke Gemini, hasilnya otomatis dipotong 3:2, dikompres dan dipasang di Kartu Warga.
Environment variable di Vercel:
| Nama | Isi |
|---|---|
GEMINI_API_KEY | API key dari Google AI Studio (wajib) |
GEMINI_IMAGE_MODEL | opsional, default gemini-3.1-flash-image (Nano Banana 2). Lebih murah: gemini-3.1-flash-lite-image |
GEMINI_DAILY_LIMIT | opsional, batas gambar per hari (default 30) |
Gemini API ditagih terpisah dari langganan Gemini. Pelanggan Google AI Pro mendapat kredit Google Cloud bulanan lewat Google Developer Program yang bisa dipakai untuk Gemini API.