5bdaea64ed
Telegram's BotCommand menu is hard-capped (100/scope, ~4KB payload; Hermes defaults to 60 slots), so most skill commands can never appear in the / menu. Inline mode has no such cap: typing @botname <query> in any chat now returns a live, searchable picker over EVERY core command, plugin command, and installed skill — results computed per keystroke, paginated 50 at a time. The Telegram analog of Discord's dynamic /skill autocomplete (#18741). - plugins/platforms/telegram/inline_picker.py: PTB-free catalog/rank/ pagination logic (unit-testable without python-telegram-bot). First query token filters; the remainder is carried into the sent command as its argument (@bot plan migrate auth → sends /plan migrate auth). - adapter: InlineQueryHandler registration (inert until the bot owner enables inline mode via BotFather /setinline) + _handle_inline_query with the same auth path as inline-button callbacks — unauthorized users get an empty list, so the installed-skill catalog is not leaked to arbitrary users (inline queries arrive from any chat). - Tap-to-send dispatches through the existing command path: the sent message starts with /, which reaches the bot even under default privacy mode. Zero new dispatch code. - Docs: telegram.md inline-picker section incl. the one-time BotFather /setinline setup.
Website
This website is built using Docusaurus, a modern static website generator.
Installation
yarn
Local Development
yarn start
This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.
Build
yarn build
This command generates static content into the build directory and can be served using any static contents hosting service.
Deployment
Using SSH:
USE_SSH=true yarn deploy
Not using SSH:
GIT_USER=<Your GitHub username> yarn deploy
If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the gh-pages branch.
Diagram Linting
CI runs ascii-guard to lint docs for ASCII box diagrams. Use Mermaid (````mermaid`) or plain lists/tables instead of ASCII boxes to avoid CI failures.