免费快速部署自己的 ChatGPT Telegram 机器人

2023-03-03 15:07:41 +08:00
 tbxark

上班摸鱼随手写了个小脚本,最简单快捷部署属于自己的 ChatGPT Telegram 机器人的方法,单文件,直接复制粘贴一把梭,无需任何依赖,无需配置本地开发环境,不用域名,免服务器。

https://github.com/TBXark/ChatGPT-Telegram-Workers

配置

偷懒的话可以直接复制代码然后修改相应的 KEY ,想要动态变化可以设置成环境变量

// 你也可以注释这两行代码,然后在 Workers 配置界面填写环境变量
const API_KEY = "PLEASE_REPLACE_WITH_YOUR_OPENAI_API_KEY";
const TELEGRAM_TOKEN = "PLEASE_REPLACE_WITH_YOUR_TELEGRAM_BOT_TOKEN";

// 聊天白名单,你也可以在环境变量中定义数组然后在这里解析 JSON
const CHAT_WHITE_LIST = [];

使用

  1. 新建 Telegram 机器人, 获得 Token
  2. 注册 OpenAI 账号并创建 API Key
  3. 部署 Workers https://developers.cloudflare.com/workers/
  4. 运行 https://your_workers_name.your_workers_subdomain.workers.dev/telegram/your_telegram_bot_token/bind 绑定 telegram
  5. 开始新对话 使用/new指令开始,之后每次都会将聊天上下文发送到 ChatGPT
14593 次点击
所在节点    OpenAI
116 条回复
jihu9001
2023-03-03 16:14:16 +08:00
试了一下,机器人没有反应,好尴尬
tbxark
2023-03-03 16:21:26 +08:00
@jihu9001 更新一下代码,再试一下,刚才有 BUG
Lentin
2023-03-03 16:21:35 +08:00
这一段是做什么的 看起来像是一个 webhook 接口 是不是需要改一下呢?
https://github.com/TBXark/ChatGPT-Telegram-Workers/blob/master/index.js#LL50C15-L50C39
tbxark
2023-03-03 16:22:21 +08:00
@jihu9001 你得先调用绑定才能有反应,可以先用 /new 获取自己的 id 然后添加到白名单
tbxark
2023-03-03 16:23:12 +08:00
@Lentin 啊对,要改成自己的域名
jihu9001
2023-03-03 16:44:28 +08:00
CHAT_WHITE_LIST 这个列表元素是数字还是字符串?
tbxark
2023-03-03 16:49:29 +08:00
@jihu9001 都可以,判断白名单的时候统一转成字符串了,
PS: 刚才更新了一下代码,你可以重新粘贴一下,建议变量都写在环境变量配置里面,这样更新代码的时候不影响原来配置比较方便。如果在环境变量里写 ID ,直接写用逗号分隔就可以了
Lentin
2023-03-03 17:01:32 +08:00
DATABASE 这个变量看起来好像还是有问题 发不了消息
"message": "DATABASE.delete is not a function",
"message": "Cannot read properties of null (reading 'delete')",
arfaWong
2023-03-03 17:07:34 +08:00
@Lentin 创建一个 KV Namespace ,然后在 worker settings 里面绑定。绑定的 Variable name 要和作者代码里的 Database 一样。刚刚也是搞了很久 笑 cry
tbxark
2023-03-03 17:07:54 +08:00
Lentin
2023-03-03 17:28:17 +08:00
tbxark
2023-03-03 17:35:18 +08:00
@Lentin 😂 Sorry
jihu9001
2023-03-03 17:40:39 +08:00
@Lentin 终于跑起来了,过程过于艰难,建议把 readme 写详细点,老哥这个项目还是非常稳的
Lentin
2023-03-03 17:42:53 +08:00
这里的空格 ,以及后面的引号,虽然不影响运行=3=
https://github.com/TBXark/ChatGPT-Telegram-Workers/blob/master/index.js#LL7C19-L7C21
tbxark
2023-03-03 17:53:23 +08:00
@jihu9001 用 ChatGPT 完善了一下
Lentin
2023-03-03 17:56:47 +08:00
https://github.com/TBXark/ChatGPT-Telegram-Workers/blob/master/index.js#L108
108 行加入以下代码可以使 chatgpt 的与 TG 自带的 markdown 兼容
parse_mode: 'Markdown'
tbxark
2023-03-03 18:06:41 +08:00
@Lentin 确实是可以,之前试了一下没有反应就没加了,我调试一下看看
tbxark
2023-03-03 18:11:02 +08:00
@Lentin 😂 原来深色模式看不出来代码的 markdown ,我以为没有作用
Lentin
2023-03-03 18:22:52 +08:00
@tbxark 这个模型应该没有天气功能吧-。-
jelinet
2023-03-03 18:25:36 +08:00
我操作了一遍,/new 没反应。。。
然后我在 CHAT_WHITE_LIST 里面把我自己删了,突然就收到了好多好多的『你没有权限操作。。。』
是 sendMessageToTelegram 卡住了还是 sendMessageToChatGPT 卡住了?跟访问的 ip 有关系吗?我平常上飞机的 ip 并不能上 chatGPT 。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/920842

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX