目录
一、前言
nonebot2-2.0.0b4 QQ机器人详细教程
二、准备
1.Python
2.Pycharm
3.nonebot2
4.go-cqhttp
三、配置
1.搭建go-cqhttp
2.创建nonebot2机器人
四、运行
五、nonebot2插件
一、前言
闲着没事干,忽看到群里面的qq机器人,想要学习一下,用了两天实现了本体的搭建并添加了一些插件。期间遇到问题颇多,遂想总结下来,故本文章并非教程,而更倾向于个人总结,有想要学习的,可以参考这几篇文章,在我学习期间,帮助颇大。
【Re:从零开始的QQ机器人搭建】—— 基于go-cqhttp
nonebot2.0.0a16-qq机器人框架安装及搭建教程
nonebot2-2.0.0b4 QQ机器人详细教程
特别感谢博主:萌新源 的文章对于我学习插件的帮助。
二、准备
需要准备的共有四点:Python、可编辑.py文件的编译器(如Pycharm)、nonebot2、go-cqhttp
1.Python
不多介绍,下载连接:https://www.python.org/
特别注意,如果没有python下载经历,建议配合python安装教程Python教程,以免之后再出现问题。
2.Pycharm
同上,下载地址
安装教程
3.nonebot2
这是我在这一阶段遇到的最棘手的问题,在对其毫无了解的情况下,犯了许多错误。
教程nonebot2环境搭建
请优先按照教程操作
如遇到问题请按照nonebot2 安装与使用进行安装。
4.go-cqhttp
同上,【Re:从零开始的QQ机器人搭建】—— 基于go-cqhttp
此处说一说我安装配置go-cqhttp中遇到的问题与解决方案。
①、下载源,github加载很慢,甚至一直转圈,我尝试了许多方式,但碍于理论知识极端欠缺,都没有好的解决,于是我采取了效率最低的方法——不断刷新直到出现。最终它出现在我手机浏览器中,下载后传到电脑上,解压,解决问题。
②、在解压后目录中,在当前目录新建run.bat文件,右键编辑(此处参考nonebot2-2.0.0b4 QQ机器人详细教程)
填入内容,保存退出
%Created by go-cqhttp. DO NOT EDIT ME!%
start cmd /K "go-cqhttp.exe"
双击运行
选择3(反向Websocker通信),回车。
在头几次的尝试中,我还选择了另外几个,结果出了一些问题,于是还是老老实实选择一个吧。
③、编辑在解压,运行run.bat后生成的 config.yml
此处基本按照上面教程进行即可,但后续需再次对 config.yml 文件进行修改。
特别的:此段代码需进行如下更改,且需注意 9090(将8080改为9090) 这个数值可自取一万左右的数字,记住这个数字。
# 连接服务列表
servers:
# 添加方式,同一连接方式可添加多个,具体配置说明请查看文档
#- http: # http 通信
#- ws: # 正向 Websocket
#- ws-reverse: # 反向 Websocket
#- pprof: #性能分析服务器
# 反向WS设置
- ws-reverse:
# 反向WS Universal 地址
# 注意 设置了此项地址后下面两项将会被忽略
universal: ws://127.0.0.1:8080/onebot/v11/ws #ws://your_websocket_universal.server
# 反向WS API 地址
api: ws://your_websocket_api.server
# 反向WS Event 地址
event: ws://your_websocket_event.server
# 重连间隔 单位毫秒
reconnect-interval: 3000
middlewares:
<<: *default # 引用默认中间件
三、配置
1.搭建go-cqhttp
1.首先,确定在config.yml 文件中输入了qq账号,密码可以不输入,扫码登录即可。(注:win10命令提示符窗口总会出不显示新文字的问题,此时拖动窗口边框,调整窗口大小即可,文字不是没有,只是没有显示)
2.登录后,这个窗口大概会不断运行,也不断有黄色的警告,大概是连接反向web服务器时出现错误什么的,不用管它。
以上及完成go-cqhttp搭建。
2.创建nonebot2机器人
在含有config.yml 的目录中新建文件夹随意命名,这里我把它命名为“mybot”
接下来进入此文件夹,在此文件夹内打开cmd窗口
注:是在此文件夹内打开cmd窗口!
打开后输入
nb create
#打开cmd窗口可以通过win+r,输入cmd回车后,输入X:(X为盘符)回车,cd 文件夹路径,回车进入
#也可以打开文件夹,在上方路径直接输入cmd回车进入。
回车后出现
Project Name:
随便输入机器人名字即可,回车
随后出现两个选项,↑↓操控,选择有“scr”的一项,回车
随后出现两个选项,按空格,回车(选择echo的一项)
随后出现一系列选项,选择OneBot V11的一项,回车
随后当前文件夹会生成你机器人名字的文件夹,打开,其中有一个 bot.py 的文件,我们一会儿再操作它。
先编辑 .env 文件,编辑为,保存
ENVIRONMENT=prod
编辑 .env.dev 文件,编辑为,保存
HOST=127.0.0.1
PORT=9090 # 端口,上面让你记住的数字
LOG_LEVEL=DEBUG
FASTAPI_RELOAD=true
编辑 .env.prod 文件,编辑为,保存
HOST=127.0.0.1
PORT=9090
SUPERUSER=["12345678"] # 超级用户
NICKNAME=["Name"] # 机器人名字
COMMAND_START=["/"] # 命令符
此时nonebot2配置完成
四、运行
在 bot.py 所在的文件夹中打开cmd窗口,输入
nb run #回车
此时出现一堆蓝的绿的黄的字,最后一行有着:“connection open”,说明nonebot2运行正常。
保存nonebot2运行,返回 run.bat 所在文件夹,双击运行 run.bat
此时之前显示失败的反向服务器显示连接成功。
机器人开始正常工作。
使用其他账号对机器人说
/echo hello!
机器人回复:hello!
说明机器人搭建成功。
五、nonebot2插件
此处我也一知半解,但相关文章较多,实际操作问题不大,以下是一些相关文章
提供了nonebot官网和插件名称从零开始在服务器上搭建QQ机器人——插件(二)
注:使用 nb plugin install 安装插件后会保存到 Python\Lib\site-packages文件夹中,此时复制到src/plugins中即可。
插件例子[QQ机器人]nonebot2 聊天插件文章来源:https://www.toymoban.com/news/detail-494651.html
另外,特别感激 [QQ机器人]nonebot2 聊天插件 文章作者萌新源文章来源地址https://www.toymoban.com/news/detail-494651.html
到了这里,关于【Python简单QQ机器人】使用nonebot2与go-cqhttp构建的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!