# Juaskill Bot - Platform Simulation Orchestrator

Bot ini dirancang untuk mensimulasikan aktivitas nyata di platform Microjob (membuat akun, membuat layanan, dan melakukan transaksi) menggunakan data cerdas yang dihasilkan oleh AI (OpenRouter).

## 🚀 Fitur Utama

- **Dual Flow Simulation**: Mendukung simulasi transaksi **Layanan** (pembelian langsung) dan **Lowongan** (post job -> lamar -> terima).
- **AI-Driven Data**: Menggunakan OpenRouter (Gemini/Llama) untuk menghasilkan persona Indonesia yang realistis.
- **Natural Behavior**: Meniru perilaku manusia dengan jeda waktu acak dan pengacakan urutan transaksi.
- **Automated Transactions**: Melewati gerbang pembayaran untuk memudahkan pengisian data internal.

## 🛠️ Instalasi

1. Pastikan Anda memiliki Python 3.8+ terinstal.
2. Masuk ke direktori bot:
   ```bash
   cd bot
   ```
3. Instal semua dependensi:
   ```bash
   pip install -r requirements.txt
   ```

## ⚙️ Konfigurasi (.env)

Buat file `.env` (salin dari `.env.example`) dan isi variabel berikut:

```env
OPENROUTER_API_KEY=your_key_here
BOT_API_SECRET=your_backend_bot_secret
BACKEND_URL=http://localhost:3001/api
TRANSACTION_TYPES=SERVICE,JOB
COUNT_PER_TYPE=1
```

- `OPENROUTER_API_KEY`: Kunci API dari [OpenRouter](https://openrouter.ai/).
- `BOT_API_SECRET`: Kunci rahasia yang **harus sama** dengan yang ada di `.env` backend Anda.
- `TRANSACTION_TYPES`: Tipe transaksi yang ingin dijalankan (`SERVICE`, `JOB`, atau keduanya dipisah koma).
- `COUNT_PER_TYPE`: Berapa kali setiap tipe transaksi dijalankan dalam satu kali running.

## 🏁 Cara Menjalankan

### Jalankan Sekali (On-Demand / Cron Job)
Untuk menjalankan simulasi sesuai jumlah di `.env` lalu berhenti:
```bash
python main.py
```

### Jalankan Sebagai Background Service (VPS)
Anda bisa menggunakan **PM2** agar bot ini berjalan terus dan otomatis restart jika terjadi error:
```bash
pm2 start main.py --name "microjob-bot" --interpreter python3
```


## 📂 Struktur Folder

- `main.py`: Orkestrator utama alur bisnis bot.
- `ai_generator.py`: Modul untuk berinteraksi dengan OpenRouter AI.
- `requirements.txt`: Daftar pustaka Python yang dibutuhkan.
- `.env.example`: Contoh file konfigurasi lingkungan.

## ⚠️ Catatan Keamanan
Pastikan endpoint `/api/bot/*` di backend hanya dapat diakses menggunakan `BOT_API_SECRET` yang kuat untuk mencegah penyalahgunaan oleh pihak luar.
