用途
Telegram Bot 用于通过 Telegram Bot API 发送消息并管理 Telegram 机器人。它面向需要以命令行或脚本方式与 Telegram 机器人交互的场景,例如向指定会话推送文本或图片、读取机器人收到的更新、查询机器人自身信息。
主要能力
该技能基于 Telegram Bot API 提供以下操作:
- 发送消息:调用 sendMessage 端点,向指定 chat_id 发送文本内容。
- 获取更新:调用 getUpdates 端点,读取机器人收到的消息更新,可限制返回数量(示例中为 limit=10)。
- 获取机器人信息:调用 getMe 端点,查询机器人自身信息。
- 发送图片:调用 sendPhoto 端点,以 multipart 表单方式上传本地图片文件,并可附带说明文字(caption)。
使用方式
使用前需要配置环境变量:
- TELEGRAM_BOT_TOKEN:来自 @BotFather 的机器人令牌。
发送消息示例:
curl -s -X POST \
"https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/sendMessage" \
-H "Content-Type: application/json" \
-d '{"chat_id":"CHAT_ID","text":"Hello from ThinkFleetBot!"}' | jq '{ok, result: {message_id, chat: .result.chat.title}}'
获取更新示例:
curl -s "https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/getUpdates?limit=10" | jq '.result[] | {update_id, message: {from: .message.from.username, text: .message.text}}'
获取机器人信息示例:
curl -s "https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/getMe" | jq '.result'
发送图片示例:
curl -s -X POST \
"https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/sendPhoto" \
-F "chat_id=CHAT_ID" -F "photo=@/path/to/photo.jpg" -F "caption=Photo caption" | jq '{ok}'
适用场景
- 通过脚本或命令行向 Telegram 会话推送通知或消息。
- 读取机器人收到的消息更新,用于后续处理。
- 查询机器人基本信息以确认配置是否正确。
- 向指定会话发送图片并附带说明文字。
限制与注意事项
- 需要有效的机器人令牌(TELEGRAM_BOT_TOKEN),该令牌来自 @BotFather。
- 需要先向机器人发送一条消息,然后通过 getUpdates 获取 chat_id。
- 资料中明确提示:发送消息前应始终进行确认。
- 关于调用频率限制、消息长度上限、支持的媒体类型范围、错误码处理等细节,资料中暂未提供。
- 关于收费、价格或平台支持范围,资料中暂未提供。