Skip to main content
Glama

Telegram MCP Server

by batianVolyc
TOOLS_GUIDE.md8.11 kB
# MCP 工具使用指南 ## 📋 工具概览 ### 核心通知工具 | 工具 | 用途 | 推荐度 | 特点 | |------|------|--------|------| | `telegram_notify_with_actions` | ⭐ 智能通知(带按钮) | ⭐⭐⭐⭐⭐ | 提供下一步建议,用户体验最佳 | | `telegram_notify` | 简单通知 | ⭐⭐⭐ | 快速通知,向后兼容 | | `telegram_send_code` | 发送代码 | ⭐⭐ | 仅在必要时使用 | | `telegram_send_file` | 发送文件 | ⭐⭐ | 用户明确要求时使用 | | `telegram_send_image` | 发送图片 | ⭐⭐ | 图表、截图等 | ### 交互工具 | 工具 | 用途 | 推荐度 | |------|------|--------| | `telegram_unattended_mode` | 无人值守循环 | ⭐⭐⭐⭐⭐ | | `telegram_wait_reply` | 等待单次回复 | ⭐⭐⭐ | --- ## ⭐ 推荐:telegram_notify_with_actions ### 为什么推荐? 1. **智能建议**:根据情况提供 2-4 个操作按钮 2. **用户友好**:一键执行,无需手动输入 3. **灵活性**:按钮是建议,用户可以忽略 4. **向后兼容**:不提供按钮时(`actions=[]`)等同于 `telegram_notify` ### 使用场景 #### 1. 任务完成 - 提供下一步建议 ```python telegram_notify_with_actions( event="completed", summary="✅ 完成用户认证模块\n- 实现登录/注册\n- JWT验证\n- 15个测试通过", details="修改文件:auth.py, user.py\n测试覆盖率:95%", actions=[ { "text": "实现权限管理", "action": "继续实现权限管理模块,包括角色和权限分配", "emoji": "💡" }, { "text": "优化性能", "action": "优化数据库查询性能,添加缓存层", "emoji": "⚡" } ] ) ``` **用户看到**: ``` ✅ [project-a] 完成用户认证模块 - 实现登录/注册 - JWT验证 - 15个测试通过 ━━━━━━━━━━━━ 📝 详情: 修改文件:auth.py, user.py 测试覆盖率:95% 💡 这些是建议的下一步,你也可以直接发送其他指令 [按钮: 💡 实现权限管理] [按钮: ⚡ 优化性能] ``` #### 2. 遇到错误 - 提供解决方案 ```python telegram_notify_with_actions( event="error", summary="❌ 导入错误\nModuleNotFoundError: No module named 'jwt'", details="缺少 PyJWT 依赖包", actions=[ { "text": "自动修复", "action": "运行 pip install PyJWT 并重试", "emoji": "🔧" }, { "text": "添加到依赖", "action": "将 PyJWT 添加到 requirements.txt", "emoji": "📝" }, { "text": "显示错误代码", "action": "显示出错位置的代码", "emoji": "🔍" } ] ) ``` #### 3. 需要决策 - 提供选项 ```python telegram_notify_with_actions( event="question", summary="❓ 数据库选择\n需要选择数据库方案", details="方案A:PostgreSQL - 功能强大\n方案B:SQLite - 简单轻量", actions=[ { "text": "PostgreSQL(推荐)", "action": "使用 PostgreSQL,我会配置 docker-compose", "emoji": "1️⃣" }, { "text": "SQLite", "action": "使用 SQLite,适合小型项目", "emoji": "2️⃣" } ] ) ``` #### 4. 简单通知 - 不提供按钮 ```python telegram_notify_with_actions( event="completed", summary="✅ 文件已保存\nconfig.json 已更新", actions=[] # 不提供按钮 ) ``` ### 按钮设计原则 #### ✅ 好的按钮设计 1. **明确具体** - ✅ "💡 优化这 3 处性能瓶颈" - ❌ "优化" 2. **标记推荐** - ✅ "💡 使用 PostgreSQL(推荐)" - ✅ "⚡ 使用 SQLite" 3. **数量适中** - ✅ 2-3 个主要选项 - ❌ 6-7 个选项 4. **使用 emoji** - 💡 = 推荐/建议 - 🔧 = 修复/解决 - 📊 = 查看/详情 - ⚡ = 优化/性能 - 🔍 = 查看/检查 - 1️⃣2️⃣3️⃣ = 选项编号 5. **action 具体明确** - ✅ "运行 pip install PyJWT 并重新执行导入" - ❌ "修复" --- ## 📝 telegram_notify(基础版本) ### 何时使用? - 简单的状态更新(不需要用户交互) - 快速通知(无需提供下一步建议) - 向后兼容旧代码 ### 示例 ```python telegram_notify( event="completed", summary="修复了 auth.py:45 的空指针异常,所有测试通过" ) ``` ### 💡 建议 如果可能,优先使用 `telegram_notify_with_actions`,即使不提供按钮: ```python # 推荐 telegram_notify_with_actions( event="completed", summary="修复了 auth.py:45 的空指针异常,所有测试通过", actions=[] ) # 而不是 telegram_notify( event="completed", summary="修复了 auth.py:45 的空指针异常,所有测试通过" ) ``` --- ## 🔄 telegram_unattended_mode(无人值守) ### 工作流程 ``` 1. 执行任务 ↓ 2. 发送结果(使用 telegram_notify_with_actions) ↓ 3. 调用 telegram_unattended_mode 等待 ↓ 4. 收到指令 ↓ 5. 执行指令,回到步骤 1 ``` ### 完整示例 ```python # 步骤 1: 执行任务 result = analyze_code() # 步骤 2: 发送结果(带智能按钮) telegram_notify_with_actions( event="completed", summary=f"✅ 代码分析完成\n- 发现 {result.issues} 个问题\n- 代码质量:{result.grade}", actions=[ {"text": "💡 自动修复", "action": "自动修复发现的问题", "emoji": "💡"}, {"text": "📊 查看详情", "action": "显示详细的分析报告", "emoji": "📊"} ] ) # 步骤 3: 等待下一步指令 next_instruction = telegram_unattended_mode( current_status="代码分析完成,等待下一步指令" ) # 步骤 4: 执行下一步指令 # AI 会根据 next_instruction 继续执行... ``` ### 最佳实践 1. **总是先发送结果** ```python # ✅ 正确 telegram_notify_with_actions(...) telegram_unattended_mode(...) # ❌ 错误 telegram_unattended_mode(...) # 用户不知道发生了什么 ``` 2. **使用智能按钮** ```python # ✅ 推荐 telegram_notify_with_actions( event="completed", summary="任务完成", actions=[...] # 提供下一步建议 ) # ⚠️ 可以,但不够好 telegram_notify( event="completed", summary="任务完成" ) ``` 3. **静默等待** ```python # telegram_unattended_mode 本身不发送消息 # 用户只看到任务结果,不会看到"等待中..."的提示 ``` --- ## 🎯 决策树:选择合适的工具 ``` 需要发送通知? ├─ 是 → 需要用户交互? │ ├─ 是 → 有明确的下一步建议? │ │ ├─ 是 → telegram_notify_with_actions(带按钮)⭐ │ │ └─ 否 → telegram_notify_with_actions(不带按钮) │ └─ 否 → telegram_notify 或 telegram_notify_with_actions │ ├─ 需要发送代码? │ └─ telegram_send_code(仅在必要时) │ ├─ 需要发送文件? │ └─ telegram_send_file(用户明确要求时) │ └─ 需要等待回复? ├─ 长期无人值守 → telegram_unattended_mode ⭐ └─ 单次等待 → telegram_wait_reply ``` --- ## 📊 使用统计建议 ### 推荐比例 - **telegram_notify_with_actions**: 70%(主要工具) - **telegram_notify**: 20%(简单通知) - **telegram_send_code**: 5%(仅在必要时) - **telegram_send_file**: 5%(用户要求时) ### 按钮使用建议 - **任务完成**: 80% 应该提供按钮 - **遇到错误**: 90% 应该提供按钮 - **需要决策**: 100% 应该提供按钮 - **简单更新**: 20% 提供按钮 --- ## 🔗 相关文档 - **DYNAMIC_BUTTONS_EXAMPLES.md** - 更多按钮示例 - **BOT_IMPROVEMENTS.md** - 技术实现细节 - **README.md** - 项目主文档 --- **记住**:`telegram_notify_with_actions` 是增强版本,即使不提供按钮也可以使用!⭐

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/batianVolyc/telegram-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server