🤖

VM WhatsApp Bot

Kurulum Rehberi — WhatsApp bot'unuzu dakikalar içinde kurun ve çalıştırın

📦 v1.0.0

📋 Sistem Gereksinimleri

Bileşen Gereksinim Not
Node.js v18.0.0+ v22.x önerilir (test edilen: v22.22.0)
npm v8.0.0+ Node.js ile birlikte gelir
İşletim Sistemi Windows / Linux / macOS Tüm platformlarda çalışır
RAM Min. 512 MB Puppeteer (Chromium) için gerekli
Disk Alanı ~500 MB node_modules + Chromium
Tarayıcı Modern Tarayıcı Yönetim paneli erişimi için
WhatsApp Aktif Hesap QR kod ile bağlantı kurmak için

🚀 Kurulum Adımları

1

Node.js Kurulumu

Eğer Node.js yüklü değilse, resmi web sitesinden LTS sürümünü indirin ve kurun:

# Node.js resmi sitesi
https://nodejs.org/

Kurulumu doğrulamak için:

$ node --version
# Çıktı: v22.22.0 veya üzeri

$ npm --version
# Çıktı: 8.x veya üzeri
2

Proje Dosyalarını Hazırlama

Proje dosyalarını sunucunuza yükleyin veya istediğiniz bir klasöre kopyalayın:

$ cd /yol/proje-klasoru
# Örnek: cd C:\VmWhatsappBot
3

Bağımlılıkları Yükleme

Proje klasöründe aşağıdaki komutu çalıştırarak tüm bağımlılıkları yükleyin:

$ npm install
💡 Bu işlem ilk kurulumda Chromium indirdiği için birkaç dakika sürebilir.
4

Ortam Değişkenleri (Opsiyonel)

Proje kök dizininde .env dosyasını düzenleyebilirsiniz:

# .env dosyası

PORT=3000
SESSION_SECRET=guclu-bir-sifre-buraya-yazin
⚠️ Admin kullanıcı adı ve şifre panelin Ayarlar sayfasından değiştirilir. Varsayılan: admin / admin123
5

Botu Başlatma

Aşağıdaki komutla sunucuyu başlatın:

$ npm start
# veya doğrudan:
$ node server.js

Başarılı başlatma sonrası terminal çıktısı:

╔══════════════════════════════════════════════╗
║   🤖 VM WhatsApp Bot                        ║
║   📡 Server: http://localhost:3000          ║
║   📋 Panel:  http://localhost:3000/login    ║
╚══════════════════════════════════════════════╝
6

WhatsApp Bağlantısı

Sunucu başlatıldığında terminalde bir QR kod görünecektir.

  1. Telefonunuzda WhatsApp'ı açın
  2. Ayarlar → Bağlı Cihazlar → Cihaz Bağla yolunu takip edin
  3. Terminaldeki QR kodu telefonunuzla tarayın
  4. Bağlantı kurulduktan sonra ✅ WhatsApp bağlantısı başarılı! mesajını göreceksiniz
İlk bağlantıdan sonra oturum bilgileri .wwebjs_auth klasöründe saklanır. Sunucu yeniden başlatıldığında otomatik bağlanır.
7

Yönetim Paneline Erişim

Tarayıcınızı açın ve aşağıdaki adrese gidin:

http://localhost:3000

Varsayılan giriş bilgileri:

Kullanıcı Adı admin
Şifre admin123
🔒 ÖNEMLİ: İlk girişten sonra Ayarlar sayfasından kullanıcı adınızı ve şifrenizi mutlaka değiştirin!

📁 Proje Yapısı

VmWhatsappBot/
├── server.js — Ana sunucu dosyası
├── package.json — Bağımlılıklar
├── .env — Ortam değişkenleri
├── kurulum.html — Bu dosya
├── config/ — Yapılandırma
│   └── default.js
├── data/ — JSON veri dosyaları
│   ├── admin.json — Admin bilgileri
│   ├── settings.json — Bot ayarları
│   ├── triggers.json — Oto mesaj kuralları
│   └── logs.json — Sistem logları
├── src/ — Kaynak kodlar
│   ├── middleware/ — Yetkilendirme
│   ├── routes/ — API & sayfa rotaları
│   ├── services/ — İş mantığı
│   └── whatsapp/ — Bot motoru
├── views/ — EJS şablonları
└── public/ — Statik dosyalar (CSS, JS)

⚙️ Kullanılan Teknolojiler

Paket Sürüm Açıklama
express ^4.21.2 Web sunucu framework
whatsapp-web.js ^1.26.1-alpha.1 WhatsApp Web bağlantısı & mesajlaşma
ejs ^3.1.10 Şablon motoru (HTML render)
express-session ^1.18.1 Oturum yönetimi
qrcode-terminal ^0.12.0 Terminal QR kod gösterimi
dotenv ^16.4.7 Ortam değişkenleri yönetimi

🔄 Arka Planda Çalıştırma (Production)

pm2 ile (Önerilen)

PM2, Node.js uygulamalarını arka planda çalıştırmak, otomatik yeniden başlatma ve log yönetimi için idealdir:

# PM2 global olarak yükle
$ npm install -g pm2

# Botu başlat
$ pm2 start server.js --name whatsapp-bot

# Durumu kontrol et
$ pm2 status

# Logları izle
$ pm2 logs whatsapp-bot

# Sistem yeniden başladığında otomatik çalışsın
$ pm2 startup
$ pm2 save

systemd ile (Linux)

# /etc/systemd/system/whatsapp-bot.service

[Unit]
Description=VM WhatsApp Bot
After=network.target

[Service]
Type=simple
User=www-data
WorkingDirectory=/opt/VmWhatsappBot
ExecStart=/usr/bin/node server.js
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target
$ sudo systemctl enable whatsapp-bot
$ sudo systemctl start whatsapp-bot

🛠️ Sorun Giderme

❌ "Chromium revision not found" hatası

Puppeteer/Chromium indirilmemiş olabilir. Aşağıdaki komutu deneyin:

$ npx puppeteer browsers install chrome

❌ "EADDRINUSE: port already in use" hatası

3000 portu başka bir uygulama tarafından kullanılıyor. .env dosyasında PORT değerini değiştirin veya mevcut işlemi durdurun:

# Windows
$ netstat -ano | findstr :3000
$ taskkill /PID <PID> /F

# Linux / macOS
$ lsof -i :3000
$ kill -9 <PID>

❌ WhatsApp QR kodu sürekli yenileniyor

QR kodu 60 saniye içinde taranmazsa yenilenir. Hızlıca tarayın. Sorun devam ediyorsa .wwebjs_auth klasörünü silip tekrar deneyin:

# Oturum verilerini sıfırla
$ rm -rf .wwebjs_auth
$ npm start

❌ Linux sunucuda Chromium hataları

Gerekli sistem kütüphanelerini yükleyin:

# Ubuntu / Debian
$ sudo apt-get install -y gconf-service libasound2 libatk1.0-0 \
  libcairo2 libcups2 libfontconfig1 libgdk-pixbuf2.0-0 \
  libgtk-3-0 libnspr4 libnss3 libpango-1.0-0 \
  libxss1 fonts-liberation libappindicator1 xdg-utils

🔒 Güvenlik Önerileri

💬 Destek & İletişim

Kurulum, yapılandırma veya entegrasyon konularında desteğe mi ihtiyacınız var?

Profesyonel destek ve özel entegrasyon çözümleri için bize ulaşın.

🌐 semihakbas.com.tr