跨平台 Python 异步聊天机器人框架 / Asynchronous multi-platform chatbot framework written in Python
Go to file
noneflow[bot] 21815b380f
Some checks failed
Code Coverage / Test Coverage (pydantic-v1, macos-latest, 3.10) (push) Waiting to run
Code Coverage / Test Coverage (pydantic-v1, macos-latest, 3.11) (push) Waiting to run
Code Coverage / Test Coverage (pydantic-v1, macos-latest, 3.12) (push) Waiting to run
Code Coverage / Test Coverage (pydantic-v1, macos-latest, 3.9) (push) Waiting to run
Code Coverage / Test Coverage (pydantic-v1, windows-latest, 3.10) (push) Waiting to run
Code Coverage / Test Coverage (pydantic-v1, windows-latest, 3.11) (push) Waiting to run
Code Coverage / Test Coverage (pydantic-v1, windows-latest, 3.12) (push) Waiting to run
Code Coverage / Test Coverage (pydantic-v1, windows-latest, 3.9) (push) Waiting to run
Code Coverage / Test Coverage (pydantic-v2, macos-latest, 3.10) (push) Waiting to run
Code Coverage / Test Coverage (pydantic-v2, macos-latest, 3.11) (push) Waiting to run
Code Coverage / Test Coverage (pydantic-v2, macos-latest, 3.12) (push) Waiting to run
Code Coverage / Test Coverage (pydantic-v2, macos-latest, 3.9) (push) Waiting to run
Code Coverage / Test Coverage (pydantic-v2, windows-latest, 3.10) (push) Waiting to run
Code Coverage / Test Coverage (pydantic-v2, windows-latest, 3.11) (push) Waiting to run
Code Coverage / Test Coverage (pydantic-v2, windows-latest, 3.12) (push) Waiting to run
Code Coverage / Test Coverage (pydantic-v2, windows-latest, 3.9) (push) Waiting to run
Code Coverage / Test Coverage (pydantic-v1, ubuntu-latest, 3.10) (push) Failing after 1m43s
Code Coverage / Test Coverage (pydantic-v1, ubuntu-latest, 3.11) (push) Failing after 1m53s
Code Coverage / Test Coverage (pydantic-v1, ubuntu-latest, 3.9) (push) Failing after 1m39s
Code Coverage / Test Coverage (pydantic-v1, ubuntu-latest, 3.12) (push) Failing after 1m53s
Code Coverage / Test Coverage (pydantic-v2, ubuntu-latest, 3.10) (push) Failing after 1m44s
Code Coverage / Test Coverage (pydantic-v2, ubuntu-latest, 3.11) (push) Failing after 1m56s
Code Coverage / Test Coverage (pydantic-v2, ubuntu-latest, 3.12) (push) Failing after 26s
Code Coverage / Test Coverage (pydantic-v2, ubuntu-latest, 3.9) (push) Failing after 1m50s
Pyright Lint / Pyright Lint (pydantic-v1) (push) Failing after 1m41s
Ruff Lint / Ruff Lint (push) Successful in 37s
Pyright Lint / Pyright Lint (pydantic-v2) (push) Failing after 1m44s
Site Deploy / publish (push) Failing after 2m5s
📝 Update changelog
2024-12-02 07:38:01 +00:00
.devcontainer 🚨 Develop: 完全使用 ruff 替代 isort 与 black (#3151) 2024-12-01 12:31:11 +08:00
.github 👷 CI: 添加 codecov junit result report (#3138) 2024-11-23 11:25:39 +08:00
assets 🍻 publish plugin ZXWB词库问答 (#3142) 2024-12-02 03:37:18 +00:00
envs 🐛 Fix: httpx proxy 与 aiohttp timeout 参数新版本修改 (#3152) 2024-12-02 15:36:44 +08:00
nonebot 🐛 Fix: httpx proxy 与 aiohttp timeout 参数新版本修改 (#3152) 2024-12-02 15:36:44 +08:00
packages/nonebot-plugin-docs 💥 Remove: 移除 Python 3.8 支持 (#2641) 2024-04-16 00:33:48 +08:00
scripts 👷 CI: 添加 codecov junit result report (#3138) 2024-11-23 11:25:39 +08:00
tests 🚨 Develop: 完全使用 ruff 替代 isort 与 black (#3151) 2024-12-01 12:31:11 +08:00
website 📝 Update changelog 2024-12-02 07:38:01 +00:00
.editorconfig 🏷️ Add typing for cqhttp api 2020-08-26 17:47:36 +08:00
.eslintignore 📝 Docs: 升级新版 NonePress 主题 (#2375) 2023-09-27 16:00:26 +08:00
.eslintrc.js 📝 Docs: 升级新版 NonePress 主题 (#2375) 2023-09-27 16:00:26 +08:00
.gitattributes add git attributes (#2210) 2023-07-24 11:34:34 +08:00
.gitignore 📝 Docs: 升级到 Docusaurus V3 (#2956) 2024-10-22 10:33:48 +08:00
.markdownlint.yaml 📝 Add style guides for document (#1005) 2022-05-24 12:36:59 +08:00
.pre-commit-config.yaml 🚨 Develop: 完全使用 ruff 替代 isort 与 black (#3151) 2024-12-01 12:31:11 +08:00
.prettierignore ✏️ fix issue template typo 2020-11-13 11:31:24 +08:00
.prettierrc 👷 CI: 更新 prettier 配置 (#2546) 2024-01-24 15:24:21 +08:00
.stylelintrc.js 📝 Docs: 升级新版 NonePress 主题 (#2375) 2023-09-27 16:00:26 +08:00
.yarnrc ⬆️ update theme version 2021-12-02 15:00:55 +08:00
CHANGELOG.md 📝 Docs: 升级到 Docusaurus V3 (#2956) 2024-10-22 10:33:48 +08:00
CITATION.cff 📝 Docs: 添加 CITATION 文件 (#2520) 2024-01-10 22:47:27 +08:00
CODE_OF_CONDUCT.md 📝 Add project code of conduct (#794) 2022-02-14 17:40:36 +08:00
CONTRIBUTING.md 📝 Docs: 更新贡献指南 (#2255) 2023-08-09 22:42:38 +08:00
LICENSE 📄 update license 2020-12-01 10:57:00 +08:00
package.json 📝 Docs: 升级新版 NonePress 主题 (#2375) 2023-09-27 16:00:26 +08:00
poetry.lock 🐛 Fix: httpx proxy 与 aiohttp timeout 参数新版本修改 (#3152) 2024-12-02 15:36:44 +08:00
pyproject.toml 🐛 Fix: httpx proxy 与 aiohttp timeout 参数新版本修改 (#3152) 2024-12-02 15:36:44 +08:00
README.md 📝 Docs: 添加 Mail 适配器说明 (#3134) 2024-11-21 21:32:31 +08:00
tsconfig.json 👷 CI: 更新 prettier 配置 (#2546) 2024-01-24 15:24:21 +08:00
yarn.lock 📝 Docs: 移除侧栏遮罩及启用构建加速 (#3135) 2024-11-22 14:16:22 +08:00

nonebot

NoneBot

跨平台 Python 异步机器人框架

license pypi python black pyright ruff
codecov site pre-commit pyright ruff
onebot onebot QQ telegram feishu github
QQ Chat Group QQ Channel Telegram Channel Discord Server

文档 · 快速上手 · 文档打不开?

setup

简介

NoneBot2 是一个现代、跨平台、可扩展的 Python 聊天机器人框架,它基于 Python 的类型注解和异步特性,能够为你的需求实现提供便捷灵活的支持。

特色

  • 异步优先:基于 Python 的异步特性,即使是非常大量的消息,也能吞吐自如

  • 易于开发:配合 NB-CLI 脚手架,代码编写上手简单,没有过多的冗余代码,可以让开发者专注于业务逻辑

  • 生而可靠100% 类型注解覆盖,配合编辑器的类型推导功能,能将绝大多数的 Bug 杜绝在编辑器中 (编辑器支持)

  • 社区丰富:社区用户众多,直接和间接用户超过十万人,每天都有大量的活跃用户 (社区资源)

  • 海纳百川:一个框架,支持多个聊天软件平台,可自定义通信协议

    协议名称 状态 注释
    OneBot仓库协议 支持 QQ、TG、微信公众号、KOOK 等平台
    Telegram仓库协议
    飞书(仓库协议
    GitHub仓库协议 GitHub APP & OAuth APP
    QQ仓库协议 QQ 官方接口调整较多
    Console仓库 控制台交互
    Red仓库协议 QQ 协议
    Satori仓库协议 支持 Onebot、TG、飞书、微信公众号、Koishi 等
    Discord仓库协议 Discord Bot 协议
    DoDo仓库协议 DoDo Bot 协议
    Kritor仓库协议 Kritor (OnebotX) 协议QQ 机器人接口标准
    Mirai仓库协议 QQ 协议
    钉钉(仓库协议 🤗 寻找 Maintainer暂不可用
    开黑啦(仓库协议 ↗️ 由社区贡献
    Ntchat仓库 ↗️ 微信协议,由社区贡献
    MineCraft仓库 ↗️ 由社区贡献
    BiliBili Live仓库 ↗️ 由社区贡献
    Walle-Q仓库 ↗️ QQ 协议,由社区贡献
    Villa仓库 米游社大别野 Bot 协议,官方已下线
    Rocket.Chat仓库协议 ↗️ Rocket.Chat Bot 协议,由社区贡献
    Tailchat仓库协议 ↗️ Tailchat 开放平台 Bot 协议,由社区贡献
    Mail仓库 ↗️ 邮件收发协议,由社区贡献
  • 坚实后盾:支持多种 web 框架,可自定义替换、组合

    驱动框架 类型
    FastAPI 服务端
    Quart(异步 Flask 服务端
    aiohttp 客户端
    httpx 客户端
    websockets 客户端

更多:概览

什么不是 NoneBot2

NoneBot2 不是某个平台或者协议的具体实现它只负责和已有协议适配器通信并处理接收到的事件。所以“NoneBot 有 blabla 平台的 blabla 功能吗?”这种问题是与 NoneBot2 无关的。请在相应平台的功能文档中确认,或与相应平台的协议适配开发者联系。

NoneBot2 不是 NoneBot1 的替代品。事实上,它们都在被积极的维护着。但是,如果你想尝试一些新功能,或者想要支持更多的平台,可以考虑使用 NoneBot2。

NoneBot2 和 NoneBot1 的区别,就像是 VisualStudio Code 和 VisualStudio 一样

即刻开始

完整文档可以在 这里 查看。

懒得看文档?下面是快速安装指南:

  1. 安装 pipx

    python -m pip install --user pipx
    python -m pipx ensurepath
    
  2. 安装脚手架

    pipx install nb-cli
    
  3. 使用脚手架创建项目

    nb create
    
  4. 运行项目

    nb run
    

社区资源

常见问题

教程/实际项目/经验分享

插件

此外NoneBot2 还有丰富的官方以及第三方现成的插件供大家使用:

许可证

NoneBot 采用 MIT 许可证进行开源

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

贡献

请参考 贡献指南

鸣谢

赞助者

感谢以下产品对 NoneBot 项目提供的赞助:

GitHub      netlify      sentry

docker      algolia

JetBrains

感谢以下赞助者对 NoneBot 项目提供的资金支持:

sponsors

开发者

感谢以下开发者对 NoneBot2 作出的贡献:

contributors