搭建一个Telegram 机器人 并接入 Gemini API 进行图片创作

发布时间: 2025-02-19 热度: 1069

搭建一个Telegram 机器人 并接入 Gemini API 进行图片创作

1. 准备工作

1.1 获取 Gemini API Key

  • 访问 https://aistudio.google.com/ 并登录你的 Google 账号。
  • 在 API 密钥管理 部分,生成一个新的 API Key(gemini_token)。
  • 确保你的网络环境可以访问 Google 服务(可能需要 VPN 或代理)。

1.2 创建 Telegram 机器人

  • 在 Telegram 中搜索 @BotFather,发送 /newbot 命令,按照提示创建机器人。
  • 获取机器人的 Token(格式为 数字:字母),保存备用。

2. 选择开发方式

你可以选择以下两种方式之一来开发机器人:

2.1 使用现成框架(推荐)

  • MuseBot 或 AstrBot:这些开源框架支持多平台(包括 Telegram)和多种大模型(如 Gemini),适合快速部署。


支持平台

平台 支持情况 简要说明 文档 / 链接
🟦 Telegram 支持 Telegram 机器人(基于 go-telegram-bot-api,可处理命令、内联按钮、ForceReply 等) 文档
🌈 Discord 支持 Discord 机器人 文档
🌛 Web API 提供 HTTP/Web API 与 LLM 交互(适合构建自己的前端或后端集成) 文档
🔷 Slack 支持 Slack(Socket Mode / Events API / Block Kit 交互) 文档
🟣 Lark(飞书) 支持 Lark 长连接与消息处理(基于 larksuite SDK,支持图片/音频下载与消息更新) 文档
🆙 钉钉 支持钉钉长链接服务 文档
⚡️ Work WeChat 支持企业微信触发大模型 文档
⚡️ QQ 支持QQ机器人触发大模型 文档
⚡️ WeChat 支持微信触发大模型 文档

支持的大型语言模型

模型 提供方 文本生成 图片生成 视频生成 识别照片 返回语音 链接
🌟 Gemini 谷歌 文档
💬 ChatGPT OpenAI 文档
🐦 Doubao 字节跳动 文档
🐦 Qwen 阿里云 文档
⚙️ 302.AI 302.AI 文档
🧠 DeepSeek DeepSeek 文档
🌐 OpenRouter OpenRouter 文档
🌐 ChatAnywhere ChatAnywhere 文档

2.2 自行编写代码(Python 示例)

如果你希望更灵活地控制功能,可以使用 Python 的 python-telegram-bot 库和 google-generativeai SDK:

  1. 安装依赖库
    pip install python-telegram-bot google-generativeai
  2. 编写代码python
    from telegram import Update
    from telegram.ext import Application, CommandHandler, MessageHandler, filters
    import google.generativeai as genai
    
    # 配置 Gemini
    genai.configure(api_key="你的Gemini_API_KEY")
    model = genai.GenerativeModel('gemini-pro-vision')  # 用于图像生成
    
    # 处理 /start 命令
    async def start(update: Update, context):
        await update.message.reply_text("欢迎使用图片创作机器人!发送描述生成图片。")
    
    # 处理用户输入的文本生成图片
    async def generate_image(update: Update, context):
        prompt = update.message.text
        response = model.generate_content(f"生成图片:{prompt}")  # 实际调用需根据 Gemini 图片 API 调整
        image_url = response.images[0].url  # 假设返回图片 URL
        await update.message.reply_photo(image_url)
    
    # 主程序
    app = Application.builder().token("你的Telegram_Bot_Token").build()
    app.add_handler(CommandHandler("start", start))
    app.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, generate_image))
    app.run_polling()
    注意:Gemini 2.5 Flash Image 的 API 调用可能需要额外参数(如 image_config 指定比例)。

3. 部署机器人

3.1 本地测试

  • 直接运行代码,通过 Telegram 与机器人交互测试功能。

3.2 服务器部署

  • 推荐使用 VercelRender 或 Docker 部署:
    • 如果是 Python 项目,可用 docker-compose 打包。
    • 对于 MuseBot/AstrBot,参考其文档部署到云服务器。


3.3 内网穿透(可选)

  • 如果本地开发需要外网访问,可使用 cpolar 或 ngrok 暴露端口。

4. 功能扩展

  • 多模态支持:结合 Gemini 的文本+图像理解能力,实现更复杂的指令(如“修改图片背景”)。
  • 成本优化:通过代理服务(如 laozhang.ai)降低 API 调用成本。
  • 用户管理:添加 /balance 查询额度、/clear 清除上下文等功能。

5. 参考资源

在下方留下您的评论.加入TG群.打赏🍗