mcpField
T
telegram-send

telegram-send

github.com/sqrdao生产力137 次安装2 天前更新
代码仓库

关于 telegram-send

telegram-send 是一项 Agent 技能,可查找机器人曾互动过的 Telegram 群组,并向指定聊天发送消息。支持选择单个群组或按关键词批量发送。

主要功能

  1. 01列出机器人已知群组
  2. 02向指定聊天发送消息
  3. 03向关键词匹配群组发送
  4. 04支持 Markdown 消息格式

适用场景

  1. 01查找目标群组的聊天 ID
  2. 02向匹配群组广播更新

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/sqrdao/sqrskills --skill telegram-send

安装后在 Claude Code 中输入/telegram-send确认已加载。

附带文件scripts/list_groups.pyscripts/send.py

详细介绍

telegram-send

向 Agent 的 Telegram 机器人可以访问的 Telegram 群组和频道发送消息。

概述

此技能允许用户指示 Agent 向机器人此前互动过的任意 Telegram 群组或频道广播消息。

必需的环境变量

  • TELEGRAM_BOT_TOKEN — Telegram 机器人令牌。若未在环境中设置,则会从 ~/.nanobot/config.json 中的 channels.telegram.token 自动发现(使用 NANOBOT_CONFIG 覆盖路径)。

以下命令中的 $SKILL_DIR 表示此技能的安装目录。如果 Agent 未自动设置该变量,请在运行命令前将其替换为 telegram-send 目录的路径。

可选(YouAI 运行时)

  • YOUAI_API_URL — YouAI 后端 URL(在不存在本地会话时用于备用群组发现)
  • YOUAI_TWIN_ID — Twin ID(须与 YOUAI_API_URL 一同设置)

命令

列出已知群组
python3 "$SKILL_DIR/scripts/list_groups.py"

返回机器人互动过的群聊 JSON 数组:

[
  {"chat_id": -1001234567890, "name": "Team Chat", "type": "supergroup"},
  {"chat_id": -987654321, "name": "Marketing", "type": "group"}
]

如果尚无已知群组或无法连接后端,则返回 []。

向指定聊天发送消息
python3 "$SKILL_DIR/scripts/send.py" <chat_id> "<message>"

示例:

python3 "$SKILL_DIR/scripts/send.py" -1001234567890 "Meeting at 3pm today!"

成功时会在 stdout 输出一条 JSON 结果并以状态码 0 退出;失败时以状态码 1 退出(诊断信息会输出到 stderr)。

向所有名称匹配关键词的群组发送消息
python3 "$SKILL_DIR/scripts/send.py" --keyword <substr> "<message>"

获取所有已知群组,按名称筛选(不区分大小写的子串匹配),并向每个匹配群组发送消息。

示例:

python3 "$SKILL_DIR/scripts/send.py" --keyword crypto "Market update: BTC up 5%!"

输出一条包含各群组成功或错误记录的 JSON 结果。如果所有发送都成功,则以状态码 0 退出;如果有任何发送失败,则以状态码 1 退出。

使用说明

  1. 用户要求向指定群组发送消息时,先运行 list_groups.py 以查找可用群组,并将目标群组名称解析为 chat_id。
  2. 如果列表中没有用户指定的群组,请告知用户,机器人尚未收到该群组发来的任何消息(必须先将机器人添加到群组,并至少收到一条消息,该群组才会出现在列表中)。
  3. 使用解析出的 chat_id 和消息文本运行 send.py。
  4. 切勿猜测或编造 chat_id。
  5. 用户要求向多个名称匹配关键词的群组发送消息(例如“发送给所有加密货币群组”)时,请使用 send.py --keyword <substr> "<message>" — 此命令会在内部完成查找和群发。

备注

  • 只有至少向此机器人/Agent 发送过一条消息的群组才可被发现。
  • name 通过 Telegram Bot API(getChat)并使用 TELEGRAM_BOT_TOKEN 解析。如果机器人已被移出群组,name 将为 null — 重新将机器人添加到群组后,chat_id 仍可用于发送消息。
  • 发送成功的前提是机器人仍是群组成员。
  • 消息支持标准 Markdown 格式:**bold**、*italic*、_italic_、`code`、```code blocks```、~~strikethrough~~。代码片段会原样保留,文本内容则会转换为 Telegram HTML。

相关技能

评论

支持 Markdown