Discord üzerinden Trendyol ürünlerinin fiyatlarını takip etmenizi sağlayan bir bot.
- 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
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:
-
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
veyapython3 --version
yazın.
-
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
veyacd C:\path\to\trendyol
.
- Proje dosyalarını içeren
Kurulum Adımları:
-
(Ö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.
- Windows (Komut İstemi veya PowerShell):
-
Gerekli Paketleri Yükleme:
trendyol
klasörünüzderequirements.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üzdeinstall_requirements.py
gibi bir dosya varsa, bu alternatif bir kurulum scripti olabilir. Genellikle yukarıdakipip install -r ...
komutları yeterli olacaktır.req.txt
dosyası da benzer şekilde alternatif bir bağımlılık listesi olabilir. -
Veritabanını Oluşturma:
trendyol
klasörünüzdeinit_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üzdecreate_database_sqlite.py
gibi bir dosya varsa, buinit_db.py
'ye alternatif bir veritabanı oluşturma scripti olabilir. Öncelikleinit_db.py
'yi deneyin. -
.env
Yapılandırma Dosyasını Oluşturma ve Düzenleme:trendyol
klasörünün ana dizininde (/path/to/trendyol
veyaC:\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.
-
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.
!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
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şlemleriscraper.py
- Trendyol ürün bilgilerini çekme işlemlericogs/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 paketleriinit_db.py
- Veritabanını başlatan scriptdata/
- Veritabanı dosyalarının saklandığı klasörtrendyol_tracker.sqlite
- Ana veritabanı dosyasıdatabase.sqlite
- Yedek veritabanı dosyası (veyaBACKUP_DATABASE_PATH
ile belirtilen dosya)
AI Tarafından Oluşturulmuş Olabilecek Ek Dosyalar (trendyol
klasörü içinde):
create_database_sqlite.py
: Muhtemeleninit_db.py
'ye alternatif bir veritabanı oluşturma scripti.database_alt.py
: Muhtemelendatabase.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
: Muhtemelenscraper.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.
- 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 projeyiC:\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 olarakcreate_database_sqlite.py
) scriptini çalıştırarak yeni bir veritabanı oluşturmayı deneyebilirsiniz. - Proxy bağlantı sorunları:
.env
dosyasındaPROXY_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.
Bot, (eğer etkinleştirilmişse) proxies.txt
dosyasındaki proxy listesini kullanır. Kendi proxylerinizi kullanmak isterseniz:
trendyol
klasörünün ana dizinindeproxies.txt
adında bir dosya oluşturun (eğer yoksa).- Her satıra bir proxy
IP:PORT
formatında ekleyin (örn:123.456.789.012:8080
). - Yorum satırlarını
#
ile başlatabilirsiniz. .env
dosyasındaPROXY_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:
.env
dosyasındaPROXY_ENABLED=False
ayarlayarak proxy'leri devre dışı bırakabilirsin, veyaproxies.txt
dosyasına daha güvenilir ve çalışan proxy'ler ekleyebilirsin.
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.