Skip to content

mrcbrbn5361/trendcord

Repository files navigation

Trendyol Takip Botu

Discord üzerinden Trendyol ürünlerinin fiyatlarını takip etmenizi sağlayan bir bot.

Özellikler

  • Trendyol ürünlerini takip etme
  • Fiyat değişikliklerinde otomatik bildirim gönderme
  • Ürün fiyat geçmişini izleme
  • Proxy desteği ile istekleri yönetme
  • Discord üzerinden kolay kullanılabilir komutlar

Kurulum

Bu botu çalıştırmak için bilgisayarınızda Python 3.8 veya üzeri bir sürümün kurulu olması gerekmektedir.

Önemli Not: Bu projenin dosyaları, bir yapay zeka tarafından oluşturulmuş veya düzenlenmiş olabilir. Bu nedenle, ana proje klasörünüzün adı (trendyol) içinde, aşağıda listelenen bazı ek dosyalarla karşılaşabilirsiniz. Bu döküman, bu olası durumu da göz önünde bulundurarak hazırlanmıştır.

Ön Hazırlıklar:

  1. Python Kurulumu:

    • Eğer Python kurulu değilse, python.org adresinden işletim sisteminize uygun sürümü indirip kurun. Kurulum sırasında "Add Python to PATH" seçeneğini işaretlemeyi unutmayın.
    • Kurulumu doğrulamak için komut satırına (Terminal veya Komut İstemi) python --version veya python3 --version yazın.
  2. Proje Dosyalarını Edinme:

    • Proje dosyalarını içeren trendyol klasörünü bilgisayarınıza indirin (örneğin, ZIP olarak) ve istediğiniz bir konuma çıkartın.
    • Komut satırı/terminal üzerinden trendyol klasörünün içine gidin. Örneğin: cd /path/to/trendyol veya cd C:\path\to\trendyol.

Kurulum Adımları:

  1. (Önerilen) Sanal Ortam Oluşturma ve Aktifleştirme: Proje bağımlılıklarını sistem genelindeki Python paketlerinden ayırmak için bir sanal ortam oluşturmanız önerilir.

    # trendyol klasörünün içindeyken:
    python -m venv venv
    # veya macOS/Linux üzerinde python3 kullanıyorsanız:
    # python3 -m venv venv

    Sanal ortamı aktifleştirin:

    • Windows (Komut İstemi veya PowerShell):
      venv\Scripts\activate
    • macOS / Linux (Terminal):
      source venv/bin/activate

    Bundan sonraki komutları bu aktif sanal ortamda çalıştıracaksınız.

  2. Gerekli Paketleri Yükleme: trendyol klasörünüzde requirements.txt dosyası bulunmalıdır. Aşağıdaki komut ile gerekli Python paketlerini yükleyin:

    pip install -r requirements.txt

    Not: Windows'ta Türkçe karakter içeren bir yolda kurulum yapıyorsanız ve sorun yaşıyorsanız, alternatif olarak şu komutu kullanabilirsiniz (eğer requirements_fix.txt dosyası projenizde mevcutsa):

    pip install -r requirements_fix.txt

    Eğer trendyol klasörünüzde install_requirements.py gibi bir dosya varsa, bu alternatif bir kurulum scripti olabilir. Genellikle yukarıdaki pip install -r ... komutları yeterli olacaktır. req.txt dosyası da benzer şekilde alternatif bir bağımlılık listesi olabilir.

  3. Veritabanını Oluşturma: trendyol klasörünüzde init_db.py adlı bir script bulunmalıdır. Bu scripti çalıştırarak veritabanını oluşturun:

    python init_db.py
    # veya macOS/Linux üzerinde python3 kullanıyorsanız:
    # python3 init_db.py

    Eğer trendyol klasörünüzde create_database_sqlite.py gibi bir dosya varsa, bu init_db.py'ye alternatif bir veritabanı oluşturma scripti olabilir. Öncelikle init_db.py'yi deneyin.

  4. .env Yapılandırma Dosyasını Oluşturma ve Düzenleme: trendyol klasörünün ana dizininde (/path/to/trendyol veya C:\path\to\trendyol) .env adında bir dosya oluşturun ve aşağıdaki içeriği kendi bilgilerinize göre düzenleyerek içine yapıştırın:

    # Discord Bot Token - Discord Developer Portal'dan alınacak
    DISCORD_TOKEN=buraya_discord_tokeninizi_ekleyin
    
    # Bot Ayarları
    PREFIX=!
    CHECK_INTERVAL=3600 # Her saatte bir fiyat kontrolü (saniye cinsinden)
    PROXY_ENABLED=True # Proxy kullanımını etkinleştir
    
    # Veritabanı Ayarları
    DATABASE_PATH=data/trendyol_tracker.sqlite # Ana veritabanı dosyası
    BACKUP_DATABASE_PATH=data/database.sqlite # Yedek veritabanı dosyası (eğer kullanılıyorsa)
    • DISCORD_TOKEN: Discord Developer Portal üzerinden oluşturduğunuz botunuza ait token'ı buraya girin.
  5. Botu Çalıştırma: Sanal ortamınızın aktif olduğundan emin olun.

    python main.py
    # veya macOS/Linux üzerinde python3 kullanıyorsanız:
    # python3 main.py

    Botunuz artık Discord sunucunuzda aktif olmalıdır.

Komutlar

  • !ekle <Trendyol Linki> - Takip edilecek ürün ekler
  • !takiptekiler - Takip edilen ürünleri listeler
  • !bilgi <Ürün ID veya URL> - Belirtilen ürün hakkında detaylı bilgi verir
  • !sil <Ürün ID> - Takip edilen bir ürünü listeden çıkarır
  • !güncelle <Ürün ID> - Ürün bilgilerini manuel olarak günceller
  • !yardım - Yardım mesajını gösterir

Proje Yapısı

trendyol klasörünüzün içeriği genel olarak aşağıdaki gibi olacaktır. Bazı dosyalar AI tarafından eklenmiş alternatifler veya ek notlar olabilir:

  • main.py - Ana bot dosyası
  • database.py - Veritabanı işlemleri
  • scraper.py - Trendyol ürün bilgilerini çekme işlemleri
  • cogs/product_commands.py - Bot komutları
  • .env - Konfigürasyon dosyası (sizin oluşturmanız gerekir)
  • proxies.txt - Proxy listesi (isteğe bağlı, proxy kullanılacaksa oluşturulur)
  • requirements.txt - Gerekli Python paketleri
  • init_db.py - Veritabanını başlatan script
  • data/ - Veritabanı dosyalarının saklandığı klasör
    • trendyol_tracker.sqlite - Ana veritabanı dosyası
    • database.sqlite - Yedek veritabanı dosyası (veya BACKUP_DATABASE_PATH ile belirtilen dosya)

AI Tarafından Oluşturulmuş Olabilecek Ek Dosyalar (trendyol klasörü içinde):

  • create_database_sqlite.py: Muhtemelen init_db.py'ye alternatif bir veritabanı oluşturma scripti.
  • database_alt.py: Muhtemelen database.py'ye alternatif bir veritabanı modülü.
  • install_requirements.py: pip install -r requirements.txt komutuna alternatif bir Python scripti ile paket yükleme denemesi olabilir.
  • manuel_kurulum.txt: Manuel kurulum adımlarını veya ek notları içeren bir metin dosyası olabilir. İncelemenizde fayda var.
  • req.txt: requirements.txt'ye alternatif veya farklı bir bağımlılık listesi olabilir.
  • scraper_alt.py: Muhtemelen scraper.py'ye alternatif bir ürün bilgisi çekme modülü.
  • requirements_fix.txt: Windows'ta Türkçe karakter sorunları için hazırlanmış alternatif bir bağımlılık listesi.

Sorun Giderme

  • Python veya pip komutu bulunamadı hatası: Python kurulumu sırasında "Add Python to PATH" seçeneğini işaretlediğinizden emin olun. Değilse, Python'ı PATH'e manuel olarak eklemeniz veya tam yolunu (örn: C:\Python39\python.exe) kullanarak komutları çalıştırmanız gerekebilir.
  • Windows'ta pip kurulum sorunu: Türkçe karakter içeren dizinlerde pip kurulumu sorun çıkarabilir. Bu durumda, eğer mevcutsa requirements_fix.txt kullanın veya projeyi C:\projects\bot gibi basit bir yola taşıyın.
  • Sanal ortam hataları: Sanal ortamı doğru oluşturup aktifleştirdiğinizden emin olun. Komut satırınızın başında (venv) gibi bir ifade görmelisiniz.
  • Veritabanı bağlantı hatası: Eğer veritabanıyla ilgili sorun yaşıyorsanız, data klasörünün var olduğundan ve yazma izinlerine sahip olduğunuzdan emin olun. init_db.py (veya alternatif olarak create_database_sqlite.py) scriptini çalıştırarak yeni bir veritabanı oluşturmayı deneyebilirsiniz.
  • Proxy bağlantı sorunları:
    • .env dosyasında PROXY_ENABLED=False ayarını kullanarak proxy kullanımını tamamen devre dışı bırakabilirsiniz.
    • Alternatif olarak kendi çalışan proxy'lerinizi proxies.txt dosyasına ekleyebilirsiniz.
    • Proxy sorunları genellikle "Max retries exceeded" veya "Connection timed out" gibi hatalarla görünür.

Proxy Kullanımı

Bot, (eğer etkinleştirilmişse) proxies.txt dosyasındaki proxy listesini kullanır. Kendi proxylerinizi kullanmak isterseniz:

  1. trendyol klasörünün ana dizininde proxies.txt adında bir dosya oluşturun (eğer yoksa).
  2. Her satıra bir proxy IP:PORT formatında ekleyin (örn: 123.456.789.012:8080).
  3. Yorum satırlarını # ile başlatabilirsiniz.
  4. .env dosyasında PROXY_ENABLED=True olduğundan emin olun.

Eğer aşağıdaki gibi bir hata mesajı görürseniz:

Max retries exceeded with url: ... (Caused by ProxyError('Unable to connect to proxy', ConnectTimeoutError(...)))

Bu, proxy'nin yanıt vermediği anlamına gelir. Bu durumda:

  1. .env dosyasında PROXY_ENABLED=False ayarlayarak proxy'leri devre dışı bırakabilirsin, veya
  2. proxies.txt dosyasına daha güvenilir ve çalışan proxy'ler ekleyebilirsin.

Lisans

Bu proje MIT lisansı altında lisanslanmıştır. Daha fazla bilgi için proje içerisindeki LICENSE dosyasına (eğer varsa) bakın.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages