telegram-ops

Telegram Bot API operations for forum management. Use for creating/editing/archiving forum topics, setting topic icons, managing Telegram groups via Bot API. Use when archiving channels/topics. Requires bot token from OpenClaw config.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "telegram-ops" with this command: npx skills add brennerspear/telegram-ops

Telegram Ops

Manage Telegram forum topics and Bot API operations.

Prerequisites

  • Bot must be admin in the group with can_manage_topics permission
  • Get the bot token from OpenClaw config:
    gateway action=config.get | jq -r '.result.parsed.channels.telegram.botToken'
    

Creating a Topic

When creating a topic, follow all of these steps:

  1. Create the topic via Telegram Bot API (returns message_thread_id)
  2. Set the icon -- pick one that matches the topic's purpose (see Icon Reference)
  3. Choose relevant skills -- run openclaw skills list, pick only ready skills that fit the topic's purpose
  4. Write a system prompt -- give the agent context for what this topic is about
  5. Patch the OpenClaw config -- register the topic with its skills and system prompt

Step 1: Create via Bot API

curl -X POST "https://api.telegram.org/bot<TOKEN>/createForumTopic" \
  -H "Content-Type: application/json" \
  -d '{
    "chat_id": <GROUP_ID>,
    "name": "topic name"
  }'

Returns message_thread_id (the topic ID) -- you need this for all subsequent steps.

Step 2: Set the Icon

curl -X POST "https://api.telegram.org/bot<TOKEN>/editForumTopic" \
  -H "Content-Type: application/json" \
  -d '{
    "chat_id": <GROUP_ID>,
    "message_thread_id": <TOPIC_ID>,
    "name": "topic name",
    "icon_custom_emoji_id": "<EMOJI_ID>"
  }'

Step 3-5: Configure OpenClaw

Patch the config to register the topic with a system prompt:

gateway action=config.patch raw='{"channels":{"telegram":{"groups":{"<GROUP_ID>":{"topics":{"<TOPIC_ID>":{"systemPrompt":"Topic-specific instructions"}}}}}}}'

Topic configs inherit from the parent group -- only specify overrides.

Do NOT add a skills key -- omitting it means all skills are available. Only restrict skills if you have a specific reason to limit the topic's capabilities.

Session Keys

Each topic gets its own isolated OpenClaw session:

agent:main:telegram:group:<GROUP_ID>:topic:<TOPIC_ID>

Each session has independent conversation history, context window, and compaction.

Topic Icons

EmojiIDUse Case
5312016608254762256Ops, speed, alerts
💡5312536423851630001Ideas, suggestions
📰5434144690511290129News, announcements
🔥5312241539987020022Hot topics, urgent
❤️5312138559556164615Community, love
📝5373251851074415873Notes, documentation
🤖5309832892262654231Bots, automation
💬5417915203100613993Chat, discussion
📊5350305691942788490Stats, analytics
🎯5418085807791545980Goals, targets

See references/emoji-ids.md for complete list.

To fetch all valid icon sticker IDs:

curl -X POST "https://api.telegram.org/bot<TOKEN>/getForumTopicIconStickers"

Archiving a Topic

Archive workflow: rename with [ARCHIVED] prefix, set folder icon, close topic, then handle the OpenClaw session.

Step 1: Archive in Telegram

Use the archive script:

scripts/archive_topic.sh <TOKEN> <GROUP_ID> <TOPIC_ID> "Current Topic Name"

This will:

  • Rename to [ARCHIVED] Current Topic Name
  • Set the 📁 folder icon (5357315181649076022)
  • Close the topic (locks it from new messages)

Step 2: Export and Delete OpenClaw Session

# Export session history to the sessions archive folder
openclaw sessions history 'agent:main:telegram:group:<GROUP_ID>:topic:<TOPIC_ID>' > ~/.openclaw/agents/main/sessions/archive/<topic-name>-<date>.md

# Delete the session (manual - remove from sessions.json and delete transcript)
# Session key: agent:main:telegram:group:<GROUP_ID>:topic:<TOPIC_ID>

Step 3: Clean Up Config (Optional)

Remove the topic from OpenClaw config if it had custom settings:

gateway action=config.patch raw='{"channels":{"telegram":{"groups":{"<GROUP_ID>":{"topics":{"<TOPIC_ID>":null}}}}}}'

Limitations

No getForumTopicInfo method exists. Cannot query topic name by thread ID.

Workarounds:

  1. Cache names from forum_topic_created events
  2. Store mapping in local config
  3. Monitor topic creation service messages

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

spec-executor

Execution companion for spec-workflow: state navigation, task tracking via tasks.md, incremental delivery, and session recovery. Use after spec-workflow prod...

Registry SourceRecently Updated
Automation

qwencloud-ops-auth

[QwenCloud] Configure authentication (API keys, endpoints). TRIGGER when: setting up QWEN_API_KEY, troubleshooting 401/auth errors, when another skill report...

Registry SourceRecently Updated
Automation

Feishu Agent Provision

创建绑定飞书群聊的专用 Agent。支持:询问配置问题、创建独立 workspace、注册 agent 到 OpenClaw 配置、绑定飞书群到该 agent、设置每日/每周定时报告。触发条件:用户说"创建一个飞书agent"、"创建项目agent"、"新建agent并绑定飞书群"、"创建一个专属agent"、或...

Registry SourceRecently Updated
Automation

Atelier Litteraire : Redaction litteraire, avec idéation et processus itératif. plusieurs agents : idéation, rédaction, jury/correcteurs.

Generates and refines short novels or short stories from a pitch using narrative ideation and multi-iteration writing with jury scoring and final DOCX/PDF ou...

Registry SourceRecently Updated