Add `dkit limits`: offline cheat sheet for Discord message, embed and command limits
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 54/100
Research direction
Start with the existing commands and datasets in core/suggest.py and core/data.py, then inspect .github/workflows/ci.yml and CONTRIBUTING.md for registration and contribution requirements. Verify each message and embed limit against its exact official documentation page, then add the dataset, command, completion, and tests; done means dkit limits and its group and search options work offline and CI coverage passes.
Written by the indexing model from the issue text.
Description
Problem
Every bot developer regularly looks up the same limits: 2000 characters per message, 10 embeds per message, 25 fields per embed, 4096 characters in an embed description, 25 choices per slash command option, and so on. These are spread over several pages of the Discord docs.
Proposal
A new offline command dkit limits backed by a data file src/dkit/data/limits.json:
$ dkit limits # list everything, grouped
$ dkit limits embed # one group
$ dkit limits --search field # search by name/description
$ dkit --json limits
Suggested groups: message, embed, application commands, components, webhooks. Each entry needs: name, value, a short description, and the doc page it comes from.
Requirements
- Every value must be verified against the official docs (not from memory). The JSON needs
source,source_renderedandlast_verifiedlike the other datasets; please list the exact page for each group. - Unknown group ->
UsageErrorwith a "did you mean" hint (seecore/suggest.py). - Add the new JSON file to the dataset list (
core/data.py) and update the CI file count in.github/workflows/ci.yml. - Register shell completion for the group names.
- Tests must fail when behavior breaks; CI enforces 100% coverage including branches.
Scope
Please start with message + embed limits only and add the other groups in follow-up PRs, so the review stays small.
Please comment on this issue before starting. See CONTRIBUTING.md (AI-assisted contributions are welcome, but must be disclosed in the PR description).
- Dominant language
- Python
- Stars
- 1
- Forks
- 7
- Avg merge
- 11h 50m
- Merged PRs (30d)
- 35
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from Bytewave1/dkit
-
documentation good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Maintainers usually reply within 1 day
-
documentation good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
enhancement good first issue new command
Difficulty 3/5 1-2 days Newbie friendliness 48/100
Maintainers usually reply within 1 day
-
enhancement good first issue new command
Difficulty 3/5 1-2 days Newbie friendliness 75/100
Maintainers usually reply within 1 day
-
enhancement new command
Difficulty 4/5 3-5 days Newbie friendliness 48/100
Maintainers usually reply within 1 day
Similar issues
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
NousResearch/hermes-agent#147104 ·
Maintainers usually reply within 1 day
-
premises-missing
Difficulty 1/5 Under an hour Newbie friendliness 88/100
WingedGuardian/GENesis-AGI#3801 ·
Maintainers usually reply within 1 day
-
[oblt-aw][autodoc] Document new required `shared-org-key` input for `obs-aw-dependency-review`Possibly taken @github-actions claimed this today. Open
Difficulty 1/5 Under an hour Newbie friendliness 90/100
Maintainers usually reply within 1 day
-
bot-triaged module: inductor oncall: pt2 topic: fuzzer triaged
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 4 days