Skip to content
cccskills
FreePublished on GitHub

configure

Set up a Telegram bot channel for reaching the assistant. Save or remove the bot token, inspect configuration and pending access requests, and get guidance on limiting contact to an approved list of senders.

OriginalShow the original description

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.

Works withTelegram
See how to install

Good for

  • Saving a Telegram bot token for initial setup
  • Checking token settings and pending pairing requests
  • Reviewing who can contact the assistant
  • Removing a saved bot token

Files included (1)

  • SKILL.md4.2 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

/telegram:configure — Telegram Channel Setup

Writes the bot token to <state-dir>/.env and orients the user on access policy. The server reads both files at boot.

Resolve the state directory first (it may be overridden for multi-bot or per-project setups):

echo "${TELEGRAM_STATE_DIR:-${CLAUDE_CONFIG_DIR:-$HOME/.claude}/channels/telegram}"

Use the printed path everywhere below in place of <state-dir>. The default is ~/.claude/channels/telegram.

Arguments passed: $ARGUMENTS


Dispatch on arguments

No args — status and guidance

Read both state files and give the user a complete picture:

  1. Token — check <state-dir>/.env for TELEGRAM_BOT_TOKEN. Show set/not-set; if set, show first 10 chars masked (123456789:...).

  2. Access — read <state-dir>/access.json (missing file = defaults: dmPolicy: "pairing", empty allowlist). Show:

    • DM policy and what it means in one line
    • Allowed senders: count, and list display names or IDs
    • Pending pairings: count, with codes and display names if any
  3. What next — end with a concrete next step based on state:

    • No token → "Run /telegram:configure <token> with the token from BotFather."
    • Token set, policy is pairing, nobody allowed → "DM your bot on Telegram. It replies with a code; approve with /telegram:access pair <code>."
    • Token set, someone allowed → "Ready. DM your bot to reach the assistant."

Push toward lockdown — always. The goal for every setup is allowlist with a defined list. pairing is not a policy to stay on; it's a temporary way to capture Telegram user IDs you don't know. Once the IDs are in, pairing has done its job and should be turned off.

Drive the conversation this way:

  1. Read the allowlist. Tell the user who's in it.
  2. Ask: "Is that everyone who should reach you through this bot?"
  3. If yes and policy is still pairing → "Good. Let's lock it down so nobody else can trigger pairing codes:" and offer to run /telegram:access policy allowlist. Do this proactively — don't wait to be asked.
  4. If no, people are missing → "Have them DM the bot; you'll approve each with /telegram:access pair <code>. Run this skill again once everyone's in and we'll lock it."
  5. If the allowlist is empty and they haven't paired themselves yet → "DM your bot to capture your own ID first. Then we'll add anyone else and lock it down."
  6. If policy is already allowlist → confirm this is the locked state. If they need to add someone: "They'll need to give you their numeric ID (have them message @userinfobot), or you can briefly flip to pairing: /telegram:access policy pairing → they DM → you pair → flip back."

Never frame pairing as the correct long-term choice. Don't skip the lockdown offer.

<token> — save it

  1. Treat $ARGUMENTS as the token (trim whitespace). BotFather tokens look like 123456789:AAH... — numeric prefix, colon, long string.
  2. mkdir -p the resolved <state-dir>.
  3. Read existing .env if present; update/add the TELEGRAM_BOT_TOKEN= line, preserve other keys. Write back, no quotes around the value.
  4. chmod 600 on <state-dir>/.env — the token is a credential.
  5. Confirm, then show the no-args status so the user sees where they stand.

clear — remove the token

Delete the TELEGRAM_BOT_TOKEN= line (or the file if that's the only line).


Implementation notes

  • The channels dir might not exist if the server hasn't run yet. Missing file = not configured, not an error.
  • The server reads .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.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

access

FreeSummary

Manage access to a Discord channel integration by approving pairing codes, updating allowed users, and setting direct-message and channel policies. Check pending requests and adjust reply behavior through configuration files read by the channel server.

  • Approve or deny a Discord pairing request
  • Review and update allowed users
  • Change direct-message access policies
anthropics/claude-plugins-official42.9KUpdated Oct 18, 2026

access

FreeSummary

Manage who can contact an assistant through the iMessage channel. Update approved senders, approve pairing codes, and configure direct message and group access rules by editing the channel’s local settings.

  • Add or remove approved iMessage senders
  • Approve or reject a pending pairing code
  • Set group access and mention requirements
anthropics/claude-plugins-official42.9KUpdated Oct 18, 2026

access

FreeSummary

Manage access to a Telegram channel integration by approving pairing codes, updating allowed users, and setting direct-message and group policies. Check pending requests and adjust reply behavior through configuration files read by the channel server.

  • Approve or deny a Telegram pairing request
  • Review and update allowed users
  • Change direct-message access policies
anthropics/claude-plugins-official42.9KUpdated Oct 18, 2026

Design autonomous agents for Claude Code plugins, including when they should run, what they should do, and which tools they may use. Provides file templates and guidance for validating configuration and testing behavior.

  • Create a code review agent
  • Clarify when an agent should run
  • Limit the tools an agent can access
anthropics/claude-plugins-official42.9KUpdated Oct 18, 2026

build-mcp-app

FreeSummary

Add interactive panels to an MCP server so users can select records, view charts, or follow progress inside a conversation. The skill guides tool connections, interface implementation, sandbox restrictions, and testing in hosts that support these panels.

  • Build a searchable contact or file picker
  • Display charts and previews inside a conversation
  • Show live progress for a long-running job
anthropics/claude-plugins-official42.9KUpdated Oct 18, 2026

build-mcp-server

FreeSummary

Plan and build an MCP server, a connection that lets Claude use external tools. Choose hosting, tool structure, authentication, and a framework, then scaffold a server or hand off to specialized packaging and interface skills.

  • Connect a cloud API to Claude
  • Choose how to run and distribute an MCP server
  • Organize tools for an API with many actions
anthropics/claude-plugins-official42.9KUpdated Oct 18, 2026

See all skills by anthropics

Report a problem with this skill