Skip to content

yanaksalvo/TFF-Entegrasyon

Repository files navigation

TFF-ASKF Maç Raporu Otomatik İşleme Botu

Bu bot, TFF (Türkiye Futbol Federasyonu) sisteminden hakem raporlarını otomatik olarak alıp ASKF (Antalya Spor Kulüpleri Federasyonu) sistemine yükleyen bir otomasyon aracıdır.

Özellikler

  • ✅ TFF sisteminden otomatik rapor indirme
  • ✅ ASKF sistemine otomatik kadro ve skor yükleme
  • ✅ Maç eşleştirme algoritması
  • ✅ Grafik kullanıcı arayüzü
  • ✅ Otomatik Chrome driver kurulumu
  • ✅ Detaylı loglama sistemi
  • ✅ Hata yönetimi ve yeniden deneme
  • ✅ Tarih aralığı seçimi
  • ✅ Maç kategorisi filtreleme

Gereksinimler

  • Python 3.7 veya üzeri
  • Google Chrome tarayıcısı
  • İnternet bağlantısı
  • TFF sistemine erişim yetkisi
  • ASKF sistemine erişim yetkisi

Kurulum

1. Projeyi İndirin

git clone <repository-url>
cd tff-askf-bot

2. Sanal Ortam Oluşturun (Önerilen)

python -m venv venv
# Windows için:
venv\Scripts\activate
# Linux/Mac için:
source venv/bin/activate

3. Gerekli Paketleri Yükleyin

pip install -r requirements.txt

4. Chrome'u Debug Modunda Başlatın

Bot, mevcut Chrome sekmelerini kullanır. Chrome'u debug modunda başlatmanız gerekir:

Adım 1: Mevcut Chrome'u tamamen kapatın

Adım 2: Komut satırından Chrome'u debug modunda başlatın:

# Windows için:
chrome.exe --remote-debugging-port=9222

# Veya tam yol ile:
"C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9222

Adım 3: TFF ve ASKF sistemlerine giriş yapın ve gerekli sekmeleri açık bırakın

Adım 4: Bot'u başlatın

Kullanım

Grafik Arayüz ile Kullanım

python bot_gui.py

Komut Satırından Kullanım

python tff_askf_bot.py

Kullanım Adımları

  1. Bot'u Başlatın: bot_gui.py dosyasını çalıştırın
  2. Tarih Aralığını Seçin: Başlangıç ve bitiş tarihlerini girin
  3. Kategori Seçin (Opsiyonel): Belirli bir maç kategorisini filtrelemek için
  4. Bağlantı Testi: "Bağlantı Testi" butonuna tıklayarak sistemlerin erişilebilir olduğunu kontrol edin
  5. Bot'u Başlatın: "Botu Başlat" butonuna tıklayın
  6. İşlemi Takip Edin: Log alanından işlem durumunu takip edin

Bot Çalışma Mantığı

  1. TFF Sistemine Erişim:

    • AFYS menüsüne gider
    • Rapor sekmesini açar
    • Maç Esame ve Hakem sayfasına gider
  2. Arama Formu:

    • Şehir: ANTALYA seçer
    • Tarih aralığını girer
    • "Sadece Rapor Girilenleri Göster" seçeneğini işaretler
    • Maç kategorisini seçer (eğer belirtilmişse)
  3. Maç Listesi:

    • TFF sisteminden raporu olan maçları alır
    • ASKF sisteminden maç listesini alır
    • İki listeyi eşleştirir
  4. Rapor İşleme:

    • Her eşleşen maç için TFF'den CSV raporu indirir
    • ASKF sisteminde KADRO sayfasına yükler
    • ASKF sisteminde SKOR sayfasına yükler
    • Puan cetveline işler

Maç Kategorileri

Bot aşağıdaki maç kategorilerini destekler:

  • M2: Minikler U12
  • U13: Amatör U13
  • U14: Amatör U14
  • U15: Amatör U15
  • U16: Amatör U16
  • U17: Amatör U17
  • U18: Amatör U18
  • U19-1: Amatör U-19 1. Küme
  • U19-2: Amatör U-19 2. Küme
  • CU14: Akademi U-14
  • CU15: Akademi U-15
  • CU16: Akademi U-16
  • CU17: Akademi U-17
  • CU19: Akademi U-19
  • B1A: Büyükler 1. Amatör Küme
  • B2A: Büyükler 2. Amatör Küme
  • MM: Miniminikler (U11)

Klasör Yapısı

tff-askf-bot/
├── tff_askf_bot.py      # Ana bot kodu
├── bot_gui.py           # Grafik kullanıcı arayüzü
├── requirements.txt     # Python paket gereksinimleri
├── README.md           # Bu dosya
├── downloads/          # İndirilen CSV dosyaları (otomatik oluşur)
└── logs/              # Log dosyaları (otomatik oluşur)

Log Dosyaları

Bot, tüm işlemleri logs/ klasöründe günlük bazda kaydeder:

  • Format: bot_YYYYMMDD.log
  • Örnek: bot_20231023.log

Hata Durumları

Bot aşağıdaki hata durumlarını yönetir:

  • Chrome Driver Hatası: Otomatik olarak driver'ı indirir ve kurar
  • Bağlantı Hatası: Yeniden deneme mekanizması
  • Element Bulunamama: Alternatif selector'lar dener
  • Dosya İndirme Hatası: İndirme klasörünü kontrol eder
  • Form Doldurma Hatası: Alanları temizleyip yeniden dener

Güvenlik

  • Bot, web sitelerinin bot tespitini önlemek için çeşitli teknikler kullanır
  • Otomatik işlemler arasında uygun bekleme süreleri vardır
  • Hata durumlarında güvenli şekilde kapanır

Sorun Giderme

Chrome Driver Hatası

# Manuel olarak Chrome driver'ı güncelleyin
pip install --upgrade webdriver-manager

Bağlantı Hatası

  • İnternet bağlantınızı kontrol edin
  • VPN kullanıyorsanız kapatmayı deneyin
  • Firewall ayarlarını kontrol edin

Element Bulunamama Hatası

  • Web sitelerinin yapısı değişmiş olabilir
  • Bot kodunun güncellenmesi gerekebilir

Geliştirme

Yeni Özellik Ekleme

  1. tff_askf_bot.py dosyasında ilgili fonksiyonu ekleyin
  2. bot_gui.py dosyasında UI elementlerini ekleyin
  3. Test edin ve dokümante edin

Hata Ayıklama

# Debug modu için logging seviyesini değiştirin
logging.basicConfig(level=logging.DEBUG)

Lisans

Bu proje MIT lisansı altında lisanslanmıştır.

Destek

Herhangi bir sorun yaşarsanız:

  1. Log dosyalarını kontrol edin
  2. GitHub Issues bölümünde sorun bildirin
  3. Detaylı hata mesajlarını paylaşın

Sürüm Geçmişi

v1.0.0

  • İlk sürüm
  • Temel TFF-ASKF entegrasyonu
  • Grafik kullanıcı arayüzü
  • Otomatik Chrome driver kurulumu

About

Türkiye Futbol Federasyonu Maç&Puan Takip Analiz

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors