Skip to main content
Glama

Telegram MCP Server

by batianVolyc
TROUBLESHOOTING.md6.81 kB
# 故障排查指南 ## 🐛 常见问题 ### 问题 1: Telegram Bot 收不到消息 / `/sessions` 命令无响应 **症状**: - 在 Telegram 发送 `/sessions` 没有响应 - 在 Telegram 发送消息,Codex/Claude Code 收不到 - `telegram_unattended_mode` 工具调用失败 **原因**: Telegram Bot 进程没有正常启动。 **诊断**: ```bash # 1. 查看日志 tail -50 /tmp/telegram-mcp-server.log # 2. 查找错误 grep "ERROR" /tmp/telegram-mcp-server.log # 3. 检查 Bot 进程 ps aux | grep telegram-mcp-server ``` **常见错误**: #### 错误 A: `ModuleNotFoundError: No module named 'message_queue'` ``` 2025-10-21 14:19:47,217 - __main__ - ERROR - Bot startup error: No module named 'message_queue' ``` **原因**: 项目根目录有旧的 Python 文件(`server.py`, `bot.py` 等),使用了错误的导入方式。 **解决**: ```bash cd telegram-mcp-server # 删除旧文件 rm -f __main__.py server.py bot.py config.py session.py message_queue.py # 重新安装 ./venv/bin/pip install -e . --force-reinstall --no-deps # 杀掉旧进程 pkill -f telegram-mcp-server rm -f /tmp/telegram-mcp-bot.lock # 重启 Codex/Claude Code ``` #### 错误 B: `Bot already running in another process` ``` 2025-10-21 14:52:35,535 - __main__ - INFO - Telegram bot already running in another process (PID: 25057) ``` **原因**: 有旧的 Bot 进程在运行,但可能已经失效。 **解决**: ```bash # 查找进程 ps aux | grep telegram-mcp-server # 杀掉进程 kill <PID> # 删除锁文件 rm -f /tmp/telegram-mcp-bot.lock # 重启 Codex/Claude Code ``` --- ### 问题 2: `telegram_unattended_mode` 工具调用失败 **症状**: ``` Error: tool call error: tool call failed for `telegram/telegram_unattended_mode` ``` **原因**: Telegram Bot 没有运行,无法处理消息队列。 **解决**: 参考问题 1 的解决方案。 --- ### 问题 3: 会话注册成功,但收不到 Telegram 消息 **症状**: - 日志显示: `Registered session: codex-project` - 日志显示: `HTTP Request: POST https://api.telegram.org/bot.../sendMessage "HTTP/1.1 200 OK"` - 但 Telegram 没有收到消息 **诊断**: ```bash # 检查 Bot Token 和 Chat ID cat ~/.codex/config.toml | grep -A 5 telegram # 或 cat ~/.claude/mcp.json | grep -A 10 telegram ``` **解决**: 1. 确认 Bot Token 正确 2. 确认 Chat ID 正确 3. 在 Telegram 中向 bot 发送 `/start` 4. 重新运行 setup: `telegram-mcp-server --setup` --- ### 问题 4: 多个 MCP 服务器实例冲突 **症状**: - 日志显示多个 "Starting Telegram MCP Server" - 有些实例说 "bot already running" **原因**: 同时启动了多个 Codex/Claude Code 实例。 **解决**: ```bash # 1. 关闭所有 Codex/Claude Code # 按 Ctrl+C 或 Ctrl+D # 2. 清理进程 pkill -f telegram-mcp-server pkill -f codex pkill -f claude # 3. 清理锁文件 rm -f /tmp/telegram-mcp-bot.lock # 4. 重新启动一个实例 codex # 或 claude ``` --- ## 🔍 诊断工具 ### 检查 MCP 服务器状态 ```bash # 查看最新日志 tail -f /tmp/telegram-mcp-server.log # 查看错误 grep "ERROR" /tmp/telegram-mcp-server.log | tail -10 # 查看 Bot 启动 grep "Starting Telegram bot" /tmp/telegram-mcp-server.log | tail -5 ``` ### 检查进程 ```bash # 查找 MCP 服务器进程 ps aux | grep telegram-mcp-server # 查找 Python 进程 ps aux | grep python | grep telegram # 查看进程详情 ps -p <PID> -f ``` ### 检查配置 ```bash # Codex 配置 cat ~/.codex/config.toml # Claude Code 配置 cat ~/.claude/mcp.json # 或项目级配置 cat .mcp.json cat .claude/mcp.json ``` ### 测试 Telegram 连接 ```bash # 设置环境变量 export TELEGRAM_BOT_TOKEN="your_token" export TELEGRAM_CHAT_ID="your_chat_id" # 测试发送消息 curl -X POST "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendMessage" \ -d "chat_id=${TELEGRAM_CHAT_ID}" \ -d "text=Test message" ``` --- ## 🛠️ 完整重置流程 如果所有方法都不行,执行完整重置: ```bash # 1. 停止所有进程 pkill -f telegram-mcp-server pkill -f codex pkill -f claude # 2. 清理文件 rm -f /tmp/telegram-mcp-server.log rm -f /tmp/telegram-mcp-bot.lock rm -f ~/.claude/telegram-mcp-sessions.json rm -f ~/.claude/telegram-mcp-queue.json # 3. 删除旧的 Python 文件(如果存在) cd telegram-mcp-server rm -f __main__.py server.py bot.py config.py session.py message_queue.py # 4. 重新安装 ./venv/bin/pip install -e . --force-reinstall # 5. 重新配置 ./venv/bin/telegram-mcp-server --setup # 6. 重启 codex # 或 claude ``` --- ## 📊 正常工作的标志 ### 日志应该显示 ``` 2025-10-21 XX:XX:XX - __main__ - INFO - Starting Telegram MCP Server... 2025-10-21 XX:XX:XX - __main__ - INFO - Starting Telegram bot (first instance)... 2025-10-21 XX:XX:XX - __main__ - INFO - Starting MCP stdio server... ``` **没有** ERROR 信息。 ### Telegram Bot 命令应该工作 ``` /sessions → 显示会话列表 /help → 显示帮助信息 ``` ### MCP 工具应该工作 在 Codex/Claude Code 中: ``` > /mcp telegram (connected) Tools: 8 ``` 调用工具: ``` > Use telegram_notify to send a test message ✅ 已发送通知到 Telegram ``` --- ## 💡 预防措施 ### 1. 不要在项目根目录放置 Python 文件 ❌ 错误: ``` telegram-mcp-server/ ├── server.py ← 会导致导入冲突 ├── bot.py ← 会导致导入冲突 └── telegram_mcp_server/ ├── server.py ← 正确的文件 └── bot.py ← 正确的文件 ``` ✅ 正确: ``` telegram-mcp-server/ ├── telegram_mcp_server/ │ ├── server.py ← 所有代码在这里 │ └── bot.py └── test_config.py ← 测试脚本可以在根目录 ``` ### 2. 使用一个 AI 助手实例 同时运行多个 Codex/Claude Code 实例会导致冲突。 ### 3. 定期清理 ```bash # 每天清理一次 rm -f /tmp/telegram-mcp-bot.lock rm -f ~/.claude/telegram-mcp-sessions.json rm -f ~/.claude/telegram-mcp-queue.json ``` --- ## 📞 获取帮助 如果问题仍然存在: 1. **收集信息**: ```bash # 保存日志 cp /tmp/telegram-mcp-server.log ~/telegram-mcp-debug.log # 保存配置 cat ~/.codex/config.toml > ~/codex-config.txt cat ~/.claude/mcp.json > ~/claude-config.txt # 保存进程信息 ps aux | grep telegram > ~/telegram-processes.txt ``` 2. **创建 Issue**: https://github.com/batianVolyc/telegram-mcp-server/issues 3. **包含信息**: - 操作系统 - Python 版本 - AI 助手(Codex/Claude Code) - 错误日志 - 配置文件(隐藏敏感信息) --- **记住**: 大多数问题都是因为旧的 Python 文件或进程冲突导致的。删除旧文件并重启通常能解决问题!

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