From telegram
Set up the Telegram channel — save the bot token and review access policy. Use when the user pastes a Telegram bot token, asks to configure Telegram, asks "how do I set this up" or "who can reach me," or wants to check channel status.
npx claudepluginhub mahi97/claude-telegram-plugin --plugin telegramThis skill is limited to using the following tools:
Project-aware setup. Detects whether to use project-level (`.claude/telegram/`)
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Share bugs, ideas, or general feedback.
Project-aware setup. Detects whether to use project-level (.claude/telegram/)
or user-level (~/.claude/channels/telegram/) state. Prefers project-level
when a .claude/ directory exists in the working directory.
Arguments passed: $ARGUMENTS
TELEGRAM_STATE_DIR env var is set, use that..claude/ exists in the current working directory, use .claude/telegram/.~/.claude/channels/telegram/.Use this resolved path for ALL file operations below.
Read both state files and give the user a complete picture:
State dir — show which directory is being used and why.
Token — check <state_dir>/.env for TELEGRAM_BOT_TOKEN.
Show set/not-set; if set, show first 10 chars masked (123456789:...).
Access — read <state_dir>/access.json (missing file = defaults:
dmPolicy: "pairing", empty allowlist). Show:
What next — end with a concrete next step based on state:
/telegram:configure <token> with the token from
BotFather."/telegram:access pair <code>."Push toward lockdown — always.
<token> — save it$ARGUMENTS as the token (trim whitespace). BotFather tokens look
like 123456789:AAHfiqksKZ8... — numeric prefix, colon, long string.mkdir -p <state_dir>.env if present; update/add the TELEGRAM_BOT_TOKEN= line,
preserve other keys. Write back, no quotes around the value.chmod 600 <state_dir>/.env — the token is a credential..gitignore exists at the project root and doesn't already contain
.claude/telegram/, append it. The token is a secret.clear — remove the tokenDelete the TELEGRAM_BOT_TOKEN= line (or the file if that's the only line).
.env once at boot. Token changes need a session restart
or /reload-plugins. Say so after saving.access.json is re-read on every inbound message — policy changes via
/telegram:access take effect immediately, no restart.