# 📢 Cara Pakai Dashboard Announcement

## 🌐 Akses Dashboard

1. **Buka browser**, masuk ke:
   ```
   http://localhost:4002
   ```

2. **Masukkan token** saat diminta:
   ```
   622e5783c187f3e3da7ad0da3fc34f9b9b47894925476d7fdf29d75b152a880b
   ```
   
   **ATAU** langsung buka dengan token di URL:
   ```
   http://localhost:4002?token=622e5783c187f3e3da7ad0da3fc34f9b9b47894925476d7fdf29d75b152a880b
   ```

3. **Pilih server** dari dropdown di sidebar (kalau bot ada di multiple server)

---

## 📢 Kirim Announcement

### Step-by-step:

1. **Klik tab "📢 Announcement"** di sidebar kiri

2. **Isi form:**
   - **Channel** ⚠️ (wajib) - pilih channel tujuan dari dropdown
   - **Title** (opsional) - judul pengumuman, contoh: `🎉 Flash Sale`
   - **Message** ⚠️ (wajib) - isi pengumuman (max 4000 karakter)
   - **Color** - pilih warna embed:
     - Blue (default)
     - Green (untuk good news)
     - Red (untuk urgent/warning)
     - Yellow (untuk info)
     - Purple
   - **Image URL** (opsional) - banner/gambar, contoh:
     ```
     https://cdn.discordapp.com/emojis/1096190031948214272.gif
     ```
   - **Mention @everyone** - centang kalau mau mention semua member

3. **Preview** (opsional):
   - Klik tombol **"👁️ Preview"**
   - Lihat tampilan embed sebelum dikirim

4. **Kirim**:
   - Klik tombol **"📤 Kirim Announcement"**
   - Konfirmasi channel tujuan
   - Selesai! ✅

---

## 📝 Contoh Penggunaan

### Contoh 1: Promo Flash Sale
```
Channel: #announcements
Title: 🎉 Flash Sale Nitro
Message: Diskon 50% untuk semua produk Discord Nitro!
         Promo berlaku sampai besok jam 12 malam.
         Buruan order sebelum kehabisan!
Color: Green
Image URL: https://cdn.discordapp.com/emojis/1096190031948214272.gif
Mention @everyone: ✅ Ya
```

### Contoh 2: Maintenance Warning
```
Channel: #announcements
Title: ⚠️ Server Maintenance
Message: Server akan maintenance besok jam 2 pagi.
         Estimasi downtime: 1-2 jam.
         Mohon maaf atas ketidaknyamanannya.
Color: Yellow
Image URL: (kosongkan)
Mention @everyone: ✅ Ya
```

### Contoh 3: Update Fitur
```
Channel: #updates
Title: ✨ Fitur Baru
Message: Bot sekarang punya fitur announcement!
         Kamu bisa kirim pengumuman langsung dari dashboard.
Color: Blue
Image URL: (kosongkan)
Mention @everyone: ❌ Tidak
```

---

## 🎨 Fitur Dashboard Lainnya

Selain Announcement, dashboard juga punya:

- **📊 Dashboard** - statistik revenue, orders, tickets
- **🎨 Store Panels** - buat panel toko dengan kategori & produk
- **📁 Categories** - kelola kategori produk
- **🛒 Products** - tambah/edit produk (dengan gambar!)
- **📦 Stock** - isi stok produk
- **😀 Emojis** - upload emoji custom
- **🎫 Ticket Panel** - kirim panel buka ticket
- **🧾 Orders** - lihat history order

---

## 🔐 Keamanan Token

**JANGAN SHARE TOKEN INI KE SIAPA PUN!**

Token dashboard = full access ke:
- Kirim announcement @everyone
- Tambah/hapus produk
- Lihat semua order & data
- Upload emoji
- Kirim panel ke channel mana pun

Kalau token bocor:
1. Generate token baru:
   ```bash
   node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
   ```
2. Update di `.env`:
   ```
   DASHBOARD_TOKEN=<token_baru>
   ```
3. Restart bot:
   ```bash
   npm start
   ```

---

## 🐛 Troubleshooting

### Dashboard tidak bisa dibuka
```bash
# Cek bot jalan
pgrep -af "node.*discord-bot"

# Cek dashboard health
curl http://localhost:4002/api/health

# Restart bot
pkill -f "node.*discord-bot"
npm start
```

### Token salah
- Pastikan token di `.env` sama dengan yang kamu masukkan
- Cek file: `cat .env | grep DASHBOARD_TOKEN`

### Channel tidak muncul di dropdown
- Pastikan bot sudah ada di server
- Pilih server yang benar dari dropdown di sidebar
- Refresh halaman

### Announcement tidak terkirim
- Cek bot punya permission `Send Messages` di channel tujuan
- Cek bot punya permission `Mention Everyone` (kalau pakai @everyone)
- Lihat log error: `tail -f /tmp/discord-bot.log`

---

## 📞 Support

Kalau ada masalah:
1. Cek log bot: `tail -50 /tmp/discord-bot.log`
2. Cek dashboard console (F12 di browser)
3. Test API manual:
   ```bash
   curl -X POST http://localhost:4002/api/announcement/send \
     -H "x-dashboard-token: YOUR_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{"channel_id":"123","message":"test"}'
   ```

---

**Dashboard URL:** http://localhost:4002  
**Token:** `622e5783c187f3e3da7ad0da3fc34f9b9b47894925476d7fdf29d75b152a880b`

Selamat menggunakan! 🎉
