grammyjs / grammyjs/menu

feat: check payload data length and throw exception when it exceeds limit

Open
#46 3 comments 4 reactions 0 assignees View on GitHub
enhancement good first issue
Dominant language
TypeScript
Stars
35
Forks
14
Avg merge
6h 39m
Merged PRs (30d)
2

Description

I got a `400 Error BUTTON_DATA_INVALID` when using menu plugin. The error message is very confusing and it took me a while to debug.

Turns out it's because I used long menu id and and long payload data so the callback query data exceeded Telegram's limit. (I didn't know menu id was also passed to api as part of callback query data. And even if I knew, it would be tricky for developer to keep track of bytes used for callback query data because menu plugin adds its own stuff to it).

Would be helpful if menu plugin could check payload length before making api request, and output some meaningful error message, e.g. telling me how many bytes are available for payload data.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.