Harap dibaca sebelum menggunakan script ini:
- Dilarang keras untuk menjual script ini
- Dilarang menghapus watermark, hargai developer yang sudah buat
- Kalau kamu pakai script ini, bukan berarti ini 100% hak milikmu
- Dilarang reupload tanpa izin dari developer
- Boleh modifikasi asal tetap cantumkan credit
- Kontribusi via pull request sangat dipersilahkan
- Sistem plugin yang mudah dan fleksibel untuk menambah command
- Support multiple command alias
- Manajemen grup lengkap
- Kontrol akses untuk admin dan owner
- Database untuk menyimpan data
- Built-in web scraper
- Performa cepat dan ringan
- Mudah untuk update ke versi terbaru
Sebelum instalasi, pastikan sudah punya:
- Node.js versi 16 atau lebih tinggi
- Git untuk clone repository
- NPM atau Bun (opsional, tapi lebih cepat)
- Koneksi internet yang stabil
git clone https://github.com/balxz/Shiina-WaBot
cd Shiina-WaBotPakai NPM:
npm installAtau kalau mau lebih cepat, pakai Bun:
bun installRename file konfigurasi dulu:
mv src/configs.example.js src/configs.jsKalau di Windows:
ren src\configs.example.js configs.jsTerus edit file src/configs.js sesuai kebutuhan, minimal ganti nomor owner.
Pakai Node.js:
node .Pakai Bun:
bun run .Kalau mau jalanin di background dan auto restart kalau error, pakai PM2:
npm install -g pm2
pm2 start index.js --name shiina-bot
pm2 save
pm2 startupBikin server baru di panel Pterodactyl dengan spec minimal:
- Image: Node.js versi 16 atau lebih tinggi
- RAM: 512MB (rekomen 1GB kalau mau lancar)
- Disk: 1GB
- CPU: 50%
pergi ke startup dan isi
Command Rundengannpm installsetalah selesai install module, rename lagiCommand Runmenjadinode .ataunode index
ssh root@ipgit clone https://github.com/balxz/Shiina-WaBot
cd Shiina-WaBot
npm install
mv src/configs.example.js src/configs.js
nano src/configs.jsnpm install -g pm2
pm2 start . --name "bot"
pm2 save
pm2 startuppm2 logs shiina-botShiina-WaBot/
โโโ .gitignore
โโโ README.md
โโโ cmd
โ โโโ case-tele.js
โ โโโ case-wa.js
โ โโโ handler.js
โ โโโ plugins
โ โโโ downloader
โ โ โโโ facebook.js
โ โ โโโ github.js
โ โ โโโ instagram.js
โ โ โโโ mediafire.js
โ โ โโโ spotify.js
โ โ โโโ threads.js
โ โ โโโ tiktok.js
โ โ โโโ twitter.js
โ โโโ events
โ โ โโโ _antivn.js
โ โ โโโ _role.js
โ โโโ group
โ โ โโโ kick.js
โ โ โโโ link.js
โ โโโ info
โ โ โโโ ls.js
โ โ โโโ tree.js
โ โโโ menu.js
โ โโโ owner
โ โ โโโ backup.js
โ โ โโโ plugin.js
โ โ โโโ settings.js
โ โโโ private
โ โ โโโ beautify.js
โ โโโ searching
โ โโโ spotify.js
โโโ connect.js
โโโ database.json
โโโ index.js
โโโ package-lock.json
โโโ package.json
โโโ src
โโโ api.js
โโโ configs.example.js
โโโ configs.js
โโโ declare
โ โโโ Case.js
โ โโโ Database.js
โ โโโ Func.js
โ โโโ Prehandler.js
โ โโโ Print.js
โ โโโ image
โ โโโ api.png
โ โโโ banner.png
โ โโโ picture.png
โโโ scrapers
โ โโโ index.js
โ โโโ src
โ โโโ say.js
โโโ simple.js
โโโ utils
โโโ apis.js
Bikin file baru di folder plugins/, contoh plugins/info/test.js:
module.exports = {
alias: ["t", "testing", "testings"],
command: ["tes"],
tags: ["info"],
desc: ["Testing command"],
owner: false, // Cuma owner yang bisa pakai?
botadmin: false, // Bot harus jadi admin?
private: false, // Cuma bisa di private chat?
group: false, // Cuma bisa di group?
admin: false, // Cuma admin group yang bisa pakai?
handler: async (m, { prefix, cmd, args, text, is, Plugins, scrap, db, tggl, jam, runtime }) => {
m.reply("Hallo dari Sh Team")
}
}Edit file utama dan tambah case baru:
case "hallo": { // @main @hallo
m.reply("Ya hallo!")
break
}Keterangan komentar:
@mainadalah kategori command (bakal muncul di menu)@halloadalah nama command (yang ditampilin di list menu)
Bisa juga langsung add plugin dengan command plug:
.plug --add nama-folder/nama-file.js
Reply command ini ke kode pluginnya.
Parameter yang bisa dipakai di dalam handler:
m- Object message, isinya semua info tentang pesanprefix- Prefix command yang dipakaicmd- Command yang dipanggilargs- Array arguments dari commandtext- Full text dari messageis- Object buat cek berbagai kondisiPlugins- Manager pluginscrap- Function buat web scrapingdb- Akses ke databasetggl- Tanggal sekarangjam- Waktu sekarangruntime- Waktu bot udah jalan
Contoh return dari m kalau di console log:
{
key: {
remoteJid: '628229387382@s.whatsapp.net',
fromMe: false,
id: 'AC3BE153BE8AD76F51B33FF760D30E10',
participant: undefined
},
messageTimestamp: 1759301050,
pushName: 'bb? balzz?โbalxzzy.web.id',
broadcast: false,
message: Message {
conversation: '.ev return m',
messageContextInfo: MessageContextInfo {
deviceListMetadata: [DeviceListMetadata],
deviceListMetadataVersion: 2,
messageSecret: [Uint8Array]
}
},
id: 'AC3BE153BE8AD76F51B33FF760D30E10',
from: '628229387382@s.whatsapp.net',
isBaileys: false,
chat: '628229387382@s.whatsapp.net',
fromMe: false,
isGroup: false,
sender: '628229387382@s.whatsapp.net',
mtype: 'conversation',
msg: '.ev return m',
body: '.ev return m',
quoted: null,
mentionedJid: [],
sendBtnDocu: [AsyncFunction (anonymous)],
reply: [AsyncFunction (anonymous)],
send: [AsyncFunction (anonymous)],
copy: [Function (anonymous)],
react: [Function (anonymous)],
detect: [Function (anonymous)]
}Contoh cara pakai built-in scraper:
module.exports = {
alias: ["sy", "say"],
command: ["saying"],
tags: ["tools"],
desc: ["Convert text jadi speech"],
handler: async (m, { text, scrap }) => {
let a = scrap.say.send(text)
m.reply(a)
}
}Semua scraper ada di folder src/scrapers/.
# Backup file penting dulu
cp src/configs.js configs.backup.js
cp -r database database-backup
# Pull update dari GitHub
git pull origin main
# Restore konfigurasi
cp configs.backup.js src/configs.js
# Install dependencies baru kalau ada
npm install
# Restart bot
pm2 restart shiina-botBikin file update.sh:
#!/bin/bash
echo "Updating bot..."
# Backup config
cp src/configs.js /tmp/configs.backup.js
# Update dari GitHub
git stash
git pull origin main
# Restore config
cp /tmp/configs.backup.js src/configs.js
# Install dependencies
npm install
# Restart
pm2 restart shiina-bot
echo "Update selesai!"Jalankan:
chmod +x update.sh
./update.sh# Cek logs dulu
pm2 logs shiina-bot
# Coba restart
pm2 restart shiina-bot
# Kalau masih error, hapus session dan scan ulang
rm -rf sessions/
pm2 restart shiina-bot# Install ulang semua dependencies
rm -rf node_modules package-lock.json
npm install# Hapus session lama
rm -rf sessions/
# Jalankan ulang
node .Beberapa hal yang bisa dicoba:
- Pastikan koneksi internet stabil
- Pakai nomor WhatsApp yang jarang dipakai buat yang lain
- Jangan scan QR code di banyak device
- Update Node.js ke versi terbaru
- Kalau pakai hosting gratisan, coba upgrade ke yang berbayar
mungkin node nya versi lawas๐น
Kontribusi sangat diterima. Caranya:
- Fork repository ini
- Bikin branch baru untuk fitur yang mau ditambah
- Commit perubahan yang udah dibuat
- Push ke branch di repository kamu
- Bikin Pull Request ke repository ini
Insyaallah bakal di-review dan di-merge kalau sesuai.
Kalau ada error lapor:
- Buat issue di GitHub Issues
- Atau hubungi via website: balxzzy.web.id