先驱机器人如何添加插件 qq机器人易语言插件开发教程
淘宝搜:【天降红包222】领超级红包,京东搜:【天降红包222】
淘宝互助,淘宝双11微信互助群关注公众号 【淘姐妹】
如图所示,正常情况下,用户是直接通过QQ客户端跟腾讯的服务器之间进行通信的。
我们需要部署QQ机器人,就需要通过一个Go-cqhttp的软件(https://github.com/Mrs4s/go-cqhttp.git)模拟qq客户端。这样我们QQ号上收到的信息,就会被gocq劫持下来。
但是gocq只是客户端,它本身是不包含任何回复的逻辑的。
这相当于,我们现在有了一个客户端,但是还需要一个机器人去操纵这个客户端。
机器人可以根据设定好的指令,回复相应的话。
比方说gocq获取到主人的指令,开机。bot根据设定的逻辑回复主人“我已经开机了”。
当然,这里机器人的逻辑是需要用户编程实现的。
综上,我们只需要部署两个:
1、go-cq? ?用来与腾讯服务器通信
2、bot 用来设定逻辑
1)https://github.com/Mrs4s/go-cqhttp.git? ?下载该源代码
2)go环境配置
mac 可以直接在terminal键入 brew install go 安装
win 可以前往go官网(https://golang.google.cn/dl/),在这里下载安装
下载好后,使用shell进入go-cq所在的文件夹,运行go run main.go
输入3 (3是反向http,这个是与bot的通信协议,是由nonebot决定的)
首次运行,将生成一个 config.yml 的文件。
打开 config.yml 文件,内容如下
这里把Uin修改成用来作为bot的qq号。文件拉到末尾,内容如下:
这里把universal 设定为:
ws://localhost:12345/onebot/v11/
这样gocq就配置好了。
再次运行
go run main.go
通过上述的方式,就可以把机器人的逻辑抽离出来。让用户无需关注服务器、通信等底层技术,只需关注bot该怎么回复。
QQ的机器人框架有很多,根据不同语言划分,有Nonebot(python)、Zerobot(go)、小栗子(易语言)等。
而Nonebot基于Python实现,用户受众广,有强大的社群支持。这里我们选用Nonebot作为QQ机器人的逻辑框架。
安装python3.8+环境
pip install nb-cli? 安装nonebot脚手架
shell运行 nb
根据指示创建一个新项目。
而由于nonebot作为一个通用型bot框架,是不局限于qq的。
在Nonebot商店中 (https://v2.nonebot.dev/store),也可以看到Nonebot有各种软件的适配器。
这里我们选择v11的qq适配器,运行nb adapter install nonebot-adapter-onebot
安装该适配器。
进入.env.dev 文件,修改内容如下,SUPERUSERS换成你的qq号。
现在客户端gocq安装好了,nonebot框架也安装好了。
但是框架只是个筐,里面没有内容,现在还没有处理消息的逻辑。
就像一个操作系统,没有软件,仍旧无法办公
因此我们需要安装插件。
我们在插件市场搜索chat,可以安装chatgpt
可以直接复制安装命令安装,也可以离线下载安装。初次使用建议离线下载安装。
点击右上角进入其git仓库。
下载后,将插件复制到nonebot的src/plugins 文件夹下。
目录结构如下(主要是nonebot_plugin_chatgpt文件夹):
依据该插件的instruction,将config.py 下的chatgpt_session_token修改成你的token
token 在这里获取