Skip to content

balxz/Shiina-WaBot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

46 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Shiina WhatsApp Bot

Preview

Node.js WhatsApp License

Bot WhatsApp dengan sistem plugin yang fleksibel dan mudah dikustomisasi.


Preview Lainnya

Lihat screenshot lainnya

Screenshot 1 Screenshot 2 Screenshot 3


Aturan Penggunaan

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

Fitur Utama

  • 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

Yang Perlu Disiapkan

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

Cara Install

Clone Repository

git clone https://github.com/balxz/Shiina-WaBot
cd Shiina-WaBot

Install Dependencies

Pakai NPM:

npm install

Atau kalau mau lebih cepat, pakai Bun:

bun install

Setup Konfigurasi

Rename file konfigurasi dulu:

mv src/configs.example.js src/configs.js

Kalau di Windows:

ren src\configs.example.js configs.js

Terus edit file src/configs.js sesuai kebutuhan, minimal ganti nomor owner.

Jalankan Bot

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 startup

Deploy ke Pterodactyl Panel

Persiapan Server

Bikin 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%

Upload dan Install

> download zip terlebih dahulu

ss

> upload zip script

ss

> unzip file nya

ss

> masuk ke folder Shiina-Wabot lalu centang semua dan move

ss

> lalu ketik kan ../ supaya berada di container

ss

instalasi?

pergi ke startup dan isi Command Run dengan npm install setalah selesai install module, rename lagi Command Run menjadi node . atau node index

Deploy ke VPS

ssh root@ip
git clone https://github.com/balxz/Shiina-WaBot
cd Shiina-WaBot
npm install
mv src/configs.example.js src/configs.js
nano src/configs.js

run dengan PM2

npm install -g pm2
pm2 start . --name "bot"
pm2 save
pm2 startup

Monitoring Bot

pm2 logs shiina-bot

Struktur Project

Shiina-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


Cara Bikin Plugin Baru

Method 1: Bikin File Plugin

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")
    }
}

Method 2: Pakai Case System

Edit file utama dan tambah case baru:

case "hallo": { // @main @hallo
    m.reply("Ya hallo!")
    break
}

Keterangan komentar:

  • @main adalah kategori command (bakal muncul di menu)
  • @hallo adalah nama command (yang ditampilin di list menu)

Method 3: Quick Add

Bisa juga langsung add plugin dengan command plug:

.plug --add nama-folder/nama-file.js

Reply command ini ke kode pluginnya.


Parameter Handler

Parameter yang bisa dipakai di dalam handler:

  • m - Object message, isinya semua info tentang pesan
  • prefix - Prefix command yang dipakai
  • cmd - Command yang dipanggil
  • args - Array arguments dari command
  • text - Full text dari message
  • is - Object buat cek berbagai kondisi
  • Plugins - Manager plugin
  • scrap - Function buat web scraping
  • db - Akses ke database
  • tggl - Tanggal sekarang
  • jam - Waktu sekarang
  • runtime - Waktu bot udah jalan

Message Object

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)]
}

Pakai Scraper

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/.


Update Bot

Manual Update

# 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-bot

Auto Update Script

Bikin 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

Troubleshooting

Bot Nggak Respon

# 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

Error Module Not Found

# Install ulang semua dependencies
rm -rf node_modules package-lock.json
npm install

QR Code Nggak Keluar

# Hapus session lama
rm -rf sessions/

# Jalankan ulang
node .

Bot Sering Disconnect

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

Error di Pterodactyl?

mungkin node nya versi lawas๐Ÿ˜น


Kontribusi

Kontribusi sangat diterima. Caranya:

  1. Fork repository ini
  2. Bikin branch baru untuk fitur yang mau ditambah
  3. Commit perubahan yang udah dibuat
  4. Push ke branch di repository kamu
  5. Bikin Pull Request ke repository ini

Insyaallah bakal di-review dan di-merge kalau sesuai.


Support

Kalau ada error lapor:

  • Buat issue di GitHub Issues
  • Atau hubungi via website: balxzzy.web.id

About

bot wa multidevice ๐Ÿ˜ menggunakan database local.

Resources

Stars

Watchers

Forks

Contributors 2

  •  
  •