{"id":27613781,"url":"https://github.com/zulusssss/homework_bot","last_synced_at":"2025-07-25T19:35:04.810Z","repository":{"id":163008847,"uuid":"585667675","full_name":"Zulusssss/homework_bot","owner":"Zulusssss","description":"api sp1 bot","archived":false,"fork":false,"pushed_at":"2023-12-20T17:53:00.000Z","size":34,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-23T02:21:54.384Z","etag":null,"topics":["pytest","python-telegram-bot","python3"],"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/Zulusssss.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,"zenodo":null}},"created_at":"2023-01-05T19:03:20.000Z","updated_at":"2023-12-28T14:49:40.000Z","dependencies_parsed_at":"2023-12-20T18:55:24.696Z","dependency_job_id":null,"html_url":"https://github.com/Zulusssss/homework_bot","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Zulusssss/homework_bot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zulusssss%2Fhomework_bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zulusssss%2Fhomework_bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zulusssss%2Fhomework_bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zulusssss%2Fhomework_bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Zulusssss","download_url":"https://codeload.github.com/Zulusssss/homework_bot/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zulusssss%2Fhomework_bot/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267053113,"owners_count":24028041,"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","status":"online","status_checked_at":"2025-07-25T02:00:09.625Z","response_time":70,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["pytest","python-telegram-bot","python3"],"created_at":"2025-04-23T02:19:39.294Z","updated_at":"2025-07-25T19:35:04.763Z","avatar_url":"https://github.com/Zulusssss.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Bot Assistant\n\n[![Python](https://img.shields.io/badge/-Python-464641?style=flat-square\u0026logo=Python)](https://www.python.org/)\n[![pytest](https://img.shields.io/badge/-pytest-464646?style=flat-square\u0026logo=pytest)](https://docs.pytest.org/en/6.2.x/)\n\n## Bot Features:\n- Once every 10 minutes, it polls the API of the Practicum service and checks the status of the homework submitted for review.\n- When updating the status, the API analyzes the response and sends you a corresponding notification in Telegram.\n- Logs his work and informs you about important problems with a message in Telegram.\n\n## Description\n\nThe telegram bot accesses the \"Practicum\" API service.Homework and finds out the status of homework: whether the homework was taken in the review, whether it was checked, and if it was checked, then the reviewer accepted it or returned it for revision.\n\nAn example of an assistant bot's response:\n\n```python\n{\n   \"homeworks\":[\n      {\n         \"id\":123,\n         \"status\":\"approved\",\n         \"homework_name\":\"user__homework_bot-master.zip\",\n         \"reviewer_comment\":\"all right\",\n         \"date_updated\":\"2021-12-14T14:40:57Z\",\n         \"lesson_name\":\"name\"\n      }\n   ],\n   \"current_date\":1581804979\n}\n```\n\n## Installation\n\n1. Clone a repository:\n\n    ```python\n    git clone git@github.com:Zulusssss/homework_bot.git\n    ```\n\n2. Go to the project folder:\n\n    ```python\n    cd homework_bot/\n    ```\n\n3. Install a virtual environment for the project:\n\n    ```python\n    python -m venv venv\n    ```\n\n4. Activate the virtual environment for the project:\n\n    ```python\n    # for OS Linux and macOS\n    source venv/bin/activate\n\n    # for Windows OS\n    source venv/Scripts/activate\n    ```\n\n5. Install dependencies:\n\n    ```python\n    python3 -m pip install --upgrade pip\n    pip install -r requirements.txt\n    ```\n\n6. Perform migrations at the project level:\n\n    ```python\n    cd yatube\n    python3 manage.py makemigrations\n    python3 manage.py migrate\n    ```\n\n7. Register a chatbot in Telegram\n\n8. Create a file in the root directory .env for storing environment variables\n\n    ```python\n    PRAKTIKUM_TOKEN = 'xxx'\n    TELEGRAM_TOKEN = 'xxx'\n    TELEGRAM_CHAT_ID = 'xxx'\n    ```\n\n9. Run the project locally:\n\n    ```python\n    # for OS Linux and macOS\n    python homework_bot.py\n\n    # for Windows OS\n    python3 homework_bot.py\n    ```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzulusssss%2Fhomework_bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzulusssss%2Fhomework_bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzulusssss%2Fhomework_bot/lists"}