{"id":28181002,"url":"https://github.com/meteopavel/homeworkstatusbot","last_synced_at":"2025-05-16T03:11:56.989Z","repository":{"id":287133170,"uuid":"675571597","full_name":"meteopavel/HomeworkStatusBot","owner":"meteopavel","description":"🤖 Telegram-бот для Яндекс.Практикум — автоматические уведомления о статусе проверки домашних работ. 🔄 Запросы к API, отправка сообщений в Telegram. 💻","archived":false,"fork":false,"pushed_at":"2025-04-10T05:07:13.000Z","size":26,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-10T06:26:55.114Z","etag":null,"topics":["logging","python-telegram-bot","requests"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/meteopavel.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-08-07T08:25:01.000Z","updated_at":"2025-04-10T05:07:16.000Z","dependencies_parsed_at":"2025-04-10T06:27:03.001Z","dependency_job_id":"51bbdea2-609c-41f4-bf05-2c4b96c21996","html_url":"https://github.com/meteopavel/HomeworkStatusBot","commit_stats":null,"previous_names":["meteopavel/homeworkstatusbot"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meteopavel%2FHomeworkStatusBot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meteopavel%2FHomeworkStatusBot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meteopavel%2FHomeworkStatusBot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meteopavel%2FHomeworkStatusBot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/meteopavel","download_url":"https://codeload.github.com/meteopavel/HomeworkStatusBot/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254459088,"owners_count":22074606,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["logging","python-telegram-bot","requests"],"created_at":"2025-05-16T03:11:56.803Z","updated_at":"2025-05-16T03:11:56.983Z","avatar_url":"https://github.com/meteopavel.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🤖 HomeworkStatusBot - Telegram-бот для отслеживания статуса домашних работ\n\n## Описание проекта\n\nTelegram-бот автоматически отправляет уведомления о статусе проверки домашних заданий с платформы [Яндекс.Практикум](https://practicum.yandex.ru). Программа периодически запрашивает данные через API и отправляет сообщения в Telegram при изменении статуса работы.\n\n## Возможности\n\n- 🔄 **Автоматический опрос API**: Бот каждые 10 минут проверяет статус домашних работ.  \n- ✉️ **Уведомления в Telegram**: Отправляет сообщения о статусе проверки (одобрено, взято на проверку, отклонено).  \n- 📝 **Логирование**: Все события записываются в логи для удобства отладки.  \n\n## Технологии\n\n- **Python**: Основной язык программирования.  \n- **Telegram Bot API**: Для отправки сообщений в Telegram.  \n- **Requests**: Для взаимодействия с API Яндекс.Практикум.  \n- **Logging**: Для записи логов.  \n\n## Как использовать\n\n1. **Создайте `.env` файл**:\n   ```env\n   PRACTICUM_TOKEN=ваш_токен_практикума\n   TELEGRAM_TOKEN=ваш_токен_телеграм_бота\n   TELEGRAM_CHAT_ID=ваш_id_чата\n   ```\n\n2. **Установите зависимости**:\n```bash\npip install -r requirements.txt\n```\n3. **Запустите бота**:\n```bash\npython main.py\n```\n4. **Пример уведомления**:\n```\nИзменился статус проверки работы \"Проект: Бот для проверки домашних заданий\". Работа проверена: ревьюеру всё понравилось. Ура!\n```\n\n## Структура проекта\n\n- `main()`: Основная логика работы бота.\n- `get_api_answer()`: Получает данные от API Яндекс.Практикум.\n- `check_response()`: Проверяет корректность ответа от API.\n- `parse_status()`: Парсит статус работы и формирует сообщение.\n- `send_message()`: Отправляет сообщение в Telegram.\n- `check_tokens()`: Проверяет наличие необходимых токенов.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmeteopavel%2Fhomeworkstatusbot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmeteopavel%2Fhomeworkstatusbot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmeteopavel%2Fhomeworkstatusbot/lists"}