{"id":23169323,"url":"https://github.com/lubaskinc0de/tactic","last_synced_at":"2025-08-18T07:30:57.006Z","repository":{"id":191835768,"uuid":"685273739","full_name":"lubaskinc0de/tactic","owner":"lubaskinc0de","description":"Легковесный шаблон telegram-бота на Python с чистой архитектурой.","archived":false,"fork":false,"pushed_at":"2023-12-24T11:17:58.000Z","size":687,"stargazers_count":36,"open_issues_count":0,"forks_count":1,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-05T23:12:25.336Z","etag":null,"topics":["aiogram","aiogram-dialog","alembic","docker","docker-compose","postgresql","python","telegram"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lubaskinc0de.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-08-30T21:56:29.000Z","updated_at":"2025-03-25T07:14:21.000Z","dependencies_parsed_at":"2023-09-01T03:16:41.805Z","dependency_job_id":"e1de24bb-7a74-4707-8fe2-fdc088435b1a","html_url":"https://github.com/lubaskinc0de/tactic","commit_stats":null,"previous_names":["lubaskinc0de/clean-bot"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/lubaskinc0de/tactic","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lubaskinc0de%2Ftactic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lubaskinc0de%2Ftactic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lubaskinc0de%2Ftactic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lubaskinc0de%2Ftactic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lubaskinc0de","download_url":"https://codeload.github.com/lubaskinc0de/tactic/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lubaskinc0de%2Ftactic/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270961448,"owners_count":24675914,"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-08-18T02:00:08.743Z","response_time":89,"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":["aiogram","aiogram-dialog","alembic","docker","docker-compose","postgresql","python","telegram"],"created_at":"2024-12-18T03:16:36.130Z","updated_at":"2025-08-18T07:30:56.574Z","avatar_url":"https://github.com/lubaskinc0de.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"### Минимальный шаблон бота aiogram3\n\n👋 **Приветствую**! В данном репозитории хранится мой легковесный шаблон для телеграм бота на **Python** с использованием:\n\n- aiogram 3\n- aiogram-dialog 2\n- docker\n- postgresql\n- redis\n- alembic\n\nИз **плюсов** данного шаблона, я могу выделить:\n\n- Чистая архитектура, код легко расширять, изменять и поддерживать.\n- Готовая система миграций **alembic**.\n- Современный движок для базы данных **postgresql**.\n- **RedisStorage**, бот будет помнить историю сообщений даже после перезапуска.\n- **aiogram-dialog** для удобного описания **пользовательского интерфейса**.\n\n### Установка\n\nУстановка довольно **проста**, вам понадобится склонировать данный **репозиторий** и установить **docker + docker-compose** на свой ПК.\n\nДалее, создайте файл **.env** в корне проекта, и внесите туда следующее содержимое:\n\n```env\nAPI_TOKEN=\u003cтокен бота тут\u003e\n\nPOSTGRES_USER=cleanbot_user\n\nPOSTGRES_PASSWORD=\u003cваш пароль тут\u003e\n\nPOSTGRES_DB=cleanbot_db\n\nDB_HOST=db\n\nDB_PORT=5432\n\nDB_NAME=cleanbot_db\n\nDB_USER=cleanbot_user\n\nDB_PASS=\u003cваш пароль тут\u003e\n```\n\nДалее, соберите образ:\n\n```shell\ndocker-compose up --build\n```\n\nВыполните в контейнере **bot** команду\n\n```shell\nalembic revision --autogenerate -m \"init\"\n```\n\nДля создания начальной миграции, для применения миграций выполняете команду:\n\n```shell\nalembic upgrade head\n```\n\nВыключить бота:\n\n```shell\ndocker-compose down -v\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flubaskinc0de%2Ftactic","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flubaskinc0de%2Ftactic","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flubaskinc0de%2Ftactic/lists"}