Skip to content

MrRighter/School_Project_Bot

Repository files navigation

Генератор задач 📚

License: GPL v3

Школьный проект, в основном разрабатываемый в 2023-2024 годах. С ним было занято призовое место заключительного этапа городской открытой научно-практической конференции "Инженеры будущего" 2025.

Введение

При создании учителем проверочных (самостоятельных, контрольных) работ, ему приходится составлять несколько вариантов. При этом тратится время на подбор и решение заданий. Также не исключено, что ученик сможет найти готовое решение и списать работу. Помочь учителю может программный продукт, который будет генерировать по выбранной им теме задачи и формировать ответы для них, что оптимизирует работу учителя при подготовке к урокам и повысит качество образования. Также программа исключает возможность списывания тем, что создает задачи с уникальными переменными. Был проведен опрос учителей, который показал, что такой продукт пользовался бы большой популярностью.

Описание проекта

Реализована архитектура проекта из модулей: генератор задач, обработчик запроса, пользовательский интерфейс и Telegram-бот. Генератор включает в себя набор функций, которые генерируют текст задачи по выбранной пользователем тематике. Обработчик запросов является посредником между генератором и пользовательскими запросами. Для разработки выбран язык программирования Python. Создан Telegram бот, интерфейс которого связан с разработанной архитектурой. Создано приложение для генерации задач. Это приложение предназначено для пользователей, работающих без интернета.

Использование

Установите необходимые библиотеки

pip install -r requirements.txt

Затем необходимо создать .env файл и записать свой токен для бота в переменную: API_BOT=YOUR_BOT_TOKEN.

Для запуска бота и/или приложения созданы файлы Bot.py и Desktop_App.py соответственно.

У бота существует всего две команды: /start и /let_us_go_study.

Команда проекта

FIXIT 💻

В проекте явно есть много непонятных моментов и присутствуют дупликации кода. Буду признателен, если предложите своё более лаконичное решение в явных и неявных местах.

P.S.: Но зато всё работает без ошибок, что уже радует)
P.P.S.: Во всяком случае новых ошибок я не нашёл...