{"id":37975583,"url":"https://github.com/hu553in/telekilogram","last_synced_at":"2026-01-16T18:29:55.175Z","repository":{"id":304573214,"uuid":"1019109591","full_name":"hu553in/telekilogram","owner":"hu553in","description":"Feed assistant Telegram bot written in Go","archived":false,"fork":false,"pushed_at":"2026-01-10T21:41:41.000Z","size":184,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-11T04:26:01.794Z","etag":null,"topics":["atom","digest","feed","golang","json","openai","rss","summarization","telegram","telegram-bot","telegram-channel"],"latest_commit_sha":null,"homepage":"https://t.me/hu553in_telekilogram_bot","language":"Go","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/hu553in.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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":"AGENTS.md","dco":null,"cla":null}},"created_at":"2025-07-13T18:54:47.000Z","updated_at":"2026-01-10T21:41:44.000Z","dependencies_parsed_at":"2025-12-15T06:05:46.556Z","dependency_job_id":null,"html_url":"https://github.com/hu553in/telekilogram","commit_stats":null,"previous_names":["hu553in/telekilogram"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hu553in/telekilogram","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hu553in%2Ftelekilogram","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hu553in%2Ftelekilogram/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hu553in%2Ftelekilogram/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hu553in%2Ftelekilogram/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hu553in","download_url":"https://codeload.github.com/hu553in/telekilogram/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hu553in%2Ftelekilogram/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28480834,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T11:59:17.896Z","status":"ssl_error","status_checked_at":"2026-01-16T11:55:55.838Z","response_time":107,"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":["atom","digest","feed","golang","json","openai","rss","summarization","telegram","telegram-bot","telegram-channel"],"created_at":"2026-01-16T18:29:55.075Z","updated_at":"2026-01-16T18:29:55.158Z","avatar_url":"https://github.com/hu553in.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Telekilogram\n\n[![CI](https://github.com/hu553in/telekilogram/actions/workflows/ci.yml/badge.svg)](https://github.com/hu553in/telekilogram/actions/workflows/ci.yml)\n[![go-test-coverage](https://raw.githubusercontent.com/hu553in/telekilogram/badges/.badges/main/coverage.svg)](https://github.com/hu553in/telekilogram/actions/workflows/ci.yml)\n[![Go Report Card](https://goreportcard.com/badge/github.com/hu553in/telekilogram)](https://goreportcard.com/report/github.com/hu553in/telekilogram)\n[![GitHub go.mod Go version](https://img.shields.io/github/go-mod/go-version/hu553in/telekilogram)](https://github.com/hu553in/telekilogram/blob/main/go.mod)\n\n- [License](./LICENSE)\n- [How to contribute](./CONTRIBUTING.md)\n- [Code of conduct](./CODE_OF_CONDUCT.md)\n\nA feed assistant Telegram bot written in Go.\n\nTelekilogram aggregates content from RSS/Atom/JSON feeds and public Telegram channels, delivers daily digests,\nand optionally summarizes Telegram posts using OpenAI. It is designed to be reliable, predictable, and suitable\nfor unattended operation.\n\n---\n\n## Functionality\n\n- Follow RSS, Atom, and JSON feeds, as well as public Telegram channels:\n  - send a feed URL\n  - send a channel `@username`\n  - forward a message from a channel to the bot\n- View the current feed list with `/list`.\n- Unfollow feeds directly from the list.\n- Receive an automatic 24-hour digest every day (default: 00:00 UTC).\n- Request a 24-hour digest manually with `/digest`.\n- Summarize Telegram channel posts using OpenAI:\n  - automatically falls back to local text truncation if `OPENAI_API_KEY` is not set\n  - summaries are cached for 24 hours to avoid reprocessing the same post across users\n  - cached summaries are invalidated if a Telegram post is edited\n- Message formatting:\n  - RSS / Atom / JSON feeds: grouped digest with post titles and links\n  - Telegram channels: grouped digest with AI-generated summaries (or trimmed text) linking to the original posts\n- Configure user-specific settings via `/settings`.\n\n---\n\n## Environment variables\n\n| Name             | Required | Default     | Description                                                                                            |\n| ---------------- | -------- | ----------- | ------------------------------------------------------------------------------------------------------ |\n| `TOKEN`          | Yes      | –           | Telegram bot token.                                                                                    |\n| `DB_PATH`        | No       | `db.sqlite` | Filesystem path to the SQLite database. The file is created automatically on first run.                |\n| `ALLOWED_USERS`  | No       | –           | Comma-separated list of Telegram user IDs allowed to interact with the bot.                            |\n| `OPENAI_API_KEY` | No       | –           | Enables OpenAI-based summaries for Telegram channel posts. If unset, local truncation is used instead. |\n\n## Example configuration\n\n```\nTOKEN=\"example\"\nDB_PATH=\"db.sqlite\"\nALLOWED_USERS=\"1,2\"\nOPENAI_API_KEY=\"example\"\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhu553in%2Ftelekilogram","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhu553in%2Ftelekilogram","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhu553in%2Ftelekilogram/lists"}