{"id":21094539,"url":"https://github.com/sralloza/chore-management-bot","last_synced_at":"2025-10-16T02:08:44.879Z","repository":{"id":65243803,"uuid":"523628723","full_name":"sralloza/chore-management-bot","owner":"sralloza","description":null,"archived":false,"fork":false,"pushed_at":"2023-01-24T19:52:52.000Z","size":713,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-21T01:42:01.561Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","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/sralloza.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}},"created_at":"2022-08-11T07:37:02.000Z","updated_at":"2022-08-29T06:59:27.000Z","dependencies_parsed_at":"2023-02-12T17:00:49.108Z","dependency_job_id":null,"html_url":"https://github.com/sralloza/chore-management-bot","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sralloza%2Fchore-management-bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sralloza%2Fchore-management-bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sralloza%2Fchore-management-bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sralloza%2Fchore-management-bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sralloza","download_url":"https://codeload.github.com/sralloza/chore-management-bot/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243538137,"owners_count":20307104,"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","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":"2024-11-19T22:17:47.687Z","updated_at":"2025-10-16T02:08:39.831Z","avatar_url":"https://github.com/sralloza.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Chore Management Bot\n\nTelegram bot which uses the [Chore Management API](https://github.com/sralloza/chore-management-api).\n\n## Deploy\n\nDocker images are provided in [dockerhub](https://hub.docker.com/r/sralloza/chore-management-bot).\n\n## Configuration\n\nConfiguration is done by setting environment variables.\n\n### Required\n\n- ***TELEGRAM_BOT_TOKEN***: telegram bot token.\n- ***TELEGRAM_BOT_USERNAME***: telegram bot username.\n- ***TELEGRAM_CREATOR_ID***: telegram userID of the bot creator.\n\n### Optional\n\n- ***ADMIN_API_KEY***: API key with admin privileges of the Chore Management API.\n- ***API_BASE_URL***: base url where the Chore Management API is deployed.\n- ***CHORES_CACHE_ENABLED***: Enable or disable the chores cache. It manages the `listWeeklyChores` and the `listChores` endpoints. Defaults to `true`.\n- ***CHORE_TYPES_CACHE_ENABLED***: Enable or disable the users cache. If is disabled, for every message sent to the bot a GET request will be sent to the API. Defaults to `true`.\n- ***LATEX_CACHE_ENABLED***: Enable the cache for latex generated images. Defaults to `true`.\n- ***TICKETS_CACHE_ENABLED***: Enable or disable the tickets cache. Defaults to `true`.\n- ***USERS_CACHE_ENABLED***: Enable or disable the users cache. If is disabled, for every message sent to the bot a GET request will be sent to the API. Defaults to `true`.\n\n## Cache\n\nThe bot uses a cache to avoid sending too many requests to the API. These are the expiration times for each cache:\n\n- **latex** (weekly chores and tickets images): 2 Weeks. Each image is saved in a different key in cache.\n- **[listUsers endpoint](https://sralloza.github.io/chore-management-api/#tag/Users/operation/listUsers)**: 4 weeks\n- **[listTickets endpoint](https://sralloza.github.io/chore-management-api/#tag/Tickets/operation/listTickets)**: 4 weeks. Any chore transfer will invalidate this cache.\n- **[listChoreTypes endpoint](https://sralloza.github.io/chore-management-api/#tag/Chore-Types/operation/listChoreTypes)**: 4 weeks.\n- **[listChores endpoint](https://sralloza.github.io/chore-management-api/#tag/Chores/operation/listChores)**: 1 week. Any chore transfer or chore completion will invalidate this cache.\n- **[listWeeklyChores endpoint](https://sralloza.github.io/chore-management-api/#tag/Weekly-Chores/operation/listWeeklyChores)**: 1 week. Any chore transfer or chore completion will invalidate this cache.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsralloza%2Fchore-management-bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsralloza%2Fchore-management-bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsralloza%2Fchore-management-bot/lists"}