nonebot

# NoneBot _✨ 跨平台 Python 异步机器人框架 ✨_

license pypi python
cqhttp ding feishu QQ频道
QQ Chat Telegram Channel Discord Server

文档 · 安装 · 开始使用 · 文档打不开?

## 简介 NoneBot2 是一个现代、跨平台、可扩展的 Python 聊天机器人框架,它基于 Python 的类型注解和异步特性,能够为你的需求实现提供便捷灵活的支持。 ## 特色 - 异步优先:基于 Python 的异步特性,即使是~~非常~~大量的消息,也能吞吐自如 - 易于开发:配合 NB-CLI 脚手架,代码编写上手简单,没有过多的冗余代码,可以让开发者专注于业务逻辑 - 生而可靠:100% 类型注解覆盖,配合编辑器的类型推导功能,能将绝大多数的 Bug 杜绝在编辑器中 ([编辑器支持](https://v2.nonebot.dev/docs/start/editor-support)) - 社区丰富:社区用户众多,直接和间接用户超过十万人,每天都有大量的活跃用户 ([社区资源](#社区资源)) - 海纳百川:一个框架,支持多个聊天软件平台,可自定义通信协议 - [OneBot 协议](https://onebot.dev/) (QQ 等) - [Mirai-API-HTTP 协议](https://github.com/project-mirai/mirai-api-http) - [钉钉](https://ding-doc.dingtalk.com/document#/org-dev-guide/elzz1p) - [Telegram](https://core.telegram.org/bots/api) - [飞书](https://open.feishu.cn/document/home/index) - [QQ 频道](https://bot.q.qq.com/wiki/) - 坚实后盾:支持多种 web 框架,可自定义替换 - [FastAPI](https://fastapi.tiangolo.com/) - [Quart](https://pgjones.gitlab.io/quart/) (异步 Flask) - [aiohttp](https://docs.aiohttp.org/en/stable/) - [httpx](https://www.python-httpx.org/) - [websockets](https://websockets.readthedocs.io/en/stable/) 更多:[概览](https://v2.nonebot.dev/docs/) ## 什么不是 NoneBot2 NoneBot2 不是某个平台或者协议的具体实现,它只负责和已有协议适配器通信,并处理接收到的事件。所以,“NoneBot 有 blabla 平台的 blabla 功能吗?”这种问题是与 NoneBot2 无关的。请在相应平台的功能文档中确认,或与相应平台的协议适配开发者联系。 NoneBot2 不是 NoneBot1 的替代品。事实上,它们都在被积极的维护着。但是,如果你想尝试一些新功能,或者想要支持更多的平台,可以考虑使用 NoneBot2。 > ~~NoneBot2 和 NoneBot1 的区别,就像是 VisualStudio Code 和 VisualStudio 一样~~ ## 即刻开始 ~~完整~~文档可以在 [这里](https://v2.nonebot.dev/) 查看。 懒得看文档?下面是快速安装指南: 1. (可选)使用你喜欢的 Python 环境管理工具创建新的虚拟环境。 2. 使用 `pip` (或其他) 安装 NoneBot 脚手架。 ```bash pip install nb-cli ``` 3. 使用脚手架创建项目 ```bash nb create ``` ## 社区资源 ### 常见问题 - [常见问题解答(FAQ)](https://faq.nonebot.dev/) - [论坛(Discussion)](https://discussions.nonebot.dev/) ### 教程/实际项目/经验分享 - [awesome-nonebot](https://github.com/nonebot/awesome-nonebot) ### 插件 此外,NoneBot2 还有丰富的官方以及第三方现成的插件供大家使用: - [NoneBot-Plugin-Docs](https://github.com/nonebot/nonebot2/tree/master/packages/nonebot-plugin-docs):离线文档至本地项目使用 (别再说文档打不开了!) 在项目目录下执行: ```bash nb plugin install nonebot_plugin_docs ``` 或者尝试以下镜像: - [文档镜像(中国境内)](https://nb2.baka.icu) - [文档镜像(Vercel)](https://nonebot2-vercel-mirror.vercel.app) - 其他插件请查看 [商店](https://v2.nonebot.dev/store.html) ## 许可证 `NoneBot` 采用 `MIT` 协议开源,协议文件参考 [LICENSE](./LICENSE)。 ## 贡献 如果你在使用过程中发现任何问题,可以 [提交 Issue](https://github.com/nonebot/nonebot2/issues/new) 或自行 Fork 修改后提交 Pull Request。 如果你要提交 Pull Request,请确保你的代码风格和项目已有的代码保持一致,遵循 [PEP 8](https://www.python.org/dev/peps/pep-0008/) 与 [PEP 484](https://www.python.org/dev/peps/pep-0484/),变量命名清晰,有适当的注释与测试代码,**并且请以 `dev` 分支作为 Pull Request 目标分支**。 感谢以下开发者对 NoneBot2 的贡献: