{"id":13617366,"url":"https://github.com/V-know/ChatGPT-Telegram-Bot","last_synced_at":"2025-04-14T06:33:34.970Z","repository":{"id":170639854,"uuid":"599216725","full_name":"V-know/ChatGPT-Telegram-Bot","owner":"V-know","description":"A Telegram bot with a silky smooth AI experience. UI enabled.","archived":false,"fork":false,"pushed_at":"2025-02-18T15:29:21.000Z","size":2458,"stargazers_count":610,"open_issues_count":0,"forks_count":85,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-02-18T16:30:57.553Z","etag":null,"topics":["chatgpt","python","telegram"],"latest_commit_sha":null,"homepage":"https://t.me/RoboAceBot","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/V-know.png","metadata":{"files":{"readme":"README-zh.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"ko_fi":"Cancellara"}},"created_at":"2023-02-08T17:35:15.000Z","updated_at":"2025-02-18T15:29:22.000Z","dependencies_parsed_at":null,"dependency_job_id":"3fd3e45b-ea27-42af-8391-6845a6123c87","html_url":"https://github.com/V-know/ChatGPT-Telegram-Bot","commit_stats":null,"previous_names":["v-know/chatgpt-telegram-bot"],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/V-know%2FChatGPT-Telegram-Bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/V-know%2FChatGPT-Telegram-Bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/V-know%2FChatGPT-Telegram-Bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/V-know%2FChatGPT-Telegram-Bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/V-know","download_url":"https://codeload.github.com/V-know/ChatGPT-Telegram-Bot/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248834877,"owners_count":21169103,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chatgpt","python","telegram"],"created_at":"2024-08-01T20:01:40.562Z","updated_at":"2025-04-14T06:33:34.940Z","avatar_url":"https://github.com/V-know.png","language":"Python","readme":"# ChatGPT Telegram Bot\n\n![python-version](https://img.shields.io/badge/python-3.9+-blue.svg)\n[![python-telegram-bot-version](https://img.shields.io/badge/PythonTelegramBot-20.3+-critical.svg)](https://github.com/python-telegram-bot/python-telegram-bot/releases/tag/v20.3)\n![db](https://img.shields.io/badge/db-MySQL8-ff69b4.svg)\n[![openai-version](https://img.shields.io/badge/openai-1.19.0-orange.svg)](https://openai.com/)\n[![license](https://img.shields.io/badge/License-MIT-brightgreen.svg)](LICENSE)\n[![bot](https://img.shields.io/badge/TelegramBot-@RoboAceBot-blueviolet.svg)](https://t.me/RoboAceBot)\n\n[English](README.md) | 中文\n\n一个拥有丝滑AI体验的Telegram Bot\n\n## ⚡Feature\n\n[✓] 同时支持Azure OpenAI和原生OpenAI接口\n\n[✓] 实时（流式）返回AI响应的答案，体验更快捷、更丝滑\n\n[✓] 基于OpenAI DALL·E 3的文生图\n\n[✓] 预设15种Bot身份，可快速切换\n\n[✓] 支持自定义Bot身份，满足个性化需求\n\n[✓] 支持上下文件内容一键清空，随时重开会话\n\n[✓] Telegram Bot 原生按钮支持，直观快捷实现需要功能\n\n[✓] 用户等级划分，不同等级享有不同单次会话Token数量、上下文数量和会话频率\n\n[✓] 支持中/英双语切换\n\n[✓] 容器化\n\n[✓] More ...\n\n![demo](demo.gif)\n\n## 👨‍💻TODO\n\n[x] 允许用户在Bot中使用自己的OpenAI Key,以获得更多自由\n\n[x] 完善ErrorHandler\n\n## 🤖快速体验\n\nTelegram Bot: [RoboAceBot](https://t.me/RoboAceBot)\n\n## 🛠️部署\n\n### 安装依赖\n\n```shell\npip install -r requirements.txt\n```\n\n### 配置数据库\n\n#### 安装数据库\n\n你可以使用下面的命令快速创建本地MySQL数据库\n\n```shell\ndcker-compose up -d -f db/docker-dompose.yaml\n```\n\n#### 初始化数据库\n\n```shell\nmysql -uusername -p -e \"source db/database.sql\"\n```\n\n### 添加配置\n\n需要的所有配置都在`config.yaml`中，文件格式内容，请参考`config.yaml.example`\n\n| Parameter           | Optional | Description                                                                                                |\n|---------------------|----------|------------------------------------------------------------------------------------------------------------|\n| `BOT`.`TOKEN`       | No       | 从[@botFather](https://t.me/BotFather)创建bot并获取Token                                                         |\n| `DEVELOPER_CHAT_ID` | No       | bot出错时，接收信息的TG帐号ID, ID可以从[@get_id_bot](https://t.me/get_id_bot) 获取                                         |\n| `MYSQL`             | No       | MySQL连接相关的参数                                                                                               |\n| `TIME_SPAN`         | No       | 计算rate limit所用的时间窗口大小，单位：分钟                                                                                |\n| `RATE_LIMIT`        | No       | `key`为用户等级，`value`为TIME_SPAN时间内可以聊天的最大数量                                                                   |\n| `CONTEXT_COUNT`     | No       | `key`为用户等级，`value`为每次聊天所包含的上下文数量                                                                           |\n| `MAX_TOKEN`         | No       | `key`为用户等级, `value`为每次聊天AI返回节点的最大Token数                                                                    |\n| `AI`.`TYPE`         | Yes      | 使用的是AI类型，有`openai`和`azure`两个选项，默认为`openai`                                                                 |                           \n| `AI`.`BASE`         | Yes      | 从 Azure 门户检查资源时，可在“密钥和终结点”部分中找到此值。 或者，可以在“Azure OpenAI Studio”\u003e“操场”\u003e“代码视图”中找到该值, 仅当`AI`.`TYPE`为`zaure`里需要设置 |\n| `AI`.`VERSION`      | Yes      | Azure OpenAI的版本号, 仅当`AI`.`TYPE`为`zaure`时需要设置                                                               |\n| `AI`.`MODEL`        | Yes      | Azure OpenAI的Deployment名, 或OpenAI所使用的 Model 名                               |\n\n如果你使用的是Azure的OpenAI，你可在这个链接里获取所需的所有内容：\n\n[开始通过 Azure OpenAI 服务使用 ChatGPT 和 GPT-4](https://learn.microsoft.com/zh-cn/azure/cognitive-services/openai/chatgpt-quickstart?pivots=programming-language-python\u0026tabs=command-line)\n\n## 🚀启动\n\n```shell\npython main.py | tee \u003e\u003e debug.log\n```\n\n### Docker build \u0026 Run\n\n```shell\ndocker run --rm --name chatgpt-telegram-bot -v ./config.yaml:/app/config.yaml ghcr.io/v-know/chatgpt-telegram-bot:latest\n```\n\n### Docker Compose\n\n```shell\ndocker-compose up -d\n```\n## ❤️写在最后\n\n希望本项目在给你丝滑AI体验的同时，能帮助更多人接触并开始创建和使用自己的Telegram Bot\n\n## Star History\n\n[![Star History Chart](https://api.star-history.com/svg?repos=v-know/chatgpt-telegram-bot\u0026type=Date)](https://star-history.com/#v-know/chatgpt-telegram-bot\u0026Date)","funding_links":["https://ko-fi.com/Cancellara"],"categories":["Python"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FV-know%2FChatGPT-Telegram-Bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FV-know%2FChatGPT-Telegram-Bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FV-know%2FChatGPT-Telegram-Bot/lists"}