TG Channel Manager

Polar Sponsor
爱发电 赞助
.NET 9.0

通用配置驱动的内容管道引擎,支持任意 Telegram 频道:通过 SearXNG 搜索新闻、草稿、定时发布、去重。支持全部频道...

TG 频道管理器

功能概述

TG 频道管理器是一项面向实际任务的技能,主要用于Pipeline: scout – 草稿 – 人类批准 – 出版商.;Execution.;

核心要点

  • Python3和卷曲在您环境中可以使用(dequest.bins中声明).;
  • Run all command your usi.。
  • 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。

使用与执行

使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。

结果检查与注意事项

执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。

TG Channel Manager

工作流: scout → draft → human approves → publisher

执行说明

你的环境中已提供 python3 和 curl(在 requires.bins 中声明)。请使用 exec/bash 工具自行运行所有命令。切勿要求用户为你执行任何命令。

启动流程

加载本技能时,**首先执行预检(preflight check)**:

python3 {baseDir}/scripts/tgcm.py --workspace {workspace} check

预检完成后 —— 根据结果立即行动,不要提问:

  • 全部显示 [ok] → 静默继续执行用户的任务
  • [fail] Bot token → 向用户索取 bot token,并保存:tgcm.py config set bot-token 。不要询问 token 来源或提供选择项
  • [warn] SEARXNG_URL → 向用户索取 URL,并保存:tgcm.py config set searxng-url 。可不提供该值继续执行 —— 此时 scout 功能不可用,但其余命令仍可正常运行
  • [fail] Channel → 明确报告失败的频道名称及原因,并附上输出中提供的修复方法
  • [warn] No channels → 提及该警告,但继续执行 —— 用户可能正准备初始化一个频道

通过 config set 保存的设置将持久化至 tgcm/.config.json,并被后续所有命令读取使用。

切勿就预检结果发起任何追问。只需准确报告问题所在,并直接给出输出中提示的修复命令。
若用户未明确指定任务,则仅报告预检状态,不得额外输出其他内容。

CLI 参考手册(完整命令列表 —— 不支持任何其他命令)

所有命令格式为:python3 {baseDir}/scripts/tgcm.py --workspace {workspace}

命令 作用
init 创建一个频道
list 列出所有频道
bind --channel-id ID 将频道绑定至 Telegram
info [--chat] [--subscribers] [--permissions] [--admins] [--all] 查看频道状态
get-id <@username|ID> 解析 @username 或数字 ID,返回完整频道信息(id、type、title)
check 预检:验证 bot token、频道配置、环境变量
config set 本地保存配置项(支持键名:bot-token、searxng-url)
config get 读取已保存的配置项
config list 列出所有已保存的配置项
fetch-posts [--limit N] [--dry-run] 将频道帖子加载进去重索引(需频道为公开频道且拥有 @username)
connect --channel-id ID [--channel-title T] 处理 #tgcm connect 事件

Bot token 自动解析顺序为:--bot-token 参数 → $BOT_TOKEN 环境变量 → openclaw.json(自动搜索)→ tgcm/.config.json。调用 tgcm.py get-id @username 时无需显式传入 --bot-token,脚本会自动查找。若自动检测失败,请手动保存一次:tgcm.py config set bot-token 。

频道名称校验正则表达式:^[a-z0-9][a-z0-9_-]{0,62}$。

快速参考

用户输入 应执行的操作
«узнай/определи channel-id» tgcm.py get-id @username
«подключи канал» 操作指南:连接频道(见下方)
«какие каналы / список» tgcm.py list
«статус канала X» tgcm.py info X
«что в очереди» cat tgcm//content-queue.md
«загрузи посты / rebuild index» tgcm.py fetch-posts

操作指南(Recipes)

查询频道 ID

python3 {baseDir}/scripts/tgcm.py get-id @username

Token 将自动查找。返回频道 ID、类型(type)和标题(title)。

连接一个频道

  1. 获取 ID:python3 {baseDir}/scripts/tgcm.py get-id @username
  2. python3 {baseDir}/scripts/tgcm.py --workspace {workspace} init
  3. python3 {baseDir}/scripts/tgcm.py --workspace {workspace} bind --channel-id
  4. 在 openclaw.json 中配置 skills.entries["tg-channel-manager"].config
  5. 添加定时任务(参见 {baseDir}/references/cron-setup.md)

加载频道帖子(重建去重索引)

python3 {baseDir}/scripts/tgcm.py --workspace {workspace} fetch-posts

从频道的公开页面(t.me/s/)抓取帖子,并将其加入 content-index.json。
可选参数:--limit N(最多抓取页数,默认为 5),--dry-run(仅预览,不写入)。
前提条件:频道必须是公开的(即拥有 @username)。

查看频道 / 状态

  • tgcm.py list
  • tgcm.py info
  • 队列内容:cat tgcm//content-queue.md

禁止事项

  • 不得虚构命令 —— 上表所列为唯一支持的全部命令
  • 不得直接发布帖子 —— 仅由 cron Publisher 执行发布
  • 不得将 draft 状态改为 pending —— 仅限人工操作
  • 起草前必须执行去重检查(dedup-check)
  • 不得要求用户执行命令 —— 环境中已提供 python3 和 curl,请使用 exec/bash 自行执行
  • 不得向用户索取 bot token 或环境变量 —— token 支持自动解析,check 命令会明确指出缺失项
  • 预检(check)后不得向用户发起任何追问 —— 应直接报告错误及对应修复命令,不提供选项
  • 不得询问“这是频道还是群组” —— get-id 返回的 type 字段已明确标识,本技能仅支持频道(channel)

数据目录结构

tgcm/
  channels.json            <- [{"name", "channelId", "status", "createdAt"}, ...]
  {channel-name}/
    channel.json           <- 单频道元数据
    content-index.json     <- 去重索引
    content-queue.md       <- 帖子队列

当 channelId 已设置且 status 为 "connected" 时,视为频道已绑定。

配置说明

参数从 openclaw.json → skills.entries["tg-channel-manager"] 中读取:

Telegram

参数 类型 说明
config.channelId string 用于发布的 Telegram 频道 ID
config.chatId string 频道社区聊天 ID(可选)

限制与调度

参数 类型 说明
config.maxPostsPerDay number 每日最大发布帖数
config.maxDraftsPerRun number 每次 scout 运行生成的最大草稿数
config.timezone string 调度时区(IANA 格式)
config.language string 帖子语言(ru、en 等)
config.cronScoutTimes string[] scout 调度时间(cron 格式)
config.cronPublisherTimes string[] publisher 调度时间(cron 格式)

内容

参数 类型 说明
config.rubrics array 栏目配置:[{id, emoji, name}, ...]
config.searchQueries string[] SearXNG 搜索关键词
config.searchInclude string 匹配规则描述(包含哪些内容)
config.searchExclude string 过滤规则描述(排除哪些内容)
config.evergreen string[] 无新闻时推荐的常青话题(evergreen topics)

帖子样式

参数 类型 说明
config.postStyle.minChars number 每条帖子最少字符数
config.postStyle.maxChars number 每条帖子最多字符数
config.postStyle.emojiTitle boolean 标题前是否添加 emoji
config.postStyle.boldTitle boolean 标题是否加粗
config.postStyle.signature string 帖子签名
config.postStyle.newsFooter string 新闻类帖子的附加文字(空字符串表示不添加)
config.postStyle.articleFooter string 文章类帖子的附加文字(空字符串表示不添加)

环境变量

参数 类型 说明
env.SEARXNG_URL string SearXNG 实例 URL

路径解析规则

变量 解析方式
{workspace} 当前工作目录(CWD)。可通过 pwd 查看,或显式传入 --workspace .
{baseDir} {workspace}/skills/tg-channel-manager

沙箱模式下(workspaceAccess: "none"),workspace 实际位于 ~/.openclaw/sandboxes,而非 ~/.openclaw/workspace。请始终使用相对于 CWD 的路径。

定时任务(cron)配置详见:{baseDir}/references/cron-setup.md。

队列格式

content-queue.md 中条目格式

### 
- **Status:** draft | pending
- **Rubric:**   (from config.rubrics)
- **Topic:** 
- **Source:**  (for news)
- **Text:**


状态说明:

  • draft —— 待人工审核
  • pending —— 已批准,等待发布

发布完成后,该条目将**从 content-queue.md 中移除**。

去重机制(Deduplication)

每次起草前 —— 必须执行去重检查:

python3 {baseDir}/scripts/dedup-check.py --base-dir  --topic "topic" --links "url1" "url2"

发布后 —— 将新帖加入索引:

python3 {baseDir}/scripts/dedup-check.py --base-dir  --add  --topic "topic" --links "url"

重建索引(通过 Telegram 搜索):

python3 {baseDir}/scripts/dedup-check.py --base-dir  --rebuild --channel-id 

索引文件存储于 /content-index.json(或按频道存放:tgcm//content-index.json)。

相关专题

更多
Go语言 channel用法详解
Go语言 channel用法详解

本专题整合了go语言中channel的各种使用方法,阅读专题下面的文章了解更多详细步骤。

2026.04.03

263

23

golang channel相关教程
golang channel相关教程

本专题整合了golang处理channel相关教程,阅读专题下面的文章了解更多详细内容。

2025.11.17

499

10

Golang channel原理
Golang channel原理

本专题整合了Golang channel通信相关介绍,阅读专题下面的文章了解更多详细内容。

2025.11.14

374

8

Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

2026.11.06

0

12

Postman请求头Headers怎么设置
Postman请求头Headers怎么设置

围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。

2026.11.06

0

13

Postman接口请求发送教程
Postman接口请求发送教程

详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。

2026.11.06

0

10

DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

2026.11.05

0

12

DBeaver安全防护教程大全
DBeaver安全防护教程大全

DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。

2026.11.05

0

12

DBeaver连接创建与配置教程
DBeaver连接创建与配置教程

本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。

2026.11.04

0

16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Golang进阶实战编程
Golang进阶实战编程

共34课时 | 4万人学习