文章目录
Nonebot2 搭建流程
一、 概述
1、 引言
在前面使用flask+gocqhttp
实现一个qq机器人后,大家应该会觉得非常麻烦吧。那么有没有更加方便的方法去实现我的的qq机器人呢?
但是是有的。我们可以使用现成的框架来实现这个qq聊天机器人。那么,现在开始,我们就来开始学习如何使用Nonebot2框架来更简便的搭建一个我们期望中的机器人!
2、 框架简介
NoneBot2 是一个可扩展的 Python 异步机器人框架,它会对机器人收到的事件进行解析和处理,并以插件化的形式,按优先级分发给事件所对应的事件响应器,来完成具体的功能。
除了起到解析事件的作用,NoneBot 还为插件提供了大量实用的预设操作和权限控制机制。对于命令处理,它更是提供了完善且易用的会话机制和内部调用机制,以分别适应命令的连续交互和插件内部功能复用等需求。
得益于 Python 的 asyncio (opens new window)机制,NoneBot 处理事件的吞吐量有了很大的保障,再配合 WebSocket 通信方式(也是最建议的通信方式),NoneBot 的性能可以达到 HTTP 通信方式的两倍以上,相较于传统同步 I/O 的 HTTP 通信,更是有质的飞跃。
需要注意的是,NoneBot 仅支持 Python 3.7.3 以上版本
特色:
- NoneBot2 的驱动框架 Driver 以及通信协议 Adapter 均可自定义,并且可以作为插件进行替换/添加!
- 提供使用简易的脚手架
- 提供丰富的官方插件
- 提供可添加/替换的驱动以及协议选项
- 基于异步 I/O
- 同时支持 HTTP 和反向 WebSocket 通信方式
- 支持多个机器人账号负载均衡
- 提供直观的交互式会话接口
- 提供可自定义的权限控制机制
- 多种方式渲染要发送的消息内容,使对话足够自然
好啦,文字我就不在多赘述了,大家想要了解详情,可以到官方文档去了解,接下来开始我们的主题:环境搭建
二、 Nonebot安装
1、 搭建脚手架
Nonebot有两种安装形式:
- 搭建脚手架安装
- 纯净安装
这里我们使用脚手架安装,其更为方便
- 脚手架安装其已经安装了驱动器和协议配置器等,其更适合新手使用
安装方式
conda create -n nonebot python=3.9 # 创建虚拟环境
conda activate nonebot # 进入虚拟环境
pip install nb-cli # 安装脚手架
pip install nonebot-adapter-onebot # 安装onebot调度器
# 安装一些需要用到的库
pip install pydantic loguru pygtrie
pip install nonebot2
pip install nonebot_plugin_gocqhttp # 安装需要使用的插件,这里使用插件启动go-cqhttp,无序安装额外的软件
这时候我们就把框架搭建好了
初次使用
# 直接使用 nb 命令 nb # 或使用 Python 执行 module python -m nb_cli
2、 使用方式
nb-cli 具有两种使用方式:
-
命令