{"id":28530248,"url":"https://github.com/grammyjs/ratelimiter","last_synced_at":"2025-07-07T08:32:29.986Z","repository":{"id":37481924,"uuid":"367442672","full_name":"grammyjs/ratelimiter","owner":"grammyjs","description":"Limit the amount of handled messages.","archived":false,"fork":false,"pushed_at":"2025-07-05T08:36:54.000Z","size":568,"stargazers_count":26,"open_issues_count":0,"forks_count":4,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-07-05T09:35:02.438Z","etag":null,"topics":["bot","grammy","spamming-requests","telegraf","telegraf-plugin"],"latest_commit_sha":null,"homepage":"https://grammy.dev/plugins/ratelimiter","language":"TypeScript","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/grammyjs.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-05-14T18:01:22.000Z","updated_at":"2025-07-05T08:36:58.000Z","dependencies_parsed_at":"2023-12-31T01:45:18.302Z","dependency_job_id":"8985bf8c-6082-4b00-b587-60a10334279a","html_url":"https://github.com/grammyjs/ratelimiter","commit_stats":{"total_commits":38,"total_committers":3,"mean_commits":"12.666666666666666","dds":"0.39473684210526316","last_synced_commit":"f7199091eed86877778129754fc122065bb1b60f"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/grammyjs/ratelimiter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grammyjs%2Fratelimiter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grammyjs%2Fratelimiter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grammyjs%2Fratelimiter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grammyjs%2Fratelimiter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/grammyjs","download_url":"https://codeload.github.com/grammyjs/ratelimiter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grammyjs%2Fratelimiter/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263724355,"owners_count":23501707,"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":["bot","grammy","spamming-requests","telegraf","telegraf-plugin"],"created_at":"2025-06-09T14:14:01.179Z","updated_at":"2025-07-07T08:32:29.980Z","avatar_url":"https://github.com/grammyjs.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Test and Build](https://github.com/Amir-Zouerami/ratelimiter/actions/workflows/test.yml/badge.svg)](https://github.com/Amir-Zouerami/ratelimiter/actions/workflows/test.yml)\n\n# Rate Limit Users (`ratelimiter`)\n\n`ratelimiter` is an advanced and flexible middleware for the grammY framework, designed to protect\nTelegram bots from spam and resource abuse.\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/grammyjs/ratelimiter\"\u003e\n    \u003cimg src=\"./grammy-ratelimiter-cover.png\" alt=\"grammY rate limiter cover\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\nAt its core, `ratelimiter` acts as a configurable gatekeeper for incoming updates. It allows\ndevelopers to define precise rules for how many messages a user or chat (or any arbitrary entity)\ncan send in a given period, ensuring the bot remains responsive and server resources are protected\nfrom overload.\n\nThe plugin inspects each incoming message, identifies its source, and decides if it should be\nprocessed or dismissed based on the rules you set.\n\n\u003e **For more information and how-to instructions, please visit**\n\u003e [**the official grammY ratelimiter documentation.**](https://grammy.dev/plugins/ratelimiter)\n\n## License\n\nDistributed under the MIT License. See `LICENSE` for more information.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrammyjs%2Fratelimiter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgrammyjs%2Fratelimiter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrammyjs%2Fratelimiter/lists"}