Skip to content

Support custom bot commands in Telegram menu via config #173

@sakhnenkoff

Description

@sakhnenkoff

Currently get_bot_commands() in the orchestrator hardcodes the list of commands that get registered with Telegram's / autocomplete menu via set_my_commands.

This means if you have project-level Claude Code slash commands (defined in .claude/commands/), they work fine when typed manually — the bot forwards them to Claude via _handle_unknown_command — but they don't show up in Telegram's command menu, so users don't know they exist.

Since set_my_commands runs on every startup, you can't work around this with BotFather either — the bot just overwrites whatever you set there.

Proposal: Support a config option (env var or config file) for additional bot commands to register alongside the built-in ones. Something like:

# .env
CUSTOM_BOT_COMMANDS=today:Morning briefing,closeday:End of day review,capture:Quick capture a thought

Or a JSON/YAML file:

# custom_commands.yaml
- command: today
  description: Morning briefing
- command: closeday
  description: End of day review

These would just be appended to the existing command list in get_bot_commands(). The bot already handles unknown commands correctly by forwarding them to Claude, so this is purely a UI/discoverability improvement.

Happy to open a PR if you're open to it.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions