Project Icon

TeleGPT

基于teloxide框架和async_openai的Telegram聊天机器人

TeleGPT是一个基于teloxide框架和async_openai的Telegram聊天机器人,支持通过API密钥访问最新的ChatGPT模型。其主要功能包括实时消息流、Markdown渲染、聊天统计、文件配置及管理员功能。适用于个人和群组聊天,可通过Docker部署或源码构建,便于自定义设置和用户访问控制。

TeleGPT 项目介绍

TeleGPT 是一个开箱即用的 Telegram 聊天机器人,它在 teloxide 框架和 async_openai 的支持下开发,能够通过个人 API 密钥方便地与最新的 ChatGPT 模型互动。

功能特色

  • 快速响应: 以纯 Rust 语言编写,保证极高的运行速度。
  • 全方位对话支持: 无论是私人聊天还是群组聊天,均能流畅运行。
  • 实时消息流: 能够将直播消息流传送至消息气泡中。
  • 支持 Telegram 特有的 Markdown 渲染:
  • 令牌使用统计: 可通过命令记录和查询令牌使用情况。
  • 完全可定制化: 支持基于文件的配置,适应用户的个性化需求。
  • 管理功能(测试版): 包含用户访问控制功能。

获取 TeleGPT

Docker 部署

对于有专用服务器需求的用户,建议使用预构建的 Docker 镜像进行部署。这些镜像通过 GitHub 容器注册表发布,支持 amd64 架构的机器。

  1. 登录 GitHub 容器注册表(如未授权则需要此操作):
docker login -u your_github_username -p your_personal_access_token https://ghcr.io
  1. 创建配置文件 config.json
cp config.json.example config.json

根据需求填写 config.json 中的令牌信息:

  • 获取 Telegram 机器人令牌
  • 获取 OpenAI API 令牌
  1. 启动 Docker 容器:
docker-compose up -d

其他有用的命令:

docker-compose logs -f
docker-compose down
docker-compose pull

从 GitHub 发布页面下载

用户还可以从发布页面下载预构建的二进制文件以进行内部部署或测试。目前支持 Linux 和 macOS(Intel 和 Apple Silicon)。

从源码构建

可以克隆仓库并运行以下命令:

$ cargo build --release

使用方法

执行机器人之前,需要创建一个配置文件。程序默认从当前工作目录读取 telegpt.config.json,用户也可通过 -c 参数指定配置文件路径。

配置文件示例:

{
  "openaiAPIKey": "sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
  "botToken": "8888888888:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
  "adminUsernames": ["cyandev"],
  "conversationLimit": 30,
  "databasePath": "./path/to/telegpt.sqlite",
  "i18n": {
    "resetPrompt": "I’m ready for a new challenge. What can I do for you now?"
  }
}

启动机器人:

$ /path/to/telegpt

当看到 Bot is started 字样时,表示机器人已启动!

启用详细日志

注意:用户输入将在 DEBUG 级别记录。为保护用户隐私,生产环境中请勿启用。

在调试过程中,可以通过设置 RUST_LOG 环境变量启用详细日志:

$ RUST_LOG=TRACE /path/to/telegpt

管理功能(测试版)

该功能依赖于数据库存储配置。为确保数据在重新启动后不丢失,需在配置文件中设置数据库路径。

机器人内置了一些基本的管理功能,可以控制允许哪些用户使用机器人,并动态更改成员列表。

默认情况下,机器人对所有用户开放,这可能会导致大量令牌消耗。如果希望仅限少数人使用,可以发送 /set_public off 命令将其设为私有模式。若需恢复公开,则发送 /set_public on

在私有模式下,只有管理员用户和被邀请的成员可以与机器人对话。可以通过 /add_member/del_member 命令添加或删除成员,参数为 用户名

数据库

机器人使用 SQLite 数据库存储运行时产生的数据。默认情况下,若未提供本地文件路径,将存储在内存数据库中。建议使用基于文件的数据库以提高可用性。

项目规划

TeleGPT 将被积极维护,计划开发一些新功能,包括:

  • 指数补偿重试机制
  • 对话预设
  • 更友好的管理操作接口
  • 使用 HTTP API 进行远程控制

贡献

欢迎提交问题和拉取请求。建议在提交新问题或拉取请求前查看现有的内容,并在开始工作前进行讨论和功能请求。

许可

本项目基于 MIT 许可证。

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号