{"id":50112531,"url":"https://github.com/core-euler/nax_bot","last_synced_at":"2026-05-23T13:05:51.122Z","repository":{"id":339996092,"uuid":"1164087194","full_name":"core-euler/nax_bot","owner":"core-euler","description":null,"archived":false,"fork":false,"pushed_at":"2026-05-23T09:58:36.000Z","size":42,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-23T11:36:46.972Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/core-euler.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-22T16:12:02.000Z","updated_at":"2026-05-23T09:58:39.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/core-euler/nax_bot","commit_stats":null,"previous_names":["okoloboga/nax_bot","core-euler/nax_bot"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/core-euler/nax_bot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/core-euler%2Fnax_bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/core-euler%2Fnax_bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/core-euler%2Fnax_bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/core-euler%2Fnax_bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/core-euler","download_url":"https://codeload.github.com/core-euler/nax_bot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/core-euler%2Fnax_bot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33396643,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-23T04:15:53.637Z","status":"ssl_error","status_checked_at":"2026-05-23T04:15:53.242Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":[],"created_at":"2026-05-23T13:05:49.152Z","updated_at":"2026-05-23T13:05:51.113Z","avatar_url":"https://github.com/core-euler.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Porfiriy Telegram Bot\n\nA Telegram bot for private group chats built with `aiogram` and CometAPI.\n\n## Features\n- Responds to `/nax` (text after command or message reply target).\n- Manual web search with `/find \u003cquery\u003e`.\n- Chat binding from private chat (`/start` -\u003e \"Bind chat\" flow) and `/bind` inside group.\n- Daily classic digest at `18:00` (default timezone: `Europe/Moscow`).\n- Daily web digest at `12:00`: extracts hot themes from chat and adds web-based context.\n- Stores chat bindings and message logs locally.\n\n## Environment Variables (`.env`)\nRequired:\n- `BOT_TOKEN=`\n- `COMET_API_TOKEN=`\n\nOptional:\n- `TZ=Europe/Moscow`\n- `COMET_MODEL=gpt-5.1`\n- `ALLOWED_CHAT_IDS=` (comma-separated, for example `-100123,-100456`)\n- `BOT_COOLDOWN_SECONDS=20`\n- `HUMOR_MODE=hard` (`soft|hard|insane`)\n- `WEB_DIGEST_HOUR=12`\n- `WEB_DIGEST_MINUTE=0`\n\n## Run\n```bash\ndocker compose up -d --build\n```\n\n## CI/CD (GitHub Actions)\n- `CI` ([`.github/workflows/ci.yml`](/Users/core/code/nax_bot/.github/workflows/ci.yml)): runs on every push/PR, installs dependencies, and validates syntax (`python -m compileall app`).\n- `CD` ([`.github/workflows/cd.yml`](/Users/core/code/nax_bot/.github/workflows/cd.yml)): runs on push to `main`, builds and publishes Docker image to `ghcr.io/\u003cowner\u003e/\u003crepo\u003e`.\n- Optional SSH deployment: if deploy secrets are present, the workflow updates the server and runs `docker compose up -d --build`.\n\n## Deploy Secrets (Optional)\n- `DEPLOY_HOST`\n- `DEPLOY_USER`\n- `DEPLOY_SSH_KEY`\n- `DEPLOY_PATH`\n- `DEPLOY_PORT` (optional, default `22`)\n\n## Data Files\n- `data/chats.json` - bound chats metadata\n- `data/messages.jsonl` - message log\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcore-euler%2Fnax_bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcore-euler%2Fnax_bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcore-euler%2Fnax_bot/lists"}