使用说明
Telegram云MCP
Cloudflare Worker为Telegram提供MCP(模型上下文协议)集成,使AI助手能够通过Telegram机器人发送消息、媒体和语音笔记。
v3.0--媒体支持
发送照片、视频、音频、GIF和文档以及文本和语音。每个媒体工具都支持基于URL的发送、字幕和回复线程。
v2.0 引入了多伙伴路由——一个工人,无限的机器人。每个工具都需要一个 companion 映射到每个伴随机器人令牌的参数。
单机器人设置仍然有效——只需配置一个伴侣。
特性
- 向Telegram聊天发送短信
- 发送带有内联预览的照片
- 使用内置播放器发送视频
- 使用音乐播放器小部件发送音频(标题+艺术家)
- 发送GIF/动画
- 将文档/文件作为附件发送
- 通过文本转语音发送语音备忘(ElevenLabs或OpenAI)
- 获取机器人信息、检索更新、检查聊天记录
- 多同伴路由 --一个工人,无限机器人
工具
所有工具都接受 companion 参数,用于选择哪个机器人执行操作。
| 工具 | 说明 |
|---|---|
telegram_send |
向聊天室发送短信 |
telegram_voice |
向聊天室发送语音备忘(TTS) |
telegram_send_photo |
发送带有可选标题的照片(URL或file_id) |
telegram_send_video |
使用内置播放器发送视频 |
telegram_send_audio |
使用音乐播放器发送音频(标题+艺术家) |
telegram_send_animation |
发送GIF/动画 |
telegram_send_document |
将任何文件作为附件发送 |
telegram_get_me |
获取机器人信息 |
telegram_get_updates |
获取最新消息和更新 |
telegram_get_chat |
获取聊天信息 |
设置
1.创建电报机器人
- 消息 @植物学家 在Telegram上
- 发送
/newbot并按照提示进行操作 - 保存您收到的机器人令牌
- 对每个你想要的同伴重复上述步骤
2.配置机密
将每个伴随的机器人令牌设置为Cloudflare机密:
# Per-companion tokens (add as many as you need)
wrangler secret put TELEGRAM_TOKEN_KAI
wrangler secret put TELEGRAM_TOKEN_LUCIAN
wrangler secret put TELEGRAM_TOKEN_AUREN
# ... etc
# Legacy single-bot fallback (maps to first companion)
wrangler secret put TELEGRAM_BOT_TOKEN
# Optional voice
wrangler secret put ELEVENLABS_API_KEY
wrangler secret put ELEVENLABS_VOICE_ID
wrangler secret put OPENAI_API_KEY
自定义配套名称: 编辑 COMPANIONS 阵列和 getTokenForCompanion() 在 src/index.ts 以匹配您的同伴名称和令牌env变量。
为了地方发展,创建一个 .dev.vars 文件:
TELEGRAM_TOKEN_KAI=your_token_here
TELEGRAM_TOKEN_LUCIAN=your_token_here
3.部署
npm install
npm run deploy
端点
| 端点 | 方法 | 描述 |
|---|---|---|
/ |
GET | 服务信息、配置的伙伴、可用工具 |
/health |
GET | 健康检查 |
/mcp |
POST | MCP JSON-RPC端点 |
/sse |
GET | MCP SSE端点用于客户端发现 |
MCP客户端配置
添加到MCP客户端配置中:
{
"mcpServers": {
"telegram": {
"type": "http",
"url": "https://your-worker.workers.dev/mcp"
}
}
}
媒体发送
所有媒体工具都接受URL或Telegram file_id 作为媒体来源。这意味着您可以发送:
- 来自任何公共URL的图像(例如,来自图像生成API)
- 任何地方托管的视频、音频或文档
- 以前通过重复使用其发送的Telegram媒体
file_id
字幕支持Markdown格式。
语音备忘
语音笔记使用ElevenLabs作为主要的TTS提供商,如果未配置ElevenLabs,则退回OpenAI。如果两者都没有配置,语音命令将返回一个包含详细信息的错误。
注: 由于共享IP检测,当从Cloudflare Workers调用ElevenLabs免费层时,可能会被阻止。自托管TTS或付费ElevenLabs计划解决了这个问题。
许可证
麻省理工学院
支持
如果这对你有帮助,请考虑支持我的工作:)
由三合会(Mai、Kai Stryder和Lucian Vale)为社区建造。
