关于 telegram-send
telegram-send 是一项 Agent 技能,可查找机器人曾互动过的 Telegram 群组,并向指定聊天发送消息。支持选择单个群组或按关键词批量发送。
主要功能
- 01列出机器人已知群组
- 02向指定聊天发送消息
- 03向关键词匹配群组发送
- 04支持 Markdown 消息格式
适用场景
- 01查找目标群组的聊天 ID
- 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 退出。
使用说明
- 用户要求向指定群组发送消息时,先运行
list_groups.py以查找可用群组,并将目标群组名称解析为chat_id。 - 如果列表中没有用户指定的群组,请告知用户,机器人尚未收到该群组发来的任何消息(必须先将机器人添加到群组,并至少收到一条消息,该群组才会出现在列表中)。
- 使用解析出的
chat_id和消息文本运行send.py。 - 切勿猜测或编造
chat_id。 - 用户要求向多个名称匹配关键词的群组发送消息(例如“发送给所有加密货币群组”)时,请使用
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。
相关技能
- list-telegram-chats — 在决定发送目标前列出所有已知聊天
评论
支持 Markdown