Bu bot, Schengen vizesi için randevu kontrolü yapmanızı sağlayan bir Python uygulamasıdır. Bot, belirtilen ülke ve şehir için düzenli aralıklarla randevu kontrolü yapar ve uygun randevu bulunduğunda Telegram ve web arayüzü üzerinden bildirim gönderir.
- 17 farklı Schengen ülkesi için randevu kontrolü
- 8 farklı Türkiye şehrinden randevu arama
- Çoklu bildirim sistemi:
- 🔔 Web arayüzünde anlık bildirimler
- 🎵 Sesli bildirimler
- 🖥️ Masaüstü bildirimleri
- 📱 Telegram bildirimleri
- Bildirim geçmişi ve yönetimi
- Özelleştirilebilir bildirim ayarları
- Gerçek zamanlı durum güncellemeleri
- Kullanıcı dostu web arayüzü
- Terminal veya Telegram bot modu seçeneği
- WebSocket ile anlık iletişim
- Otomatik log kaydı ve takibi
- Python 3.8 - 3.11 arası bir sürüm (3.13 desteklenmemektedir)
- Telegram Bot Token
- Telegram Chat ID
- Modern bir web tarayıcısı (Chrome, Firefox, Safari, Edge)
-
Python'un desteklenen bir sürümünü yükleyin (3.8 - 3.11 arası):
- Windows: Python İndirme Sayfası
- macOS:
brew install [email protected]
- Linux:
sudo apt-get install python3.11
-
Repoyu klonlayın:
git clone https://github.com/ibidi/schengen-visa-bot.git
cd schengen-visa-bot
- Sanal ortam oluşturun ve aktifleştirin:
# Windows için:
python -m venv venv
venv\Scripts\activate
# macOS/Linux için:
python3 -m venv venv
source venv/bin/activate
- Gerekli paketleri yükleyin:
pip install -r requirements.txt
.env
dosyasını düzenleyin:
# Telegram Bot Ayarları
TELEGRAM_BOT_TOKEN=your_bot_token_here
TELEGRAM_CHAT_ID=your_chat_id_here
# VFS Global Giriş Bilgileri (İsteğe bağlı)
[email protected]
VFS_PASSWORD=your_vfs_password
# Flask Güvenlik Anahtarı
FLASK_SECRET_KEY=generate_a_secure_random_key_here
- Güvenli bir Flask Secret Key oluşturun:
# Python konsolunda:
python -c 'import secrets; print(secrets.token_hex(32))'
Çıktıyı kopyalayıp .env
dosyasındaki FLASK_SECRET_KEY
değeri olarak kullanın.
- Veritabanını oluşturun:
python create_db.py
Bu komut:
- Yeni bir SQLite veritabanı oluşturur
- Gerekli tabloları oluşturur
- Varsayılan admin kullanıcısını oluşturur:
- Kullanıcı adı:
admin
- Şifre:
admin123
- Kullanıcı adı:
Bot iki farklı modda çalıştırılabilir:
Bu mod, web tarayıcısı üzerinden kontrol edilebilen bir arayüz sunar.
python web_app.py
Tarayıcınızda http://localhost:5000
adresine gidin.
Bu mod, Telegram üzerinden komutlarla kontrol edilebilen bir bot başlatır.
python bot.py
Bu mod, terminal üzerinden kontrol edilebilen bir arayüz sunar.
python bot.py --terminal
Bot şu bildirim kanallarını destekler:
- Web Bildirimleri: Web arayüzünde anlık pop-up bildirimler
- Sesli Bildirimler: Randevu bulunduğunda sesli uyarı
- Masaüstü Bildirimleri: Tarayıcı üzerinden masaüstü bildirimleri
- Telegram Bildirimleri: Telegram üzerinden mesaj bildirimleri
Bildirim ayarlarını /notification_settings
sayfasından özelleştirebilirsiniz.
/start
- Yeni randevu kontrolü başlat/stop
- Aktif kontrolleri durdur/status
- Mevcut kontrol durumunu göster/help
- Komut listesini göster
- Telegram'da @BotFather ile yeni bir bot oluşturun
- Bot token'ını alın ve
.env
dosyasına kaydedin - @userinfobot'u kullanarak Chat ID'nizi alın
- Chat ID'yi
.env
dosyasına kaydedin
- Bot, randevu bulduğunda size tüm bildirim kanalları üzerinden haber verecektir
- Masaüstü bildirimleri için tarayıcı izinlerini vermeniz gerekir
- Kontrol sıklığını çok düşük tutmamaya özen gösterin
- Program çalışırken Ctrl+C ile durdurabilirsiniz
- Fransa
- Hollanda
- İrlanda
- Malta
- İsveç
- Çekya
- Hırvatistan
- Bulgaristan
- Finlandiya
- Slovenya
- Danimarka
- Norveç
- Estonya
- Litvanya
- Lüksemburg
- Ukrayna
- Letonya
- İngiltere
- Kanada
- Avustralya
- Yeni Zelanda
- Güney Afrika
- İtalya
- Almanya
Bu proje MIT lisansı altında lisanslanmıştır.
Veritabanını tamamen sıfırlamak için:
# Önce uygulamayı durdurun
rm instance/visa_bot.db # veya del instance/visa_bot.db (Windows)
python create_db.py
# SQLite veritabanını yedekleme
cp instance/visa_bot.db instance/visa_bot.db.backup
- SQLite veritabanı dosyası:
instance/visa_bot.db
- Tüm veriler (bildirimler, loglar, kullanıcı ayarları) bu dosyada saklanır
user
: Kullanıcı bilgileri ve ayarlarınotification
: Bildirim geçmişiappointment_log
: Randevu kontrol logları
Şifrenizi unuttuysanız:
- Veritabanını silin:
rm instance/visa_bot.db
- Yeniden oluşturun:
python create_db.py
- Varsayılan bilgilerle giriş yapın:
- Kullanıcı adı:
admin
- Şifre:
admin123
- Kullanıcı adı: