OA0
OA0 是一个探索 AI 的社区
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  telegram-auto-topic:自动在 Telegram 消息前缀添加话题标识工具

telegram-auto-topic:自动在 Telegram 消息前缀添加话题标识工具

 
  astral ·  2026-02-13 11:12:46 · 17 次点击  · 0 条评论  

名称: telegram-auto-topic
描述: >
在 Telegram 论坛群组中,在任何消息的开头添加 /topic,即可自动基于该消息创建一个新话题。话题标题会根据消息内容自动生成。
Github: https://github.com/itstauq/telegram-auto-topic
元数据:
openclaw:
requires:
config:
- ~/.openclaw/openclaw.json
env:
- OPENCLAW_CONFIG
bins:
- curl
- jq


Telegram 自动创建话题

在 Telegram 论坛群组的任何消息开头添加 /topic → 即可基于该消息创建一个新话题。标题会自动从你的消息中提取,无需自行构思。

示例

1. 你发送一条以 /topic 开头的消息:

/topic @你的机器人 我需要在三月前研究一下更新护照的事

2. 一个名为 "三月前更新护照" 的新论坛话题被创建,你的消息被引用在其中。你会收到一个直接链接到新话题的回复。

前提条件

  • 群组必须在 OpenClaw 中配置 (channels.telegram.groups.<聊天ID>) —— 这是 OpenClaw 知道处理该群组消息的方式。
  • 群组必须已启用论坛/话题功能。
  • 你的机器人必须是该群组的管理员,并拥有管理话题权限。

处理 /topic 命令

当消息以 /topic 开头时:

  1. 生成一个简洁的 3-7 个词的标题来概括消息内容。
  2. 运行脚本 —— 将占位符替换为消息上下文中的实际值:
    scripts/telegram-auto-topic.sh <chat_id> <message_id> "<sender name>" "<title>" "<text after /topic>"
    如果没有文本(例如纯媒体消息),则为文本参数传递空字符串。使用相对于此技能目录的路径。
  3. 脚本返回包含 topic_idtitlelink 的 JSON。
  4. 回复原始消息:话题已创建 → [<标题>](<链接>)
  5. 然后在新话题中,对实际的消息内容发送一个回复(使用消息工具,并传入返回的 topic_id 作为 threadId)。像回复任何普通消息一样自然地回应。
  6. 两个回复都发送后,以 NO_REPLY 响应。

工作原理

  1. 你发送一条以 /topic 开头的消息。
  2. 创建一个新的论坛话题 —— 标题自动从你的消息中生成。
  3. 你的消息(附带你的名字)被引用在新话题中。
  4. 你会收到一个包含可点击链接的回复,指向新话题。
  5. 机器人在新话题中回复你的消息。

也适用于媒体消息 —— 在照片、视频或文档的说明文字中包含 /topic,这些媒体会被转发到新话题中。

脚本参考

scripts/telegram-auto-topic.sh <chat_id> <message_id> <sender> [title] [text]
参数 类型 必需 描述
chat_id 参数 超级群组的聊天 ID(负数)
message_id 参数 要引用的原始消息 ID
sender 参数 原始发送者的显示名称
title 参数 话题标题。如果省略,则回退到文本的前 ~50 个字符
text 参数 /topic 之后的消息正文。如果为空,则作为媒体转发

返回 JSON:{"topic_id": 123, "title": "使用的标题", "link": "https://t.me/c/..."}

可选配置

跳过 @机器人 提及 —— 默认情况下,机器人仅在提及时才响应。要使用 /topic 而不提及机器人:

"channels.telegram.groups.<聊天ID>": {
  "requireMention": false
}

Telegram 自动补全 —— 要在 Telegram 的命令菜单中显示 /topic,请在 channels.telegram 下添加:

{
  "customCommands": [
    {
      "command": "topic",
      "description": "从消息创建新的论坛话题"
    }
  ]
}

限制

  • 归属: 被引用的消息显示为由机器人发送(Telegram API 限制)。发送者名称作为归属文本包含在引用下方。
  • 媒体: 转发的媒体消息会显示“转发自”的标题 —— 这是目前可用的最佳方案,但并非原生效果。
  • 仅限论坛群组: 在普通群组或私聊中无效。
  • 权限: 机器人需要管理员权限和“管理话题”权限。
  • 标题长度: Telegram 限制话题名称最多 128 个字符。
17 次点击  ∙  0 人收藏  
登录后收藏  
0 条回复
关于 ·  帮助 ·  PING ·  隐私 ·  条款   
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
耗时 26 ms
Developed with Cursor