Телеграм-бот для заучивания иностранных слов (и почему это может помочь и тебе).
Привет! Я расскажу о телеграм-боте, который возможно поможет тебе в изучении иностранного языка, и о том, что подвигло меня на его создание.
Немного обо мне
Я не программист и никогда прежде не работал с большими массивами данных. Я архитектор, не тот, который создаёт архитектуру программного обеспечения, как можно было подумать, а самый настоящий архитектор. Конкретнее, специалист по сохранению архитектурного наследия, сейчас учусь в аспирантуре.
Как мне удалось сделать бота? Отдельная история, хотя вряд ли кого-то можно удивить этим в 2025 году. Достаточно правильно выражать мысли LLM-модели и иметь очень сильное желание. Если интересно, как шёл процесс создания у человека, далёкого от всего этого, найдёшь подробности ниже.
Что умеет бот?
Если разложить бота по полочкам, получится небольшой шкаф с 4 полками:
- Полка словарей - создание и управление
- Полка изучения слов - тренировки в разных режимах
- Полка напоминаний - автоматические уведомления
- Полка всего остального - аналитика, статистика, рейтинги
Как это работает?
Создание словарей
Всё просто: хочешь учить слова, добавляешь их в "словари". Записываешь слова в формате:
run - бегать
walk - идти
study - изучать
И так с каждой новой строчки по слову.
4 режима изучения
После создания словаря можно выбрать один или несколько для обучения. В боте реализовано 4 принципа изучения:
- Слово на иностранном языке - ты пишешь его перевод
- Слово на родном языке - ты пишешь его перевод на иностранный язык
- Множественный выбор - выбираешь значение из четырёх предложенных вариантов
- Смешанный режим - все режимы в одном
Логика простая, поэтому работа протекает без ошибок. По окончании тренировки выходит окно с подробной статистикой.
Напоминания - основа всего
С этого всё и началось. После создания словарей можно настроить напоминания:
- Выбираешь словарь
- Определяешь своё время (или бот предложит определить автоматически)
- Настраиваешь время получения напоминаний
- Выбираешь количество (не больше 10)
Если ты, как и я, страдаешь проблемой "быстрых рук" и не пропускаешь ни одного уведомления, то после вибрации телефона всегда будешь получать порцию новых слов. Ну, почти всегда 😉
Дополнительные функции
Шеринг словарей
Любой создатель словаря может им поделиться. Другие пользователи могут открыть его в боте и изучать. Но это не главное...
Аналитика для преподавателей
Удобная функция - аналитика. Доступна пользователям со статусом "Администратор языкового канала" и "преподавателям".
Как это работает:
- Преподаватель отправляет ссылку на словарь в боте
- Все, кто перешли по ссылке и добавили словарь, автоматически отправляют аналитику
- Преподаватель видит: процент успеха, сложные слова, активность учеников, общую изученность
Система ролей
В боте три роли:
- Пользователь - базовый функционал
- Премиум - больше словарей и напоминаний
- Преподаватель/Администратор канала - доступ к аналитике
Разница только в количестве словарей, слов в них и напоминаний. Все остальные функции доступны всем.
Подробная статистика
- По словарям, дням, неделям, месяцам
- Еженедельные отчёты в виде напоминаний
Реферальная система
Приглашаешь друзей → получаешь премиум Твои словари скачивают → получаешь премиум.
Чем больше активности, тем больше премиума
Рейтинг каналов
Поскольку можно отследить, какие словари созданы определёнными пользователями и сколько раз скачаны, эти данные формируют рейтинг каналов по:
- Общему времени изучения
- Точности ответов
- Количеству активных учеников
Краткая история создания
Жена начала готовиться к сдаче языкового сертификата. У меня сертификат уже есть, но решил тоже подтянуть язык. Раньше я использовал программу Aword (её больше нет), где была очень удобная система обучения с разными режимами.
Искал что-то похожее для немецкого, но не нашёл. Остановился на карточках типа Quizlet, но подумал: "А что если попросить нейросеть сделать простого бота для напоминаний?"
Первые шаги
Задал простой промпт в Grok — и вуаля, бот заработал! Это так вдохновило, что решил добавить систему обучения. Появилась база данных на SQLite, и уже можно было добавлять и изучать слова.
Проблемы роста
Одно за другим: статистика, управление словарями, напоминания, определение часовых поясов... Перешёл на Claude. Но без системности main.py разросся до 10 000 строк, и модели не хватало контекстной памяти. Что в итоге привело к тому, что кодом работать стало невозможно.
Перезапуск
"К счастью, у меня есть брат-бэкендер на Python. Он написал структурную основу и показал, как правильно взаимодействовать с LLM при разработке. После этого я продолжил сам. Но, бота пришлось переписать полностью."
Встал вопрос: "Надо ли мне всё это?" У меня работа, параллельно учёба, и то небольшое свободное время тратить на то, что возможно никогда не пригодится... Но желание довести дело до конца победило.
Спустя 3 месяца и множество тестов бот готов!
Деплой — отдельный вид мазохизма
Загрузка на PythonAnywhere была простой и понятной. А вот деплой на сервер с Ubuntu 20.8... Это отдельная история страданий 😅
Выводы
Современные инструменты позволяют создавать продукты без глубоких технических знаний. Основные факторы успеха: структурированный подход, понимание задач и готовность разбираться в процессе.
Ну, кроме загрузки на сервер. Тут без помощи не обойтись 🤷♂
Бот находится в фазе тестирования и полностью бесплатен! Все желающие могут получить премиум-статус с расширенным функционалом без каких-либо ограничений.
@REVOcabot - ссылка на бота
Всем удачи в проектах!