#!/bin/bash # # Funstat MCP 自动部署脚本 # 用途:帮助新用户快速部署和配置 Funstat MCP 工具 # set -e # 遇到错误立即退出 echo "==========================================" echo "🚀 Funstat MCP 工具 - 自动部署向导" echo "==========================================" echo "" # 颜色定义 RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[1;33m' NC='\033[0m' # No Color # 检查 Python echo "📋 检查前置要求..." echo "" if ! command -v python3 &> /dev/null; then echo -e "${RED}❌ 未找到 Python 3${NC}" echo "请先安装 Python 3.10 或更高版本" echo "访问:https://www.python.org/downloads/" exit 1 fi PYTHON_VERSION=$(python3 --version | cut -d' ' -f2) echo -e "${GREEN}✅ Python 版本: $PYTHON_VERSION${NC}" # 检查 pip if ! command -v pip3 &> /dev/null; then echo -e "${RED}❌ 未找到 pip3${NC}" exit 1 fi echo -e "${GREEN}✅ pip3 已安装${NC}" echo "" # 安装依赖 echo "==========================================" echo "📦 安装 Python 依赖包" echo "==========================================" echo "" if [ ! -f "requirements.txt" ]; then echo -e "${RED}❌ 未找到 requirements.txt${NC}" echo "请确保在 funstat_mcp 目录中运行此脚本" exit 1 fi echo "正在安装依赖..." pip3 install -r requirements.txt --quiet if [ $? -eq 0 ]; then echo -e "${GREEN}✅ 依赖安装成功${NC}" else echo -e "${RED}❌ 依赖安装失败${NC}" exit 1 fi echo "" # 配置 API 凭证 echo "==========================================" echo "🔑 配置 Telegram API 凭证" echo "==========================================" echo "" echo -e "${YELLOW}重要:每个用户需要申请自己的 API 凭证${NC}" echo "" echo "步骤:" echo "1. 访问:https://my.telegram.org/apps" echo "2. 登录你的 Telegram 账号" echo "3. 创建新应用(如果还没有)" echo "4. 获取 API ID 和 API Hash" echo "" read -p "你已经获取了 API 凭证吗?(y/n): " has_credentials if [ "$has_credentials" != "y" ]; then echo "" echo "请先获取 API 凭证,然后重新运行此脚本" echo "运行命令:./setup.sh" exit 0 fi echo "" read -p "请输入你的 API ID: " api_id read -p "请输入你的 API Hash: " api_hash # 验证输入 if [ -z "$api_id" ] || [ -z "$api_hash" ]; then echo -e "${RED}❌ API 凭证不能为空${NC}" exit 1 fi # 创建 .env 文件 echo "" echo "正在创建配置文件..." cat > .env << EOF # Telegram API 凭证 # 请妥善保管,不要分享给他人 TELEGRAM_API_ID=$api_id TELEGRAM_API_HASH=$api_hash EOF chmod 600 .env echo -e "${GREEN}✅ API 凭证已保存到 .env 文件${NC}" echo "" # 更新 .gitignore if [ ! -f ".gitignore" ]; then cat > .gitignore << EOF .env *.session *.session-journal __pycache__/ *.pyc .DS_Store EOF echo -e "${GREEN}✅ 创建了 .gitignore 文件${NC}" fi echo "" # 创建 Session echo "==========================================" echo "📱 创建 Telegram Session" echo "==========================================" echo "" echo "现在需要登录你的 Telegram 账号来创建 session 文件" echo -e "${YELLOW}注意:验证码会发送到你的 Telegram 应用${NC}" echo "" read -p "准备好了吗?按 Enter 继续..." # 检查是否存在 create_session_safe.py if [ -f "../create_session_safe.py" ]; then python3 ../create_session_safe.py elif [ -f "create_session_safe.py" ]; then python3 create_session_safe.py else echo -e "${RED}❌ 未找到 create_session_safe.py${NC}" echo "请确保项目文件完整" exit 1 fi echo "" # 检查 session 是否创建成功 if [ -f ~/telegram_sessions/funstat_bot.session ]; then echo -e "${GREEN}✅ Session 创建成功${NC}" else echo -e "${RED}❌ Session 创建失败${NC}" echo "请检查上面的错误信息" exit 1 fi echo "" # 测试 echo "==========================================" echo "🧪 测试 MCP 服务器" echo "==========================================" echo "" if [ -f "test_server.py" ]; then echo "正在测试连接..." python3 test_server.py if [ $? -eq 0 ]; then echo "" echo -e "${GREEN}✅ 测试通过!${NC}" else echo "" echo -e "${YELLOW}⚠️ 测试遇到问题,但可能不影响使用${NC}" fi else echo -e "${YELLOW}⚠️ 未找到测试脚本,跳过测试${NC}" fi echo "" # 配置 Claude Code echo "==========================================" echo "⚙️ 配置 Claude Code" echo "==========================================" echo "" CURRENT_DIR=$(pwd) echo "请将以下配置添加到 Claude Code 配置文件:" echo "" echo -e "${YELLOW}配置文件位置:${NC}" echo " macOS: ~/Library/Application Support/Claude/claude_desktop_config.json" echo " Linux: ~/.config/claude-code/config.json" echo "" echo -e "${YELLOW}添加以下内容:${NC}" echo "" echo '{ "mcpServers": { "funstat": { "command": "python3", "args": [ "'$CURRENT_DIR'/server.py" ] } } }' echo "" read -p "按 Enter 继续..." # 完成 echo "" echo "==========================================" echo "🎉 部署完成!" echo "==========================================" echo "" echo -e "${GREEN}下一步:${NC}" echo "" echo "1. 配置 Claude Code(复制上面的配置)" echo "2. 完全退出并重启 Claude Code" echo "3. 在 Claude Code 中测试:" echo " \"帮我搜索 Python 学习群组\"" echo "" echo -e "${YELLOW}安全提醒:${NC}" echo "• .env 文件包含你的 API 凭证,不要分享给他人" echo "• ~/telegram_sessions/ 目录包含 session,不要提交到 Git" echo "• 建议定期备份 session 文件" echo "" echo -e "${GREEN}文档:${NC}" echo "• 快速开始:QUICK_START_GUIDE.md" echo "• Session 管理:SESSION_MANAGEMENT.md" echo "• 完整文档:README.md" echo "" echo "🎊 享受使用 Funstat MCP 工具!" echo ""