Telegram keyboards callbacks
Skill ballisarium/aiogram-bot-skills/skills/telegram-keyboards-callbacks
focused workflows for building and maintaining aiogram bots
npx -y skills add ballisarium/aiogram-bot-skills --skill telegram-keyboards-callbacksAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 25 days oldThe repository was created 25 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
use when building or changing telegram keyboards, menus, callback data, callback handlers, pagination, or edit-versus-send behavior; кнопки, меню, callbacks.
SKILL.md
2.4 KB, as published. Nobody here has run it
telegram keyboards and callbacks
keep callback payloads compact, stable, and backed by safe server-side checks.
workflow
use aiogram-handler-implementation when callback handlers or routing change. use aiogram-bot-verify after code changes.
- inspect existing keyboard builders,
InlineKeyboardBuilder,CallbackDatafactories, constants, action names, domain modules, text helpers, and pagination utilities. - choose the keyboard type deliberately:
- inline for message actions, menus, pagination, confirmation, and entity selection
- reply for persistent input choices or contact and location requests; remove it when no longer relevant
- preserve the project callback format. prefer factories, then constants or enums; pass only compact action data and necessary identifiers.
- treat
callback_dataas routing data, not storage. keep large context server-side. if exact current limits affect the design, usetelegram-docs-check. - match handlers to the exact factory or constant. reject unrelated actions, check permissions and entity existence, handle stale callbacks safely, and answer the callback query where appropriate. make mutating actions safe against repeated callbacks and retries.
- edit the existing bot message for menu navigation, paging, selection, and confirmation updates. send a new message when history matters, edit constraints apply, or a separate flow begins. follow existing handling for inaccessible or unchanged messages.
- bound page indexes and handle empty pages, missing items, preserved filters, and project-standard back or close controls.
- keep markup construction in keyboard builders and user-facing text in the text or localization layer.
- test packing and unpacking, filters, routing, stale and invalid payloads, pagination boundaries, permissions, repeated mutating callbacks, and callback-answer behavior. completion requires stable payloads, exact routing, safe stale-data behavior, complete navigation, and boundary coverage.
guardrails
do not store json or large context in callbacks, concatenate payload strings inside handlers when a structured convention exists, duplicate markup, or edit messages blindly.