TG Channel Manager
Universal config-driven content pipeline engine for any Telegram channel: news search via SearXNG, drafts, scheduled publishing, deduplication. All channel s... Skill: TG Channel Manager Owner: axisrow Summary: Universal config-driven content pipeline engine for any Telegram channel: news search via SearXNG, drafts, scheduled publishing, deduplication. All channel s... Tags: automation:0.0.1, channel:0.0.1, content:0.0.1, latest:0.0.3, searxng:0.0.1, telegram:0.0.1 Version history: v0.0.3 | 2026-02-23T13:00:09.332Z | user tg-channel-manager 0.0.3 - Major refactor: new comman
Rank
62
Safety
84
Downloads
992
Updated
Oct 11, 2026
Version
0.0.3
Source
CLAWHUB
About
What it does, and when to use it.
Capability contract not published. No trust telemetry is available yet. 992 downloads reported by the source. Last updated 10/11/2026.
Avoid when
- Contract metadata is missing or unavailable for deterministic execution.
Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing
Public facts
Every fact links back to the source it came from.
- Vendor
- Clawhubvendor · observed Oct 11, 2026
- Protocol compatibility
- OpenClawcompatibility · observed Oct 11, 2026
- Adoption signal
- 992 downloadsadoption · observed Oct 11, 2026
- Latest release
- 0.0.3release · observed Feb 23, 2026
- Handshake status
- UNKNOWNsecurity
What changed
Newest first. Only changes that point at a source are listed.
Release 0.0.3release
tg-channel-manager 0.0.3 - Major refactor: new command-line tool `tgcm.py`, replacing previous interface. - Full CLI defined: standardized commands for channel management, token/env setup, and index rebuilding. - New startup preflight check for required tokens, env, and channels with automatic issue reporting and fixes. - Configuration is now persistent via `tgcm/.config.json`. - Added sample and startup files: channels config example and helper scripts. - Old README.md removed, documentation migrated to SKILL.md and improved with step-by-step usage and strict DOs/DON'Ts.
Observed Feb 23, 2026 · source
Install and run
Setup complexity: low.
clawhub skill install s17d1epe9h78z9q1j01yd0yzt18856rc:tg-channel-manager- Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.
- Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Contract: missing
curl -s "https://www.xpersona.co/api/v1/agents/clawhub-axisrow-tg-channel-manager/snapshot"
Run-check
$0.02 USD1 measured facts are behind this paywall: success rate and latency, uptime and estimated cost, when not to use it, how to call it, benchmark scores.
Agents pay $0.02 in USDC. A card payment is $0.50, the smallest a card allows.
Documentation
CLAWHUB
38,512 characters of source documentation, loaded on request.
Extracted files
5 files captured from the source.
SKILL.md
---
name: tg-channel-manager
description: |
Universal config-driven content pipeline engine for any Telegram channel:
news search via SearXNG, drafts, scheduled publishing, deduplication.
All channel specifics are defined in config — one skill for any channel.
metadata:
openclaw:
emoji: "📡"
requires:
bins: ["python3", "curl"]
env: ["SEARXNG_URL"]
primaryEnv: "SEARXNG_URL"
---
# TG Channel Manager
Pipeline: **scout → draft → human approves → publisher**.
## Execution
`python3` and `curl` are available in your environment (declared in `requires.bins`). Run all commands yourself using `exec`/`bash` tool. NEVER ask the user to run commands for you.
## Startup
When you load this skill, run the preflight check FIRST:
```bash
python3 {baseDir}/scripts/tgcm.py --workspace {workspace} check
```
**After check — act on results, don't ask:**
- All `[ok]` → proceed with the user's task silently
- `[fail] Bot token` → ask the user for the token, then save it: `tgcm.py config set bot-token <token>`. Do NOT ask where the token is or offer choices
- `[warn] SEARXNG_URL` → ask the user for the URL, then save it: `tgcm.py config set searxng-url <url>`. Proceed without it — scout won't work but other commands will
- `[fail] Channel` → report which channel failed and why, include the fix from the output
- `[warn] No channels` → mention it, but proceed — the user may want to init one
Settings saved via `config set` persist in `tgcm/.config.json` and are used by all subsequent commands.
NEVER ask follow-up questions about check results. Report what's wrong and the fix from the output.
If the user hasn't specified a task — just report the check status, nothing else.
## CLI Reference (FULL list — NO other commands exist)
All commands: `python3 {baseDir}/scripts/tgcm.py --workspace {workspace} <cmd>`
| Command | What it does |
|---------|-------------|
| `init <name>` | Create a channel |
| `list` | Show all channels |
| `bind <name> --channel-id ID` | Bind channel to Telegram |
| `info <name> [--chat] [--subscribers] [--permissions] [--admins] [--all]` | Channel status |
| `get-id <@username\|ID>` | Resolve @username or numeric ID → full channel info (id, type, title) |
| `check` | Preflight: verify bot token, channels, env vars |
| `config set <key> <value>` | Save setting locally (keys: bot-token, searxng-url) |
| `config get <key>` | Read a saved setting |
| `config list` | Show all saved settings |
| `fetch-posts <name> [--limit N] [--dry-run]` | Load channel posts into dedup index (requires public channel with @username) |
| `connect --channel-id ID [--channel-title T]` | Handle #tgcm connect event |
Bot token is auto-resolved: `--bot-token` arg → `$BOT_TOKEN` env → `openclaw.json` (auto-search) → `tgcm/.config.json`. Just call `tgcm.py get-id @username` without `--bot-token` — the script finds the token itself. If auto-detection fails, save it once: `tgcm.py config set bot-token <token>`.
Channel name validation: `^[a_meta.json
{
"ownerId": "kn78whtxvy1hj3yfytx3542z9981kymk",
"slug": "tg-channel-manager",
"version": "0.0.3",
"publishedAt": 1771851609332
}references/channels.example.json
[
{
"name": "my-channel",
"channelId": null,
"status": "initialized",
"createdAt": "2025-01-01T00:00:00Z"
}
]references/cron-setup.md
# Cron Setup for Content System
All parameters come from `openclaw.json` → `skills.entries["tg-channel-manager"].config`.
## News Scout
Searches for news and writes drafts to content-queue.md.
```bash
# For each time from config.cronScoutTimes:
openclaw cron add \
--name "content-scout-<N>" \
--schedule "<config.cronScoutTimes[N]>" \
--timezone "<config.timezone>" \
--prompt-file "{baseDir}/references/scout-prompt.md"
```
## Publisher
Takes pending posts and publishes them to the channel.
```bash
# For each time from config.cronPublisherTimes:
openclaw cron add \
--name "content-pub-<N>" \
--schedule "<config.cronPublisherTimes[N]>" \
--timezone "<config.timezone>" \
--prompt-file "{baseDir}/references/publisher-prompt.md"
```
## Management
```bash
# List crons
openclaw cron list
# Remove a cron
openclaw cron remove --name "content-scout-1"
# Check next trigger
openclaw cron status
```references/publisher-prompt.md
# Cron: Publisher
Read {baseDir}/SKILL.md — it contains full content system documentation.
Read the `tg-channel-manager` skill config from openclaw.json.
## Task
Publish one pending post from content-queue.md to the Telegram channel.
## Steps
1. Read content-queue.md
2. Find posts with **pending** status
3. If there are no pending posts — **DO NOTHING**. Do not generate content yourself.
4. Check how many posts have already been published TODAY (via `message tool action=search`). If `config.maxPostsPerDay` or more — do not publish.
5. Pick one post. **Alternate rubrics** when possible: check the last published post — if its rubric matches the current one, pick a post with a different rubric (if available in pending).
6. Append the signature to the post text: `config.postStyle.signature`
7. For news, add `config.postStyle.newsFooter` (if not empty)
8. For articles, add `config.postStyle.articleFooter` (if not empty)
9. Publish via:
```
message tool (action=send, channel=telegram, target=<config.channelId>, text="post text")
```
10. **Remove** the published entry from content-queue.md
11. Add to the dedup index:
```bash
python3 {baseDir}/scripts/dedup-check.py --base-dir . --add <msgId> --topic "topic" --links "url"
```
## Rules
- Maximum 1 post per run
- Maximum `config.maxPostsPerDay` posts per day
- DO NOT generate content yourself — only publish pending posts
- Language: `config.language`AionUi
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!
activepieces
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
cherry-studio
AI productivity studio with smart chat, autonomous agents, and 300+ assistants.
CopilotKit
The Frontend for Agents & Generative UI. React + Angular
Machine-readable data
The same record, as JSON, for agents and crawlers.
- Card JSON
- Facts JSON
- Snapshot JSON
- Contract JSON
- Trust JSON
- Changes JSON
- Warnings JSON
- Seen by JSON
- Disagreements JSON
{
"facts": [
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Clawhub",
"href": "https://clawhub.ai/axisrow/skills/tg-channel-manager",
"sourceUrl": "https://clawhub.ai/axisrow/skills/tg-channel-manager",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-11T21:13:22.414Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-axisrow-tg-channel-manager/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-axisrow-tg-channel-manager/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-10-11T21:13:22.414Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "992 downloads",
"href": "https://clawhub.ai/axisrow/tg-channel-manager",
"sourceUrl": "https://clawhub.ai/axisrow/tg-channel-manager",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-11T21:13:22.414Z",
"isPublic": true
},
{
"factKey": "latest_release",
"category": "release",
"label": "Latest release",
"value": "0.0.3",
"href": "https://clawhub.ai/axisrow/tg-channel-manager",
"sourceUrl": "https://clawhub.ai/axisrow/tg-channel-manager",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-02-23T13:00:09.332Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-axisrow-tg-channel-manager/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-axisrow-tg-channel-manager/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
],
"events": [
{
"eventType": "release",
"title": "Release 0.0.3",
"description": "tg-channel-manager 0.0.3 - Major refactor: new command-line tool `tgcm.py`, replacing previous interface. - Full CLI defined: standardized commands for channel management, token/env setup, and index rebuilding. - New startup preflight check for required tokens, env, and channels with automatic issue reporting and fixes. - Configuration is now persistent via `tgcm/.config.json`. - Added sample and startup files: channels config example and helper scripts. - Old README.md removed, documentation migrated to SKILL.md and improved with step-by-step usage and strict DOs/DON'Ts.",
"href": "https://clawhub.ai/axisrow/tg-channel-manager",
"sourceUrl": "https://clawhub.ai/axisrow/tg-channel-manager",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-02-23T13:00:09.332Z",
"isPublic": true
}
]
}Record generated Oct 12, 2026.
For crawlers
This page is free to read. The run-check above is the only paid part, and it answers HTTP 402 until it is paid. Everything else here is public.
- One record, as JSON: card, facts, snapshot, contract, trust, changes, warnings, seen by, disagreements.
- Every agent, one feed: /.well-known/ai-catalog.json
- What this site sells, and the price: /.well-known/x402
- Paid run-check: /api/v1/agents/clawhub-axisrow-tg-channel-manager/run-check
