.github | ||
archive | ||
docs/.vuepress/components | ||
docs_build | ||
nonebot | ||
packages | ||
tests | ||
website | ||
.editorconfig | ||
.gitignore | ||
.prettierignore | ||
.prettierrc | ||
LICENSE | ||
poetry.lock | ||
pyproject.toml | ||
README.md |
NoneBot
✨ 跨平台 Python 异步机器人框架 ✨
简介
NoneBot2 是一个可扩展的 Python 异步机器人框架,它会对机器人收到的事件进行解析和处理,并以插件化的形式,按优先级分发给事件所对应的事件响应器,来完成具体的功能。
除了起到解析事件的作用,NoneBot 还为插件提供了大量实用的预设操作和权限控制机制。对于命令处理,它更是提供了完善且易用的会话机制和内部调用机制,以分别适应命令的连续交互和插件内部功能复用等需求。
得益于 Python 的 asyncio 机制,NoneBot 处理事件的吞吐量有了很大的保障,再配合 WebSocket 通信方式(也是最建议的通信方式),NoneBot 的性能可以达到 HTTP 通信方式的两倍以上,相较于传统同步 I/O 的 HTTP 通信,更是有质的飞跃。
特色
NoneBot2 的驱动框架 Driver
以及通信协议 Adapter
均可自定义,并且可以作为插件进行替换/添加!
目前 NoneBot2 内置的驱动框架:
目前 NoneBot2 官方维护的协议适配:
- OneBot 协议 (QQ 等)
- Mirai-API-HTTP 协议
- 钉钉
- Telegram
- 飞书
更多:商店
即刻开始
完整文档可以在 这里 查看。
懒得看文档?下面是快速安装指南:
-
(可选)使用你喜欢的 Python 环境管理工具创建新的虚拟环境。
-
使用
pip
(或其他) 安装 NoneBot 脚手架。pip install nb-cli
-
使用脚手架创建项目
nb create
社区资源
常见问题
教程/实际项目/经验分享
插件
此外,NoneBot2 还有丰富的官方以及第三方现成的插件供大家使用:
-
NoneBot-Plugin-Docs:离线文档至本地使用(别再说文档打不开了!)
nb plugin install nonebot_plugin_docs
或者尝试以下镜像:
-
其他插件请查看 商店
贡献
如果你在使用过程中发现任何问题,可以 提交 issue 或自行 fork 修改后提交 pull request。
如果你要提交 pull request,请确保你的代码风格和项目已有的代码保持一致,遵循 PEP 8 PEP 484,变量命名清晰,有适当的注释。
许可证
NoneBot
采用 MIT
协议开源,协议文件参考 LICENSE。
特别的,由于 mirai
使用 AGPLv3
协议并要求使用 mirai
的软件同样以 AGPLv3
协议开源,本项目 mirai
适配器部分(即 packages/nonebot-adapter-mirai
目录)以 AGPLv3
协议开源,协议文件参考 LICENSE。