Bot otomatis untuk daily vote pada Listing Calls di Edel Finance Runway Desk.
- Auto Vote setiap 1 jam (configurable via cron)
- Telegram Notifications — notif realtime setiap vote berhasil/gagal
- Smart Voting — random selection untuk head-to-head calls
- Session Import — login di Chrome PC, copy cookie, paste di VPS
- Retry Logic — auto retry dengan exponential backoff
- VPS Ready — support
screen, auto-restart
git clone https://github.com/AaBatok/Edel.git
cd Edel
npm installcp .env.example .env
nano .env- Buka Telegram, cari @BotFather
- Kirim
/newbot→ ikuti instruksi → dapat Bot Token - Buka bot kamu, kirim pesan apa saja (misal: "hello")
- Buka di browser:
https://api.telegram.org/bot<TOKEN>/getUpdates - Cari
"chat":{"id": 123456789}→ itu Chat ID kamu - Masukkan keduanya ke
.env
npm run importCara ambil cookie:
- Login di Chrome PC → buka https://runway.edel.finance
- Tekan F12 (DevTools) → klik tab Network
- Refresh halaman (Ctrl+R)
- Klik request pertama di daftar
- Di panel kanan, cari "Cookie:" di Request Headers
- Copy value-nya (panjang gapapa, copy semua)
- Di VPS:
npm run import→ paste → Enter
💡 Yang penting ada cookie
edel_session=eyJ...(JWT token). Bisa juga paste cuma token-nya yang dimulaieyJ...
screen -S edel
npm run start
# Tekan Ctrl+A lalu D untuk detach (bot tetap jalan)screen -S edel # Buat screen baru
screen -r edel # Masuk ke screen yang ada
screen -ls # Lihat semua screen aktif
# Ctrl+A lalu D # Detach (keluar tanpa stop)
# Ctrl+C # Stop bot (di dalam screen)screen -r edel # Masuk screen
# Ctrl+C # Stop bot
npm run import # Paste cookie baru
npm run start # Jalankan lagi
# Ctrl+A lalu D # Detach| Event | Pesan |
|---|---|
| ✅ Vote berhasil | Asset yang dipilih, strategy, waktu |
| ❌ Vote gagal | Error detail, retry info |
| ℹ️ Sudah voted | Status round, jadwal berikutnya |
| 🔑 Session expired | Instruksi re-import |
| 🤖 Bot started | Config summary |
| ⏰ Next vote | Estimasi waktu berikutnya |
| 🛑 Bot stopped | Waktu shutdown |
| Variable | Default | Description |
|---|---|---|
VOTE_STRATEGY |
smart |
random / smart / first / second |
CRON_SCHEDULE |
0 */1 * * * |
Cron expression (default: tiap jam) |
MAX_RETRIES |
3 |
Jumlah retry jika gagal |
TELEGRAM_BOT_TOKEN |
(kosong) | Token dari @BotFather |
TELEGRAM_CHAT_ID |
(kosong) | Chat ID Telegram kamu |
LOG_LEVEL |
info |
info / debug untuk troubleshoot |
Edel/
├── package.json # 4 deps ringan
├── .env # Config (JANGAN COMMIT!)
├── .env.example # Template config
├── ecosystem.config.cjs # PM2 config (opsional)
├── src/
│ ├── index.js # CLI entry point
│ ├── api/
│ │ └── client.js # ⚡ Pure HTTP API client
│ ├── auth/
│ │ └── session.js # Cookie import/export
│ ├── bot/
│ │ └── voter.js # Voting logic
│ ├── scheduler/
│ │ └── cron.js # Cron scheduler + Telegram
│ └── utils/
│ ├── config.js # Config loader
│ ├── logger.js # Winston logger
│ └── telegram.js # Telegram notifications
├── sessions/ # Cookie session (JANGAN COMMIT!)
└── logs/ # Log files
Cookie edel_session sudah expired.
→ Login ulang di Chrome → F12 → copy cookie → npm run import
Belum ada listing call window yang terbuka. → Bot akan otomatis coba lagi di jadwal berikutnya.
- Pastikan
TELEGRAM_BOT_TOKENdanTELEGRAM_CHAT_IDdiisi di.env - Kirim pesan ke bot dulu (bot tidak bisa kirim pesan duluan)
- Cek:
https://api.telegram.org/bot<TOKEN>/getUpdates
LOG_LEVEL=debug npm run voteBot ini dibuat untuk keperluan edukasi. Penggunaan automasi mungkin melanggar Terms & Conditions dari Edel Finance. Gunakan dengan risiko sendiri.
Made by Batokdrgn | HCA ⚡