# Telegram Oyun Bot

Bu proje, Telegram üzerinden kullanıcılara oyunlar sunan bir bot içerir. Kullanıcılar Telegram üzerinden bota bağlanır ve oyunları web tarayıcısında oynayabilirler.

## Sistem Gereksinimleri

- Python 3.6+
- Flask
- python-telegram-bot (v20+)
- XAMPP veya benzeri bir web sunucusu

## Telegram Bot Token Alma

1. Telegram'da [@BotFather](https://t.me/BotFather) ile konuşmaya başlayın
2. `/newbot` komutunu gönderin
3. Bot için bir isim verin (örn. "Oyun Merkezi Bot")
4. Bot için bir kullanıcı adı verin (sonunda "bot" ile bitmeli, örn. "oyunlar_bot")
5. BotFather size bir token verecektir - bu token'ı `bot.py` dosyasındaki `TOKEN` değişkenine kopyalayın

## Kurulum

1. Gerekli paketleri yükleyin:
   ```
   pip install -r requirements.txt
   ```

2. Sunucu domain adresini kendi adresinizle değiştirin:
   ```python
   DOMAIN = "http://papiplay.net"  # Kendi domain adresinizi yazın
   ```

## Apache Yapılandırması

Apache sunucusunda API yönlendirmelerini yapmak için aşağıdaki yapılandırmayı kullanın:

```
<VirtualHost *:80>
    ServerName papiplay.net
    ServerAlias www.papiplay.net
    
    DocumentRoot /var/www/html

    ProxyPreserveHost On
    ProxyPass /bot/api http://localhost:5000/bot/api
    ProxyPassReverse /bot/api http://localhost:5000/bot/api
    
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
```

Ardından mod_proxy ve mod_proxy_http modüllerini etkinleştirin:

```
sudo a2enmod proxy
sudo a2enmod proxy_http
```

## Çalıştırma

Bot ve API'yi çalıştırmak için:

```
chmod +x run.sh
./run.sh
```

Veya API ve botu ayrı ayrı başlatmak için:

```
# API'yi başlat
python3 api.py > api.log 2>&1 &

# Botu başlat
python3 bot.py > bot.log 2>&1 &
```

## PM2 ile Sürekli Çalıştırma

PM2 kullanarak uygulamayı arka planda sürekli çalışır durumda tutabilirsiniz:

```
# PM2 kurulumu
npm install -g pm2

# Uygulamayı başlat
pm2 start api.py --name papiplay-api --interpreter python3
pm2 start bot.py --name papiplay-bot --interpreter python3

# Otomatik başlatmayı etkinleştir
pm2 startup
pm2 save
```

## Nasıl Çalışır?

1. Kullanıcı Telegram botunda `/papiplay` komutunu kullanır
2. Bot, benzersiz bir token oluşturur ve API'ye kaydeder
3. Kullanıcıya, token içeren bir oyun merkezi linki verilir
4. Kullanıcı linke tıkladığında, web tarayıcısında oyun merkezi açılır
5. Web sitesi, token'ı API'ye göndererek doğrular
6. Doğrulama başarılıysa, kullanıcı oyunları oynayabilir

## Güvenlik Notları

- Gerçek dünya uygulamalarında TOKEN değerini doğrudan kod içine yazmak yerine, çevre değişkenleri kullanın
- HTTPS kullanarak iletişimi şifreleyin
- Kullanıcı doğrulama mekanizmasını güçlendirmek için ek güvenlik önlemleri ekleyin 