HomeBrowseUpload
← Back to registry
// Skill profile

Telegram Ops

name: telegram-ops

by brennerspear · published 2026-03-22

社交媒体数据处理加密货币
Total installs
0
Stars
★ 0
Last updated
2026-03
// Install command
$ claw add gh:brennerspear/brennerspear-telegram-ops
View on GitHub
// Full documentation

---

name: telegram-ops

description: 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.

---

# 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:
  • ```bash

    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](#topic-icons))

    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

    | Emoji | ID | Use Case |

    |-------|-----|----------|

    | ⚡ | `5312016608254762256` | Ops, speed, alerts |

    | 💡 | `5312536423851630001` | Ideas, suggestions |

    | 📰 | `5434144690511290129` | News, announcements |

    | 🔥 | `5312241539987020022` | Hot topics, urgent |

    | ❤️ | `5312138559556164615` | Community, love |

    | 📝 | `5373251851074415873` | Notes, documentation |

    | 🤖 | `5309832892262654231` | Bots, automation |

    | 💬 | `5417915203100613993` | Chat, discussion |

    | 📊 | `5350305691942788490` | Stats, analytics |

    | 🎯 | `5418085807791545980` | Goals, 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

    // Comments
    Sign in with GitHub to leave a comment.
    // Related skills

    More tools from the same signal band