用 ChatGPT 搭建一个 Telegram 机器人

1,637 阅读1分钟

相比微信,Telegram更适合用来做一些扩展功能,不像封闭的微信生态,Telegram官方开放了接口给开发者。在Telegram上搭建一个机器人很方便。

这里假设你已经安装了Telegram,同时有ChatGPT账号,且有Python3.9以上环境

第一步:申请机器人

在Telegram上搜索”BotFather“,然后发送一条消息 /newbot,并给机器人设置昵称和唯一用户名,注意用户名必须以_bot结尾,不能和别人的同名。

image-20230510144422991

安装

将项目下载到本地

git clone https://github.com/lzjun567/chatgpt-telegram-bot.git
cd chatgpt-telegram-bot

创建python虚拟环境

python -v venv venv

激活环境

# Linux or macOS执行:
source venv/bin/activate

# Windows执行:
venv\Scripts\activate

安装依赖包

pip install -r requirements.txt

配置参数

在项目跟目录创建文件.env,在文件中指定环境变量

OPENAI_API_KEY="sk-xxx"
TELEGRAM_BOT_TOKEN="609588011x:xxxx"
PROXY="http://127.0.0.1:1081"
BOT_LANGUAGE="zh-cn"
  • OPENAI_API_KEY可以登录chatgpt账号后获取
  • TELEGRAM_BOT_TOKEN是我们刚刚申请机器人之后Telegram创建的
  • PROXY 如果你的成本部署在本地且不能正常访问openai.com 域名,就需要在本地配置代理,如果把程序部署在国外服务器则无需配置此参数。

更多参数可以参数项目文档详细说明

启动程序

python bot/main.py

日常聊天

image-20230510145859890

画图(使用/image指令)

image-20230510225249075

画图使用的是OpenAI 的 DALL·E模型,看起来很弱鸡

还支持语音转录(需要依赖ffmpeg),使用Whisper模型

image-20230510160625901

除此之外,还可以做一些个性化配置,例如设置指定人可以访问该机器人。如果你对Docker熟悉的 话,你还可以将程序部署在Docker环境上

首发原创博客:foofish.net/chatgpt-tel…