{"id":47422137,"url":"https://github.com/GeiserX/AskePub","last_synced_at":"2026-04-04T21:01:06.006Z","repository":{"id":291477465,"uuid":"977736263","full_name":"GeiserX/AskePub","owner":"GeiserX","description":"This project is a Telegram bot assistant to help you prepare ePubs. It uses ChatGPT-4o to write contextual notes.","archived":false,"fork":false,"pushed_at":"2026-03-27T13:19:11.000Z","size":148,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-03-27T19:55:12.624Z","etag":null,"topics":["ai","annotation","automation","book","chatgpt","docker","ebook","epub","gpt-4","hacktoberfest","llm","natural-language-processing","nlp","notes","open-source","openai","python","self-hosted","telegram","telegram-bot"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GeiserX.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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},"funding":{"github":"geiserx","patreon":"geiser","buy_me_a_coffee":"geiser","thanks_dev":"u/gh/geiserx"}},"created_at":"2025-05-04T21:21:36.000Z","updated_at":"2026-03-27T13:19:40.000Z","dependencies_parsed_at":"2025-05-04T22:33:29.421Z","dependency_job_id":"2f4b9da4-9b3c-4ab9-8a2c-8184a8a7b1ba","html_url":"https://github.com/GeiserX/AskePub","commit_stats":null,"previous_names":["geiserx/askepub"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/GeiserX/AskePub","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GeiserX%2FAskePub","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GeiserX%2FAskePub/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GeiserX%2FAskePub/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GeiserX%2FAskePub/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GeiserX","download_url":"https://codeload.github.com/GeiserX/AskePub/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GeiserX%2FAskePub/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31413946,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T20:09:54.854Z","status":"ssl_error","status_checked_at":"2026-04-04T20:09:44.350Z","response_time":60,"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":["ai","annotation","automation","book","chatgpt","docker","ebook","epub","gpt-4","hacktoberfest","llm","natural-language-processing","nlp","notes","open-source","openai","python","self-hosted","telegram","telegram-bot"],"created_at":"2026-03-21T17:00:21.750Z","updated_at":"2026-04-04T21:01:05.989Z","avatar_url":"https://github.com/GeiserX.png","language":"Python","funding_links":["https://github.com/sponsors/geiserx","https://patreon.com/geiser","https://buymeacoffee.com/geiser","https://thanks.dev/u/gh/geiserx"],"categories":["Chat bots","Bots"],"sub_categories":["Other"],"readme":"\u003cp align=\"center\"\u003e\u003cimg src=\"docs/images/banner.svg\" alt=\"AskePub Banner\" width=\"900\"\u003e\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"https://github.com/GeiserX/askepub/blob/main/extra/logo.jpg?raw=true\" alt=\"AskePub Logo\" width=\"150\"\u003e\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003eAskePub\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/GeiserX/askepub/blob/main/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/github/license/GeiserX/askepub\" alt=\"License\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\u003cstrong\u003eTelegram bot assistant to help you prepare ePubs. Uses ChatGPT-4o to write contextual notes.\u003c/strong\u003e\u003c/p\u003e\n\n---\n\n## Features\n\n- Upload any `.epub` file via Telegram\n- Select specific chapters or study the entire book\n- Customize up to 10 study questions (or use smart defaults)\n- Get three output formats:\n  - **Annotated ePub** with study notes injected into each chapter\n  - **Word document** (.docx) with all notes organized by chapter\n  - **PDF** with the same content\n- Multi-language support (English, Spanish, Italian, French, German, Portuguese, Bulgarian)\n- User access control via whitelist\n- Rate limiting to manage API costs\n- Admin notification and broadcast system\n\n## Install\n\n### Docker (recommended)\n\n```sh\ndocker run --name askepub \\\n  -e TOKEN=your-telegram-bot-token \\\n  -e OPENAI_API_KEY=your-openai-key \\\n  -e ADMIN_ID=your-telegram-user-id \\\n  -e USER_IDS=id1,id2,id3 \\\n  -v askepub-dbs:/app/dbs \\\n  -v askepub-backups:/app/userBackups \\\n  drumsergio/askepub:2.0.0\n```\n\n### Docker Compose\n\n```sh\ndocker compose up -d\n```\n\nSee [`docker-compose.yml`](docker-compose.yml) for the full configuration.\n\n### Environment Variables\n\n| Variable | Required | Description |\n|---|---|---|\n| `TOKEN` | Yes | Telegram bot token from @BotFather |\n| `OPENAI_API_KEY` | Yes | OpenAI API key |\n| `ADMIN_ID` | Yes | Telegram user ID of the bot admin |\n| `TOKEN_NOTIFY` | No | Secondary bot token for admin notifications |\n| `USER_IDS` | No | Comma-separated Telegram user IDs allowed to use the bot |\n\n## Usage\n\n1. Start a chat with your bot on Telegram\n2. Send `/start`\n3. Select your language\n4. Upload an `.epub` file\n5. Choose which chapters to study\n6. Customize your study questions (or use defaults)\n7. Wait for the AI to generate notes\n8. Download your annotated ePub, DOCX, and PDF\n\n### Commands\n\n- `/start` - Start the bot and begin a study session\n- `/change_language` - Change your interface language\n- `/cancel` - Cancel the current operation\n\n## Maintainers\n\n[@GeiserX](https://github.com/GeiserX)\n\n## Contributing\n\nFeel free to dive in! [Open an issue](https://github.com/GeiserX/askepub/issues/new) or submit PRs.\n\nAskePub follows the [Contributor Covenant](http://contributor-covenant.org/version/2/1/) Code of Conduct.\n\n## Related Projects\n\n**ePub Tools:**\n\n- [ePubLangMerger](https://github.com/GeiserX/ePubLangMerger) — Merge two ePubs into a bilingual parallel reading book\n- [epub-and-vtt-to-llm](https://github.com/GeiserX/epub-and-vtt-to-llm) — Fine-tune LLMs from ePub and subtitle data\n\n**Telegram Bots:**\n\n- [Telegram-Archive](https://github.com/GeiserX/Telegram-Archive) — Automated Telegram backup with local web viewer\n- [paperless-telegram-bot](https://github.com/GeiserX/paperless-telegram-bot) — Manage Paperless-NGX documents through Telegram\n- [telegram-delay-channel-cloner](https://github.com/GeiserX/telegram-delay-channel-cloner) — Relay messages between channels with delay\n- [jellyfin-telegram-channel-sync](https://github.com/GeiserX/jellyfin-telegram-channel-sync) — Sync Jellyfin access with Telegram membership\n- [telegram-slskd-local-bot](https://github.com/GeiserX/telegram-slskd-local-bot) — Automated music discovery and download via Telegram\n\n## License\n\n[MIT](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FGeiserX%2FAskePub","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FGeiserX%2FAskePub","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FGeiserX%2FAskePub/lists"}