Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/byigitt/visa-checker
Schengen vizesi randevularını otomatik takip eden ve Telegram üzerinden bildirim gönderen bot
https://github.com/byigitt/visa-checker
bildirim bot randevu schengen takip telegram vize
Last synced: about 8 hours ago
JSON representation
Schengen vizesi randevularını otomatik takip eden ve Telegram üzerinden bildirim gönderen bot
- Host: GitHub
- URL: https://github.com/byigitt/visa-checker
- Owner: byigitt
- License: mit
- Created: 2024-11-27T16:00:40.000Z (25 days ago)
- Default Branch: main
- Last Pushed: 2024-11-30T06:01:26.000Z (23 days ago)
- Last Synced: 2024-12-16T02:39:34.925Z (7 days ago)
- Topics: bildirim, bot, randevu, schengen, takip, telegram, vize
- Language: TypeScript
- Homepage:
- Size: 96.7 KB
- Stars: 69
- Watchers: 3
- Forks: 7
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: license
Awesome Lists containing this project
README
# 🔍 Schengen Vize Randevu Takip Botu
Bu bot, Schengen vizesi için randevu durumlarını otomatik olarak takip eder ve yeni randevular açıldığında Telegram üzerinden bildirim gönderir.
## 📋 Özellikler
- 🔄 Otomatik randevu kontrolü
- 🌍 Çoklu şehir ve ülke desteği
- 🇪🇺 Farklı Schengen ülkeleri için randevu takibi
- 📱 Telegram üzerinden anlık bildirimler
- ⏰ Özelleştirilebilir kontrol sıklığı
- 🚫 Rate limit koruması
- 🔍 Detaylı hata ayıklama modu## 🛠 Sistem Gereksinimleri
### Yazılım Gereksinimleri
- Node.js (v16 veya üzeri)
- Paket yöneticisi (npm, yarn veya pnpm)
- Telegram Bot Token'ı
- Telegram Kanal/Grup ID'si### Donanım/Hosting Gereksinimleri
Bot'un sürekli çalışabilmesi için aşağıdaki seçeneklerden birine ihtiyacınız var:1. **VPS (Virtual Private Server) - Önerilen 🌟**
- 7/24 kesintisiz çalışma
- Düşük maliyetli (aylık 50-100 lira)
- Önerilen sağlayıcılar (dolar bazlı): DigitalOcean, Linode, Vultr, OVH
- Önerilen sağlayıcılar (türk lirası bazlı): DeHost, Natro, Turhost2. **Kişisel Bilgisayar**
- 7/24 açık kalması gerekir
- Elektrik kesintilerinden etkilenir
- İnternet bağlantısı sürekli olmalı
- Bilgisayarın uyku moduna geçmesi engellenmelidir3. **Raspberry Pi**
- Düşük güç tüketimi
- 7/24 çalıştırılabilir
- Ekonomik çözüm
- Kurulum biraz teknik bilgi gerektirir> ⚠️ **Önemli Not**: Bot'un randevuları kaçırmaması için sürekli çalışır durumda olması gerekir. VPS kullanımı, kesintisiz çalışma ve düşük maliyet açısından en ideal çözümdür.
## 🛠️ Kurulum
### Gereksinimler
- Node.js (v16 veya üzeri)
- Paket yöneticisi (npm, yarn veya pnpm)
- Telegram Bot Token'ı
- Telegram Kanal/Grup ID'si### 1. Telegram Bot Oluşturma
1. Telegram'da [@BotFather](https://t.me/botfather) ile konuşma başlatın
2. `/newbot` komutunu gönderin
3. Bot için bir isim belirleyin
4. Bot için bir kullanıcı adı belirleyin (sonu 'bot' ile bitmeli)
5. BotFather size bir token verecek, bu token'ı kaydedin### 2. Telegram Kanal ID'si Alma
1. Bir Telegram kanalı oluşturun
2. Botu kanala ekleyin ve admin yapın
3. Kanala bir mesaj gönderin
4. Bu URL'yi ziyaret edin: `https://api.telegram.org/bot/getUpdates`
- `` yerine botunuzun token'ını yazın
5. JSON çıktısında `"chat":{"id":-100xxxxxxxxxx}` şeklinde bir değer göreceksiniz
6. Bu ID'yi kaydedin (örn: -100xxxxxxxxxx)### 3. Projeyi Kurma
1. Projeyi bilgisayarınıza indirin:
```bash
git clone https://github.com/byigitt/visa-checker.git
cd visa-checker
```2. Gerekli paketleri yükleyin:
```bash
# npm kullanıyorsanız
npm install# yarn kullanıyorsanız
yarn install# pnpm kullanıyorsanız
pnpm install
```3. `.env.example` dosyasını `.env` olarak kopyalayın:
```bash
cp .env.example .env
```4. `.env` dosyasını düzenleyin:
```env
# Telegram Yapılandırması
TELEGRAM_BOT_TOKEN=your_bot_token_here # Telegram bot token'ınız
TELEGRAM_CHAT_ID=your_chat_id_here # Telegram kanal ID'niz (örn: -100123456789)
TELEGRAM_RATE_LIMIT=20 # Telegram API için dakikada maksimum mesaj sayısı
TELEGRAM_RETRY_AFTER=5000 # Rate limit aşımında beklenecek süre (milisaniye)
TELEGRAM_RATE_LIMIT_MINUTES=15 # Bildirimler arası minimum süre (dakika)# Uygulama Yapılandırması
CHECK_INTERVAL=*/5 * * * * # Kontrol sıklığı (varsayılan: her 5 dakikada bir)
TARGET_COUNTRY=Turkiye # Kaynak ülke (değiştirmeyin)# Randevu Filtreleme
CITIES=Ankara,Istanbul # Takip edilecek şehirler (virgülle ayırın)
MISSION_COUNTRY=Netherlands,France # Randevusu takip edilecek ülkeler (virgülle ayırın)# API Yapılandırması
VISA_API_URL=https://api.schengenvisaappointments.com/api/visa-list/?format=json# Önbellek Yapılandırması
MAX_CACHE_SIZE=1000 # Maksimum önbellek boyutu
CACHE_CLEANUP_INTERVAL=86400000 # Önbellek temizleme sıklığı (ms)
MAX_RETRIES=3 # API hatası durumunda maksimum deneme sayısı
RETRY_DELAY_BASE=1000 # API hatası durumunda bekleme süresi (ms)# Hata Ayıklama
DEBUG=false # Hata ayıklama modu (true/false)
```5. TypeScript kodunu derleyin:
```bash
# npm kullanıyorsanız
npm run build# yarn kullanıyorsanız
yarn build# pnpm kullanıyorsanız
pnpm build
```### 4. Botu Çalıştırma
1. Geliştirme modunda çalıştırma:
```bash
# npm kullanıyorsanız
npm run dev# yarn kullanıyorsanız
yarn dev# pnpm kullanıyorsanız
pnpm dev
```2. Production modunda çalıştırma:
```bash
# npm kullanıyorsanız
npm start# yarn kullanıyorsanız
yarn start# pnpm kullanıyorsanız
pnpm start
```## ⚙️ Yapılandırma Seçenekleri
### Telegram Ayarları
- `TELEGRAM_BOT_TOKEN`: Telegram bot token'ınız
- `TELEGRAM_CHAT_ID`: Telegram kanal ID'niz
- `TELEGRAM_RATE_LIMIT`: Dakikada gönderilebilecek maksimum mesaj sayısı
- `TELEGRAM_RETRY_AFTER`: Rate limit aşıldığında beklenecek süre (ms)
- `TELEGRAM_RATE_LIMIT_MINUTES`: Bildirimler arası minimum süre### Randevu Takip Ayarları
- `CHECK_INTERVAL`: Randevu kontrolü sıklığı (cron formatında)
- `CITIES`: Takip edilecek şehirler (virgülle ayrılmış liste)
- `MISSION_COUNTRY`: Randevusu takip edilecek ülkeler (virgülle ayrılmış liste)### Sistem Ayarları
- `MAX_CACHE_SIZE`: Önbellekteki maksimum randevu sayısı
- `CACHE_CLEANUP_INTERVAL`: Önbellek temizleme sıklığı (ms)
- `MAX_RETRIES`: API hatalarında tekrar deneme sayısı
- `RETRY_DELAY_BASE`: API hataları arasında bekleme süresi
- `DEBUG`: Detaylı log kayıtları için hata ayıklama modu## 📱 Bildirim Örneği
Bot, yeni bir randevu bulduğunda şu formatta bir mesaj gönderir:
```
🎯 YENİ VİZE RANDEVUSU BULUNDU!🏛️ Konsolosluk: France Visa Application Centre - Ankara
📆 Randevu Tarihi: 05.12.2024
🛂 Vize Kategorisi: Short Term / Kisa Donem / Court Sejour
└ 📋 Alt Kategori: Professional
👥 Bekleyen Kişi Sayısı: 1🔗 Randevu Almak İçin:
[Randevu Sistemine Git](https://visa.vfsglobal.com/tur/en/fra/login)⏰ Son Güncelleme: 30 Kas 2024 08:55:31
```## 🤔 Sık Sorulan Sorular
1. **Bot çalışıyor mu?**
- Konsolda "Vize randevu kontrolü başlatıldı" mesajını görmelisiniz
- Debug modunu aktif ederek daha detaylı loglar görebilirsiniz2. **Telegram bildirimleri gelmiyor**
- Bot token'ınızı kontrol edin
- Kanal ID'sini kontrol edin
- Botun kanalda admin olduğundan emin olun3. **Belirli bir şehir/ülke için randevuları nasıl takip ederim?**
- `.env` dosyasında `CITIES` ve `MISSION_COUNTRY` değerlerini düzenleyin4. **Rate limit hatası alıyorum**
- `TELEGRAM_RATE_LIMIT_MINUTES` değerini artırın
- Kontrol sıklığını azaltın## 🚨 Hata Bildirimi
Bir hata bulduysanız veya öneriniz varsa, lütfen GitHub üzerinden issue açın.
## 📄 Lisans
Bu proje MIT lisansı altında lisanslanmıştır. Daha fazla bilgi için [LICENSE](LICENSE) dosyasına bakın.