littlebot
Published on 2025-04-08 / 0 Visits
0

【源码】基于Python的FlyBot聊天机器人系统

项目简介

FlyBot是一个可部署在 fly.io 上的Telegram机器人,用户能在Telegram里直接使用chatGPT和Google的Gemini。同时,该项目提供Web API,便于开发者基于此开发自己的chatGPT应用,借助fly.io进行网络中转,突破openai的地域限制以正常使用chatGPT服务。

项目的主要特性和功能

  1. 支持在Telegram中使用chatGPT和Google的Gemini进行对话。
  2. 提供Web API服务,可用于开发自己的chatGPT应用,支持网络中转突破地域限制。
  3. 机器人提供多个命令,如 /help、/chatid、/uid、/use、/reset 等,方便用户使用和管理。
  4. 通过fly.io的secrets配置关键信息,保障信息安全。

安装使用步骤

安装步骤

  1. 通过Web Cli部署:
    • 点击右侧的 flyctl launch 按钮,按提示输入相关信息(App Name可留空,Select organization选默认,Select region推荐美国、日本、新加坡等地区,deploy先不选)。
    • 若Web Cli未显示FlyBot项目,点击左侧底部的 Launch Web Cli 按钮,进入终端后执行以下命令手动触发部署操作: cd FlyBot flyctl launch
  2. 配置变量:使用以下命令配置关键变量: flyctl secrets set OPENAI_API_KEY="your-openai-api-key" flyctl secrets set TEL_BOT_TOKEN="your-telegram-bot-token" flyctl secrets set ADMIN_UID="your-telegram-user-id" flyctl secrets set WEB_TOKEN="your-web-token" flyctl secrets set GOOGLE_API_KEY="your-google-api-key"
  3. 部署、启动应用:执行以下命令进行部署: fly deploy

使用步骤

机器人使用

向机器人直接提问即可使用chatGPT,可使用以下命令: - /help:显示机器人所有命令 - /chatid:获取当前的会话id - /uid:获取用户user id - /use:切换gpt和gemini,如 /use gpt/use gemini - /reset:重置模型,目前仅对gemini有效

Web API使用

  • /api/status
    • 功能:获取运行状态,返回OK表示FlyBot已成功部署且正常运行。
    • 方法:GET
    • 参数:无
  • /api/chat
    • 功能:向chatGPT发起问题并获取回复。
    • 方法:POST
    • 参数:Token(放到Header中,即之前设置的WEB_TOKEN);text(json参数,即向chatGPT发起的问题)
    • 返回: { "status": 0, "msg": "OK", "result": { "response": "" } } 当status不为0时,说明请求出错;response即chatGPT返回的内容。
    • 示例: curl -d '{"text":"推荐一首歌"}' -H "Token: your-web-token" -H "Content-Type: application/json" -X POST http://your-app-name.fly.dev/api/chat

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】