XZFou.com
分享精品绿色软件

ChatGPT接入到telegram电报群教程

我之前的教程已经教了大家怎么注册ChatGPT,同时教大家怎么接入微信、微信公众号等平台,如果还没有注册的小伙伴可以看我之前的教程。

这篇教程来教大家怎么把基于GPT3.5模型的chatGPT接入到telegram来提问交流,同时可以添加到群上匹配被艾特和关键字自动回复。

可以看到我这里已经成功接入ChatGPT。我要一步一步教大家也能轻松接入ChatGPT随时随地可以和ChatGPT对话。

ChatGPT接入到telegram流程

1. Github代码

首先,我们需要使用到github上的一份第三方代码,这份代码将 chatGPT 接入各类 消息应用。这个chatGPT是真实的GPT3.5模型,而不是向网上的很多人一样只是拿3.0模型来糊弄人

它可以支持:

  • 微信
  • 公众号
  • Telegram
  • QQ
  • Gmail

等等,未来还会支持更多的平台。

https://github.com/techxiaofei/bot-on-anything

这份代码是从https://github.com/zhayujie/bot-on-anythingFork的一个仓库,原仓库对telegram的支持非常简单,只能支持到私聊,把机器人加入群聊之后所有的信息都会自动回复,消息会很乱。

1 2 3 4 5 6 7 8 9 10″channel”: { “type”: “telegram”, “telegram”:{ “bot_token”: “YOUR BOT TOKEN ID”, “single_chat_users”: [“ALL_USERS”], “group_chat_list”: [“ALL_GROUP”], “group_chat_prefix”: [“@techxiaofei”,”@botxiaofei”], “group_chat_keyword”: [“大神”, “群主”] } }

我对代码做了一些改造,区分私聊和群聊,私聊都会回复。而群聊只有特定前缀的消息或者特定关键字的消息才会回复。

  • 前缀过滤就是比如艾特我或者艾特机器人的消息他都会回复,同时向chatGPT发消息的时候会过滤掉这个前缀。
  • 关键字过滤就是,如果这句话里面有提到我的名字,比如小飞,群主等等关键字,chatGPT才会自动回复。
  • 只允许我自己或者我授权的群组才能让机器人回复,也可以支持所有人和所有群组

极大的解放了我在粉丝群里面的工作量。

如果对chatGPT接入telegram有其他的需求,加入群向我提需求,只要是技术上能支持的,我都会尽力去做。这也是以后我会持续更新并使用的一个电报机器人。

2. OpenAPI地址

需要一个chatGPT账号并生成一个API Key,这个API secret Key是为了验证你的身份。

这个非常简单,我们打开openai的平台地址:https://platform.openai.com/

登录之后点击右上角的头像,点击Manage Account->API Keys->Create New Secret Key, 然后复制下来保存备用。

部署服务

1.运行环境

下面我们在云服务器上部署这个chatGPT接入telegram电报的服务,当然我们需要一台云服务器。

VPS/云服务器

如果你还没有云服务器或者VPS,可以点此地址购买:http://bit.ly/3GlfucW

它们的VPS非常便宜,可以用来搭建科学上网,搭建个人网站,也可以用来接入ChatGPT。如果你的预算充足,也可以直接购买云服务器。

我们先复制下项目地址,点击Code->Https->点击复制图标

然后我们登录到云服务器:

项目代码克隆:

1 2git clone https://github.com/techxiaofei/bot-on-anything cd bot-on-anything/

2.配置说明

核心配置文件为 config.json,在项目中提供了模板文件 config-template.json ,可以从模板复制生成最终生效的 config.json 文件:

1cp config-template.json config.json

3.获取token

我们需要在telegram搜索BotFather来创建一个新的机器人。

  1. 开启聊天后输入/newbot
  2. 然后输入名字我们就叫botxiaofei吧.
  3. 然后需要以bot结尾的username,botxiaofei_bot.

蓝色的链接就是机器人,点击进去可以聊天,红色的就是token,复制下来备用。

4.config配置

我已经在json文件里面删除了其他平台的配置,只保留telegram的配置即可:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24{ “model”: { “type” : “chatgpt”, “openai”: { “api_key”: “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”, “model”: “gpt-3.5-turbo”, “conversation_max_tokens”: 1000, “character_desc”: “你是ChatGPT, 一个由OpenAI训练的大型语言模型, 你旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。” } }, “channel”: { “type”: “telegram”, “telegram”: { “bot_token”: “6274785511:AAHmverVxH9NUAexWGndPhtwjwcxxtudjPU”, “single_chat_users”: [“ALL_USERS”], “group_chat_list”: [“ALL_GROUP”], “group_chat_prefix”: [“@techxiaofei”,”@botxiaofei”], “group_chat_keyword”: [“大神”, “群主”] } } }

配置文件在最外层分成 model 和 channel 两部分。

model部分为模型配置,其中的: type 指定了选用哪个模型:

  • chatgpt – 是gpt3.5 模型,我们默认填这个就好
  • openai – 是gpt3.0 模型

api_key 是你从openai官网生成的。 proxy 服务器在外网就不需要填写。

channel部分包含了应用渠道的配置,type 字段指定了接入哪个应用。telegram就是电报。

  • single_chat_users 可以向机器人私聊的用户,默认为ALL_USERS所有用户,可以填自己的用户ID避免其他人向机器人提问,用户ID,不需要带@,比如techxiaofei。
  • group_chat_list 机器人可以支持在那些群里回复,默认为ALL_GROUP所有group,可以填自己的群名避免其他人把机器人加到其他群。(可以通过BotFather设置/setjoingroups来限制别人把机器人加到其他群里)
  • group_chat_prefix 聊天前缀匹配,一般用来匹配@特定人,匹配成功后会去掉前缀再发送给chatgpt,前缀匹配需要带@,比如@techxiaofei。
  • group_chat_keyword 聊天关键字匹配,匹配到关键字就会回复。

4.安装依赖

升级pip包管理工具和openai

1 2pip3 install –upgrade pip pip3 install –upgrade openai

安装电报机器人依赖

1pip install pyTelegramBotAPI

4.运行程序

配置修改完成,依赖也安装好了,我们就可以运行程序了。

在项目目录下运行 python3 app.py,终端显示如下则表示已成功运行:

[INFO][2023-02-16 01:39:53][app.py:12] – [INIT] load config: … [INFO][2023-02-16 01:39:53][wechat_mp_channel.py:25] – [WX_Public] Wechat Public account service start! Bottle v0.12.23 server starting up (using AutoServer())… Listening on http://0.0.0.0:80/ Hit Ctrl-C to quit.

4.聊天

现在你就可以在私聊窗口跟机器人聊天了。

当然也可以把机器人加入到群聊,这个只能在手机上操作,点击机器人右上角头像,点击添加到群组或者频道,选择你想要添加的群组,点击添加机器人位管理员,就可以了。

最后一步

之前我们python3 app.py只有在你开启窗口的时候才会运行,关闭窗口之后就会停掉。我们需要程序在后台自动运行,这样即使我们关掉云服务器窗口也能继续运行。

那么我们需要开启后台运行的命令:

1 2touch nohup.out nohup python3 app.py & tail -f nohup.out

此时可通过 ctrl+c 关闭日志,不会影响后台程序的运行。使用 ps -ef | grep app.py | grep -v grep 命令可查看运行于后台的进程,如果想要重新启动程序可以先 kill 掉对应的进程。日志关闭后如果想要再次打开只需输入 tail -f nohup.out。

如何杀进程

第一行先查出来PID,然后第二行kill你查到的PID就可以。

每次重启之前先kill掉进程

ps -ef | grep app.py | grep -v grep kill -9 PID

结语

今天的ChatGPT接入telegram的教程就完成了,如果你对这个机器人有新的想法需求,可以直接在群里艾特我,技术可行的情况下我会花时间去实现它。

我会把所有相关的命令和链接放在评论区,有需要的小伙伴自取。下个视频我会继续教大家更多有用的教程。

赞(0) 打赏
本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《ChatGPT接入到telegram电报群教程》
文章链接:https://www.xzfou.com/279.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论 抢沙发

评论前必须登录!

立即登录   注册

更好的软件下载站 — — 您的优质软件资源之选!​

下载否(XZFou.com),域名取自下(Xia)载(Zai)否(Fou),即下载软件的意思。
在这里,我们为您提供更安全、更便捷的软件下载体验!无论您需要办公工具、设计软件、开发环境,还是娱乐应用,我们都能满足您的需求。

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册