PolishDom Bot is a multifunctional Telegram bot designed to help users learn the Polish language and prepare for obtaining the Karta Polaka (Polish Card). The bot utilizes AI technology to provide an immersive and interactive learning experience.
-
AI-Powered Virtual Consul for Karta Polaka Preparation:
- Simulates a real interview experience with an AI-driven virtual Polish consul
- Generates dynamic, context-aware questions based on typical Karta Polaka interview topics
- Provides instant, detailed feedback on user responses, helping to improve answer quality
- Offers personalized advice and tips for better interview performance
-
Polish Language Level Test:
- 36-question test to determine Polish language proficiency from A1 to B2 level
-
Interactive Polish Language Quiz:
- Engaging quiz with questions in Polish to reinforce language skills
- Tracks user scores and progress over time
-
Polish Culture and Language Content:
- Sends interesting facts about Poland to a linked channel
- Regularly delivers useful Polish phrases with translations
-
Polish Movie Recommendations:
- Curates and sends lists of Polish movies to enhance cultural understanding
-
Progress Tracking:
- Saves user results and progress in a MongoDB database for personalized learning paths
- Python 3.12+
- MongoDB
- Telegram Bot Token
- OpenAI API key (for AI-powered virtual consul)
- TMDB API key (for movie recommendations)
-
Clone the repository:
git clone https://github.com/yourusername/polishdom_bot.git cd polishdom_bot
-
Install dependencies:
pip install -r requirements.txt
-
Create a
.env
file in the project root directory and add the following environment variables:BOT_TOKEN=your_telegram_bot_token MONGO_URI=your_mongodb_connection_string MONGO_DB_NAME=your_database_name MONGO_COLLECTION_NAME=your_collection_name OPENAI_API_KEY=your_openai_api_key TMDB_API_KEY=your_tmdb_api_key CHANNEL_ID=your_telegram_channel_id WEBHOOK_URL=your_webhook_url
Replace
your_*
with the appropriate values.
To start the bot, run the following command:
python bot.py
bot.py
: Main bot fileconfig.py
: Configuration filehandlers/
: Directory with command handlersservices/
: Directory with services (DB, API, AI integration, etc.)words/
: Directory with JSON files for facts, phrases, and quiz questions
To add new features or modify existing ones, follow the project structure and use the appropriate modules. The AI-powered virtual consul functionality is primarily handled in the services/interview_service.py
file.
We welcome contributions to improve the PolishDom Bot! If you'd like to contribute, please create a pull request with a description of your changes.