# SERP & Erişim Takip Botu — Kurulum

Alan adlarının Google Türkiye'deki sırasını takip eden ve Türkiye'den erişim engeli olup olmadığını kontrol eden Telegram botu. cPanel paylaşımlı hostingde çalışır, veritabanı kurmana gerek yoktur (SQLite).

## 1. Bot oluştur
Telegram'da **@BotFather** → `/newbot` → bota isim ver → verdiği **token**'ı kopyala.

## 2. Dosyaları yükle
1. cPanel → **File Manager** → `public_html` (veya bir eklenti alan adının klasörü).
2. `serpbot.zip` dosyasını yükle ve **Extract** ile aç. `serpbot` klasörü oluşur.
3. `serpbot/config.php` dosyasını düzenle:
   - `BOT_TOKEN` → BotFather'dan aldığın token
   - `WEBHOOK_SECRET` → rastgele uzun bir şifre (sadece harf, rakam, `_` ve `-`; en az 16 karakter)
   - Diğerlerine dokunmana gerek yok.

## 3. Kurulum sayfasını aç
Tarayıcıda: `https://ALANADIN/serpbot/setup.php?key=WEBHOOK_SECRET`

Her satır ✅ olmalı. Sayfa webhook'u ve bot menüsünü kendisi ayarlar. Sitende SSL (https) aktif olmalıdır.

## 4. Cron Job ekle
cPanel → **Cron Jobs** → «Once Per Five Minutes (*/5 * * * *)» seç → kurulum sayfasının gösterdiği komutu yapıştır. Örnek:

```
/usr/local/bin/php /home/KULLANICI/public_html/serpbot/cron.php >/dev/null 2>&1
```

## 5. Botu başlat
Telegram'da botuna **/start** yaz. **İlk /start yazan kişi yönetici olur**, bot başka kimseye cevap vermez. Başka yönetici eklemek için: `/yonetici_ekle 123456789`

## 6. Servisi bağla
- **Serper** (önerilen başlangıç): serper.dev'de kart girmeden kayıt ol → Dashboard → API Key'i kopyala → botta `/apikey` → Serper → anahtarı gönder. 2.500 ücretsiz sorgu gelir.
- **DataForSEO**: kripto ile ödemek için destekten talep et (min. 50$). Panelde «API Access» bölümündeki e-posta + API şifresini botta `/apikey` → DataForSEO ile gir.
- **Ücretsiz Google**: anahtar gerekmez ama Google sunucu IP'lerine genelde captcha gösterdiği için çoğu zaman çalışmaz. Çalışmazsa bot haber verir.

Servisler arasında `/servis` menüsünden tek dokunuşla geçebilirsin.

## Kullanım
- **Alan adı ekle:** menüden «➕ Alan Adı Ekle» ya da `/ekle ornek.com`. Bot ne takip edileceğini sorar:
  🔑 Sadece Sıralama · 🛡 Sadece Engel · 🔑🛡 İkisi de — ardından 🟢 «site açılıyor mu» takibini isteyip istemediğini. Sıralama seçtiysen kelimeleri ister (her satıra bir kelime).
- **Her alan adı ayrı ayarlanır:** listeden alan adına dokun → «⚙️ Takip & Aralıklar». Her takibi ayrı aç/kapat ve otomatik aralığını seç:
  - 🔑 Sıralama: 30 dk, 1 sa, 2 sa, 3 sa, 6 sa, 12 sa, günlük, 2 günde bir
  - 🛡 Engel: 5 dk, 15 dk, 30 dk, 1 sa, 2 sa, 3 sa, 6 sa
  - 🟢 Açılış: 5 dk, 10 dk, 15 dk, 30 dk, 1 sa, 2 sa
- **Anlık kontrol:** alan adı ekranındaki «⚡ Hepsini Şimdi Kontrol Et» veya tek tek 🔑 Sıralama · 🛡 Engel · 🟢 Açılıyor mu? butonları. Otomatik kontrolden bağımsızdır.
- `/engel site.com` ve `/acikmi site.com` — listede olmayan siteleri bile anında test eder.
- **Genel Ayarlar** (`/ayarlar`): yeni alan adları için varsayılan aralıklar (istersen tümüne tek tuşla uygula), günlük kontrol saati, tarama derinliği, rapor türü (her kontrolde / sadece sıra değişince).

> Sıralamayı sık kontrol etmek kredi harcar: Serper'da her kontrol kelime başına en az 1 kredi. 10 kelime 30 dakikada bir → günde ≈480 kredi. Aralık ekranı bunu kelime sayına göre hesaplayıp gösterir.

## Raporları grupta paylaşma
1. Botu Telegram grubuna ekle (yönetici yapabilirsin).
2. Bot sana özelden «bu grubu bağlayayım mı?» diye sorar → **Evet**. Soru gelmezse grupta `/grupbagla` yaz.
3. Ana menüdeki **📨 Rapor Yeri** butonundan (veya `/rapor`) istediğin an seç:
   - 👤 **Özel** — raporlar sadece sana gelir; her raporun altındaki **📤 Grupta Paylaş** ile istediğini tek tek gruba atarsın
   - 👥 **Grup** — raporlar ve alarmlar grupta paylaşılır
   - 👤+👥 **İkisi** — hem sana hem gruba
Kredi ve servis uyarıları her zaman sadece özelden gelir. Grupta bot sadece yöneticilerin `/grupbagla` ve `/grupkaldir` komutlarını dinler, başka kimseye cevap vermez.

## «Site açılıyor mu» nasıl çalışır?
Sağlık testi değildir, sadece açılıyor / açılmıyor bakar. Botun sunucusundan ana sayfaya tarayıcı gibi istek atılır; hata alırsa birkaç saniye sonra bir kez daha dener, https açılmazsa http'yi dener. Cloudflare doğrulama sayfası (403) «açılıyor» sayılır. Açılmazsa (sunucu kapalı, 5xx hata, zaman aşımı) art arda 2 kontrolde doğrulanıp anında bildirilir; düzelince yine haber verilir.

## Engel kontrolü nasıl çalışır?
1. check-host.net'in **İstanbul** sunucularından siteye HTTPS bağlantısı ve DNS çözümlemesi yapılır.
2. Aynı test yurtdışındaki kontrol sunucularından da yapılır (site her yerden mi kapalı, yoksa sadece Türkiye'den mi?).
3. Türk Telekom DNS sunucularına doğrudan sorulur; engelli siteler uyarı sayfası IP'sine yönlenir.

DNS engeli kesin olduğu için anında bildirilir; diğer durum değişiklikleri yanlış alarm olmasın diye art arda 2 kontrolde doğrulanır.

## Sorun giderme
- Bot cevap vermiyor → `setup.php`'yi tekrar aç, «Webhook ayarlandı» ✅ mı bak.
- Rapor gelmiyor → cron komutunun yolu doğru mu? `serpbot/data/error.log` dosyasına bak.
- Kredi sayısı paneldekiyle tutmuyor → `/kredi 1850` gibi panelde gördüğün sayıyı yaz.
