基于Nonebot2搭建QQ机器人(一)机器人环境配置

本系列旨在记录笔者学习nonebot2以及搭建过程分享。
主要分为Nonebot2基础和插件部分。插件主要关于笔者已上线运营的服务于本校的教务系统机器人,其自12月2日上线以来,截至2021年12月29日本校用户突破1k人,总使用次数突破3w次。

一、Nonebot2介绍

摘录于Nonebot2官方文档 https://v2.nonebot.dev/
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 通信方式
支持多个机器人账号负载均衡
提供直观的交互式会话接口
提供可自定义的权限控制机制
多种方式渲染要发送的消息内容,使对话足够自然

二、Nonebot2安装

官方文档
https://v2.nonebot.dev/guide/installation.html

官网提供了两种安装方式(脚手架安装、不使用脚手架安装)
这里采用脚手架安装方式

创建一个空文件夹,我的命名是(new_bot)添加到pycharm项目中
打开pycharm的终端键入

 pip install nb-cli

安装成功后,在终端键入

 nb create

如果安装成功会出现下图所示,反之则安装失败。
在这里插入图片描述
如果安装失败,检查:
1、pip安装环境下的 Python 版本应>= 3.7。
2、安装 NoneBot 2 之前卸载 NoneBot 1

nb create意思是创建实例(官方文档-创建实例),没有安装问题则继续下面的操作。

这里的Project Name 输入自定义名称后按回车。出现如下图所示,这个意思是选择存放插件的文件夹,我习惯于选择src文件夹。什么是插件在后面会给大家介绍。
在这里插入图片描述
点击回车,按照输入:y,继续点击回车。
这里出现了一个选择列表:cqhttp、ding、mirai、feishu。
这个意思是让你选择适配器。目前nonebot2支持的适配器有QQ、钉钉、Mirai-API-HTTP、飞书,由于这里是基于QQ的机器人,所以这里选择cqhttp。
在这里插入图片描述
注意:是用上下键选择,空格键确定,如果按空格会出现提示未选择适配器一行,需要重新进行创建。

如果实例成功创建,我们可以发现在new_bot文件夹下多出了一个(csdn)文件夹,“csdn”即是我们创建实例时输入的Project Name。
在这里插入图片描述

安装一些需要的库(直接复制粘贴即可)如果使用的时候缺少模块使用pip安装即可,有时候需要换源大部分使用清华源就可以成功安装:
清华源:https://pypi.tuna.tsinghua.edu.cn/simple/
使用方法:pip语句后加-i https://pypi.tuna.tsinghua.edu.cn/simple/

pip install pydantic loguru pygtrie httpx python-dotenv uvicorn fastapi requests selenium aiocqhttp ffmpeg aiohttp -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip install nonebot2 -i https
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

会飞的CR7

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值