You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+30-31Lines changed: 30 additions & 31 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,16 +1,21 @@
1
1
# EduPlannerBotAI
2
2
3
-
**EduPlannerBotAI** is a Telegram bot built with `aiogram 3.x` and powered by OpenAI GPT. It generates personalized study plans, exports them to PDF/TXT, and sends reminders as Telegram messages. All data is stored using TinyDB.
3
+
**EduPlannerBotAI** is a Telegram bot built with `aiogram 3.x` and powered by OpenAI GPT. It generates personalized study plans, exports them to PDF/TXT, and sends reminders as Telegram messages. All data is stored using TinyDB (no other DBs supported).
4
4
5
-
> **Note:** All code comments and docstrings are now in English for better international collaboration and code clarity.
5
+
> **Note:** All code comments and docstrings are in English for international collaboration and code clarity. All user-facing messages and buttons are automatically translated to the user's selected language.
6
6
7
7
## 📌 Features
8
8
9
-
- 📚 Generate personalized study plans (LLM/OpenAI, fallback to Groq)
9
+
- 📚 Generate personalized study plans (LLM/OpenAI, automatic fallback to Groq if OpenAI unavailable)
10
10
- 📝 Export study plans to PDF/TXT
11
11
- ⏰ Send reminders as Telegram messages for each study step
12
-
- 🗄️ Store data using TinyDB
13
-
- 📊 Python 3.10–3.13 support
12
+
- 🗄️ Store data using TinyDB (no SQL/other DBs)
13
+
- 🌐 Multilingual: English, Russian, Spanish — all messages, buttons, and files are translated in real time using LLMs (OpenAI or Groq)
14
+
- 🏷️ All keyboards are always shown with a short message, ensuring buttons are reliably displayed
15
+
- ❌ No empty or invisible messages — all user-facing text is always non-empty (prevents Telegram errors)
16
+
- 🔄 Language selection buttons are not translated, so the language filter works correctly
17
+
- 🤖 If translation is not possible, the original English text is sent
18
+
- 🧩 Simple, maintainable, idiomatic codebase — ready for extension
14
19
15
20
## 🆕 Groq Fallback Integration
16
21
@@ -45,14 +50,14 @@ No other changes are needed — the bot will automatically use Groq if OpenAI is
45
50
46
51
## 🌐 Multilingual Support
47
52
48
-
You can now choose your preferred language for all bot interactions! Use the `/language` command to select from English, Russian, or Spanish. The bot will automatically translate all responses, study plans, and reminders to your chosen language using LLMs (OpenAI or Groq). If translation is not possible, the original English text will be sent.
53
+
You can choose your preferred language for all bot interactions! Use the `/language` command to select from English, Russian, or Spanish. The bot will automatically translate all responses, study plans, and reminders to your chosen language using LLMs (OpenAI or Groq fallback). If translation is not possible, the original English text will be sent.
49
54
50
55
**Supported languages:**
51
56
- English (`en`)
52
57
- Русский (`ru`)
53
58
- Español (`es`)
54
59
55
-
Translations are performed in real time using the same LLMs that generate study plans, ensuring high-quality and context-aware results.
60
+
Translations are performed in real time using the same LLMs that generate study plans, ensuring high-quality and context-aware results. Fallback to Groq is supported for both generation and translation if OpenAI is unavailable.
- Python version compatibility: 3.10, 3.11, 3.12, 3.13
143
150
- Custom `.pylintrc` configuration
144
151
145
-
## 📝 Release 2.1.0 Highlights
152
+
## 📝 Release 3.0.0 Highlights
146
153
147
-
- Full English codebase (comments, docstrings, messages)
148
-
- PEP8 and pylint compliance (score 10/10)
149
-
- Full test coverage for all services and handlers
150
-
- Improved error handling and async file operations
151
-
- Multilingual support with LLM-based translation
152
-
- Telegram reminders for study plans
153
-
-**Groq fallback LLM integration**
154
-
-**Arli AI fully removed**
155
-
- Ready for open source and team development
156
-
157
-
## 🆕 2025 Updates
158
-
159
-
- All messages and buttons always contain non-empty text, eliminating Telegram errors (Bad Request: text must be non-empty).
154
+
- All user-facing messages and buttons always contain non-empty text, eliminating Telegram errors (Bad Request: text must be non-empty).
160
155
- Keyboards (format selection, next actions) are always accompanied by a short message to ensure buttons are displayed reliably.
161
156
- Language selection buttons are not translated, so the language filter works correctly.
162
-
- The entire bot scenario is fully localized: all messages, buttons, and files are translated to the user's selected language.
163
-
- The logic is maximally simplified, with no unnecessary conditions; all stages work reliably and predictably.
164
-
- Fallback to Groq is supported for generation and translation if OpenAI is unavailable.
165
-
- The project is ready for use and open for extension.
157
+
- The entire bot scenario is fully localized: all messages, buttons, and files are translated to the user's selected language (English, Russian, Spanish).
158
+
- Multilingual support is powered by LLM-based translation (OpenAI or Groq fallback).
159
+
- Fallback to Groq is supported for both generation and translation if OpenAI is unavailable.
160
+
- If translation is not possible, the original English text is sent.
161
+
- Codebase is fully in English (comments, docstrings, messages), PEP8 and pylint compliant (score 10/10).
162
+
- 100% test coverage for all core logic and handlers (pytest).
163
+
- Logic is maximally simplified, with no unnecessary conditions; all stages work reliably and predictably.
164
+
- Project is ready for open source use and easy extension.
166
165
167
166
## ⚠️ Handling Frequent 429 Errors
168
167
@@ -179,7 +178,7 @@ We welcome contributions! If you'd like to improve this bot:
179
178
180
179
1. Fork the repository
181
180
2. Create a feature branch (`git checkout -b feature-name`)
182
-
3. Commit your changes
181
+
3. Commit your changes (all code and comments must be in English)
0 commit comments