这是一个 Telegram 机器人,可让您与ChatGPT聊天。该机器人是使用全新的 ChatGPT API创建的。Telegram 机器人在 AWS Lambda 中完全无服务器部署。无需设置本地服务器或在浏览器中登录。
https://github.com/franalgaba/chatgpt-telegram-bot-serverless
特征
- 新的 ChatGPT API 支持。 ?
- 支持语音留言! ?
- Markdown 渲染支持。
初始设置
- 创建一个OpenAI 账户并获得一个 API Key。
- 创建一个AWS 帐户。
- 设置您的电报机器人。您可以按照此说明获取您的令牌。
- 要启用对语音消息的支持,您需要在您的 AWS 账户中创建一个 S3 存储桶。
- 转到顶部搜索栏并写入
S3
.
- 单击创建存储桶按钮。
- 配置存储桶的创建。该名称在全球范围内必须是唯一的。滚动到底部并单击 Create Bucket,不要更改任何其他配置。
- 转到
.chalice/config.json
并建立配置:
TELEGRAM_TOKEN
使用您的电报令牌。OPENAI_API_KEY
与您的 Open AI API 令牌的价值。VOICE_MESSAGES_BUCKET
使用您之前创建的存储桶名称。
安装
- 使用pyenv或您首选的 Python 安装方式安装 Python。
- 创建虚拟环境:
python3 -m venv .venv
. - 激活您的虚拟环境:
source .venv/bin/activate
. - 安装依赖项:
pip install -r requirements.txt
. - 安装 AWS CLI并配置您的凭证。
部署
- 运行
chalice deploy
。 - 转到 AWS 控制台 -> Lambda -> chatgpt-telegram-bot-dev-message-handler-lambda -> 配置 -> 函数 URL。
- 单击创建函数 URL 并将身份验证类型设置为无。
- 复制创建的函数 URL。
- 建立你的 Telegram webhook 以指向你正在运行的 AWS Lambda
curl --request POST --url https://api.telegram.org/bot<YOUR_TELEGRAM_TOKEN>/setWebhook --header 'content-type: application/json' --data '{"url": "YOUR_FUNCTION_URL"}'
伟大的!一切都已设置 🙂 现在转到 Telegram 并找到您的机器人名称并从那里使用 ChatGPT!