This is a Telegram bot that allows you to check Schengen visa appointments. The bot regularly checks for appointments for the specified country and city, and sends a notification via Telegram when an available appointment is found.
- Appointment checking for 17 different Schengen countries
- Appointment tracking in 7 different cities in Turkey
- Easy usage via Telegram
- Button interface for country and city selection
- Customizable check frequency (1-5 minutes)
- Detailed appointment information (date, center, category)
- Automatic notification system
- Direct reservation link when an appointment is found
- Python 3.8 or higher (Python 3.11 recommended)
- pip (Python package manager)
- Clone the repository:
git clone https://github.com/petersawm/schengen-visa-bot.git
cd schengen-visa-bot- (Optional) Create and activate a virtual environment:
python3 -m venv .venv
.venv\Scripts\activate # Windows
# or
source .venv/bin/activate # Linux/macOS- Install the required Python packages:
pip install -r requirements.txt- Create a
.envfile and add your Telegram bot information:
TELEGRAM_BOT_TOKEN=your_bot_token_here
TELEGRAM_CHAT_ID=your_chat_id_here- python-telegram-bot (v20.6)
- python-dotenv (v1.0.0)
- aiohttp (v3.8.6)
- asyncio (v3.4.3)
- pytz (v2023.3)
To start the bot:
python3 schengen_bot.py/start- Bot info and command list/help- Help menu/check- Start appointment check with button interface/stop- Stop active check/status- Current status information
- Send the
/checkcommand - Select a country from the menu
- Select a city
- Select the check frequency (1-5 minutes)
/check France Istanbul
- 🇫🇷 France
- 🇳🇱 Netherlands
- 🇮🇪 Ireland
- 🇲🇹 Malta
- 🇸🇪 Sweden
- 🇨🇿 Czechia
- 🇭🇷 Croatia
- 🇧🇬 Bulgaria
- 🇫🇮 Finland
- 🇸🇮 Slovenia
- 🇩🇰 Denmark
- 🇳🇴 Norway
- 🇪🇪 Estonia
- 🇱🇹 Lithuania
- 🇱🇺 Luxembourg
- 🇺🇦 Ukraine
- 🇱🇻 Latvia
- 🇹🇷 Ankara
- 🇹🇷 Istanbul
- 🇹🇷 Izmir
- 🇹🇷 Antalya
- 🇹🇷 Gaziantep
- 🇹🇷 Bursa
- 🇹🇷 Edirne
This bot is developed with Python 3 and uses the following main libraries:
- python-telegram-bot
- aiohttp
- python-dotenv
This project is licensed under the MIT license. For more information, see the LICENSE file.
All contributions are welcome! Please open an issue to discuss your changes before submitting a pull request.