nonebot2


Namenonebot2 JSON
Version 2.2.1 PyPI version JSON
download
home_pagehttps://nonebot.dev/
SummaryAn asynchronous python bot framework.
upload_time2024-02-24 04:39:26
maintainer
docs_urlNone
authoryanyongyu
requires_python>=3.8,<4.0
licenseMIT
keywords bot qq qqbot mirai coolq
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <!-- markdownlint-disable MD033 MD041 -->
<p align="center">
  <a href="https://nonebot.dev/"><img src="https://nonebot.dev/logo.png" width="200" height="200" alt="nonebot"></a>
</p>

<div align="center">

# NoneBot

<!-- prettier-ignore-start -->
<!-- markdownlint-disable-next-line MD036 -->
_✨ 跨平台 Python 异步机器人框架 ✨_
<!-- prettier-ignore-end -->

</div>

<p align="center">
  <a href="https://raw.githubusercontent.com/nonebot/nonebot2/master/LICENSE">
    <img src="https://img.shields.io/github/license/nonebot/nonebot2" alt="license">
  </a>
  <a href="https://pypi.python.org/pypi/nonebot2">
    <img src="https://img.shields.io/pypi/v/nonebot2?logo=python&logoColor=edb641" alt="pypi">
  </a>
  <img src="https://img.shields.io/badge/python-3.8+-blue?logo=python&logoColor=edb641" alt="python">
  <a href="https://github.com/psf/black">
    <img src="https://img.shields.io/badge/code%20style-black-000000.svg?logo=python&logoColor=edb641" alt="black">
  </a>
  <a href="https://github.com/Microsoft/pyright">
    <img src="https://img.shields.io/badge/types-pyright-797952.svg?logo=python&logoColor=edb641" alt="pyright">
  </a>
  <a href="https://github.com/astral-sh/ruff">
    <img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v2.json" alt="ruff">
  </a>
  <br />
  <a href="https://codecov.io/gh/nonebot/nonebot2">
    <img src="https://codecov.io/gh/nonebot/nonebot2/branch/master/graph/badge.svg?token=2P0G0VS7N4" alt="codecov"/>
  </a>
  <a href="https://github.com/nonebot/nonebot2/actions/workflows/website-deploy.yml">
    <img src="https://github.com/nonebot/nonebot2/actions/workflows/website-deploy.yml/badge.svg?branch=master&event=push" alt="site"/>
  </a>
  <a href="https://results.pre-commit.ci/latest/github/nonebot/nonebot2/master">
    <img src="https://results.pre-commit.ci/badge/github/nonebot/nonebot2/master.svg" alt="pre-commit" />
  </a>
  <a href="https://github.com/nonebot/nonebot2/actions/workflows/pyright.yml">
    <img src="https://github.com/nonebot/nonebot2/actions/workflows/pyright.yml/badge.svg?branch=master&event=push" alt="pyright">
  </a>
  <a href="https://github.com/nonebot/nonebot2/actions/workflows/ruff.yml">
    <img src="https://github.com/nonebot/nonebot2/actions/workflows/ruff.yml/badge.svg?branch=master&event=push" alt="ruff">
  </a>
  <br />
  <a href="https://onebot.dev/">
    <img src="https://img.shields.io/badge/OneBot-v11-black?style=social&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABABAMAAABYR2ztAAAAIVBMVEUAAAAAAAADAwMHBwceHh4UFBQNDQ0ZGRkoKCgvLy8iIiLWSdWYAAAAAXRSTlMAQObYZgAAAQVJREFUSMftlM0RgjAQhV+0ATYK6i1Xb+iMd0qgBEqgBEuwBOxU2QDKsjvojQPvkJ/ZL5sXkgWrFirK4MibYUdE3OR2nEpuKz1/q8CdNxNQgthZCXYVLjyoDQftaKuniHHWRnPh2GCUetR2/9HsMAXyUT4/3UHwtQT2AggSCGKeSAsFnxBIOuAggdh3AKTL7pDuCyABcMb0aQP7aM4AnAbc/wHwA5D2wDHTTe56gIIOUA/4YYV2e1sg713PXdZJAuncdZMAGkAukU9OAn40O849+0ornPwT93rphWF0mgAbauUrEOthlX8Zu7P5A6kZyKCJy75hhw1Mgr9RAUvX7A3csGqZegEdniCx30c3agAAAABJRU5ErkJggg==" alt="onebot">
  </a>
  <a href="https://onebot.dev/">
    <img src="https://img.shields.io/badge/OneBot-v12-black?style=social&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABABAMAAABYR2ztAAAAIVBMVEUAAAAAAAADAwMHBwceHh4UFBQNDQ0ZGRkoKCgvLy8iIiLWSdWYAAAAAXRSTlMAQObYZgAAAQVJREFUSMftlM0RgjAQhV+0ATYK6i1Xb+iMd0qgBEqgBEuwBOxU2QDKsjvojQPvkJ/ZL5sXkgWrFirK4MibYUdE3OR2nEpuKz1/q8CdNxNQgthZCXYVLjyoDQftaKuniHHWRnPh2GCUetR2/9HsMAXyUT4/3UHwtQT2AggSCGKeSAsFnxBIOuAggdh3AKTL7pDuCyABcMb0aQP7aM4AnAbc/wHwA5D2wDHTTe56gIIOUA/4YYV2e1sg713PXdZJAuncdZMAGkAukU9OAn40O849+0ornPwT93rphWF0mgAbauUrEOthlX8Zu7P5A6kZyKCJy75hhw1Mgr9RAUvX7A3csGqZegEdniCx30c3agAAAABJRU5ErkJggg==" alt="onebot">
  </a>
  <a href="https://bot.q.qq.com/wiki/">
    <img src="https://img.shields.io/badge/QQ-Bot-lightgrey?style=social&logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMTIuODIgMTMwLjg5Ij48ZyBkYXRhLW5hbWU9IuWbvuWxgiAyIj48ZyBkYXRhLW5hbWU9IuWbvuWxgiAxIj48cGF0aCBkPSJNNTUuNjMgMTMwLjhjLTcgMC0xMy45LjA4LTIwLjg2IDAtMTkuMTUtLjI1LTMxLjcxLTExLjQtMzQuMjItMzAuMy00LjA3LTMwLjY2IDE0LjkzLTU5LjIgNDQuODMtNjYuNjQgMi0uNTEgNS4yMS0uMzEgNS4yMS0xLjYzIDAtMi4xMy4xNC0yLjEzLjE0LTUuNTcgMC0uODktMS4zLTEuNDYtMi4yMi0yLjMxLTYuNzMtNi4yMy03LjY3LTEzLjQxLTEtMjAuMTggNS40LTUuNTIgMTEuODctNS40IDE3LjgtLjU5IDYuNDkgNS4yNiA2LjMxIDEzLjA4LS44NiAyMS0uNjguNzQtMS43OCAxLjYtMS43OCAyLjY3djQuMjFjMCAxLjM1IDIuMiAxLjYyIDQuNzkgMi4zNSAzMS4wOSA4LjY1IDQ4LjE3IDM0LjEzIDQ1IDY2LjM3LTEuNzYgMTguMTUtMTQuNTYgMzAuMjMtMzIuNyAzMC42My04LjAyLjE5LTE2LjA3LS4wMS0yNC4xMy0uMDF6IiBmaWxsPSIjMDI5OWZlIi8+PHBhdGggZD0iTTMxLjQ2IDExOC4zOGMtMTAuNS0uNjktMTYuOC02Ljg2LTE4LjM4LTE3LjI3LTMtMTkuNDIgMi43OC0zNS44NiAxOC40Ni00Ny44MyAxNC4xNi0xMC44IDI5Ljg3LTEyIDQ1LjM4LTMuMTkgMTcuMjUgOS44NCAyNC41OSAyNS44MSAyNCA0NS4yOS0uNDkgMTUuOS04LjQyIDIzLjE0LTI0LjM4IDIzLjUtNi41OS4xNC0xMy4xOSAwLTE5Ljc5IDAiIGZpbGw9IiNmZWZlZmUiLz48cGF0aCBkPSJNNDYuMDUgNzkuNThjLjA5IDUgLjIzIDkuODItNyA5Ljc3LTcuODItLjA2LTYuMS01LjY5LTYuMjQtMTAuMTktLjE1LTQuODItLjczLTEwIDYuNzMtOS44NHM2LjM3IDUuNTUgNi41MSAxMC4yNnoiIGZpbGw9IiMxMDlmZmUiLz48cGF0aCBkPSJNODAuMjcgNzkuMjdjLS41MyAzLjkxIDEuNzUgOS42NC01Ljg4IDEwLTcuNDcuMzctNi44MS00LjgyLTYuNjEtOS41LjItNC4zMi0xLjgzLTEwIDUuNzgtMTAuNDJzNi41OSA0Ljg5IDYuNzEgOS45MnoiIGZpbGw9IiMwODljZmUiLz48L2c+PC9nPjwvc3ZnPg==" alt="QQ">
  </a>
  <a href="https://core.telegram.org/bots/api">
    <img src="https://img.shields.io/badge/telegram-Bot-lightgrey?style=social&logo=telegram" alt="telegram">
  </a>
  <a href="https://open.feishu.cn/document/home/index">
    <img src="https://img.shields.io/badge/%E9%A3%9E%E4%B9%A6-Bot-lightgrey?style=social&logo=data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDQ4IDQ4IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0xNyAyOUMyMSAyOSAyNSAyNi45MzM5IDI4IDIzLjQwNjVDMzYgMTQgNDEuNDI0MiAxNi44MTY2IDQ0IDE3Ljk5OThDMzguNSAyMC45OTk4IDQwLjUgMjkuNjIzMyAzMyAzNS45OTk4QzI4LjM4MiAzOS45MjU5IDIzLjQ5NDUgNDEuMDE0IDE5IDQxQzEyLjUyMzEgNDAuOTc5OSA2Ljg2MjI2IDM3Ljc2MzcgNCAzNS40MDYzVjE2Ljk5OTgiIHN0cm9rZT0iIzMzMyIgc3Ryb2tlLXdpZHRoPSI0IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48cGF0aCBkPSJNNS42NDgwOCAxNS44NjY5QzUuMDIyMzEgMTQuOTU2NyAzLjc3NzE1IDE0LjcyNjEgMi44NjY5NCAxNS4zNTE5QzEuOTU2NzMgMTUuOTc3NyAxLjcyNjE1IDE3LjIyMjggMi4zNTE5MiAxOC4xMzMxTDUuNjQ4MDggMTUuODY2OVpNMzYuMDAyMSAzNS43MzA5QzM2Ljk1OCAzNS4xNzc0IDM3LjI4NDMgMzMuOTUzOSAzNi43MzA5IDMyLjk5NzlDMzYuMTc3NCAzMi4wNDIgMzQuOTUzOSAzMS43MTU3IDMzLjk5NzkgMzIuMjY5MUwzNi4wMDIxIDM1LjczMDlaTTIuMzUxOTIgMTguMTMzMUM1LjI0MzUgMjIuMzM5IDEwLjc5OTIgMjguMTQ0IDE2Ljg4NjUgMzIuMjIzOUMxOS45MzQ1IDM0LjI2NjcgMjMuMjE3IDM1Ljk0NiAyNi40NDkgMzYuNzMyNEMyOS42OTQ2IDM3LjUyMiAzMy4wNDUxIDM3LjQ0MjggMzYuMDAyMSAzNS43MzA5TDMzLjk5NzkgMzIuMjY5MUMzMi4yMDQ5IDMzLjMwNzIgMjkuOTkyOSAzMy40NzggMjcuMzk0NyAzMi44NDU4QzI0Ljc4MyAzMi4yMTAzIDIxLjk0MDUgMzAuNzk1OCAxOS4xMTM1IDI4LjkwMTFDMTMuNDUwOCAyNS4xMDYgOC4yNTY1IDE5LjY2MSA1LjY0ODA4IDE1Ljg2NjlMMi4zNTE5MiAxOC4xMzMxWiIgZmlsbD0iIzMzMyIvPjxwYXRoIGQ9Ik0zMy41OTQ1IDE3QzMyLjgzOTggMTQuNzAyNyAzMC44NTQ5IDkuOTQwNTQgMjcuNTk0NSA3SDExLjU5NDVDMTUuMjE3MSAxMC42NzU3IDIzIDE2IDI3IDI0IiBzdHJva2U9IiMzMzMiIHN0cm9rZS13aWR0aD0iNCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PC9zdmc+" alt="feishu">
  </a>
  <a href="https://docs.github.com/en/developers/apps">
    <img src="https://img.shields.io/badge/GitHub-Bot-181717?style=social&logo=github" alt="github"/>
  </a>
  <!-- <a href="https://ding-doc.dingtalk.com/document#/org-dev-guide/elzz1p">
    <img src="https://img.shields.io/badge/%E9%92%89%E9%92%89-Bot-lightgrey?style=social&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAAnFBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD4jUzeAAAAM3RSTlMAQKSRaA+/f0YyFevh29R3cyklIfrlyrGsn41tVUs48c/HqJm9uZdhX1otGwkF9IN8V1CX0Q+IAAABY0lEQVRYw+3V2W7CMBAF0JuNQAhhX9OEfYdu9///rUVWpagE27Ef2gfO+0zGozsKnv6bMGzAhkNytIe5gDdzrwtTCwrbI8x4/NF668NAxgI3Q3UtFi3TyPwNQtPLUUmDd8YfqGLNe4v22XwEYb5zoOuF5baHq2UHtsKe5ivWfGAwrWu2mC34QM0PoCAuqZdOmiwV+5BLyMRtZ7dTSEcs48rzWfzwptMLyzpApka1SJ5FtR4kfCqNIBPEVDmqoqgwUYY5plQOlf6UEjNoOPnuKB6wzDyCrks///TDza8+PnR109WQdxLo8RKWq0PPnuXG0OXKQ6wWLFnCg75uYYbhmMIVVdQ709q33aHbGIj6Duz+2k1HQFX9VwqmY8xYsEJll2ahvhWgsjYLHFRXvIi2Qb0jzMQCzC3FAoydxCma88UCzE3JCWwkjCNYyMUCzHX4DiuTMawEwwhW6hnshPhjZzzJfAH0YacpbmRd7QAAAABJRU5ErkJggg==" alt="dingtalk"> -->
  </a>
  <br />
  <a href="https://jq.qq.com/?_wv=1027&k=5OFifDh">
    <img src="https://img.shields.io/badge/QQ%E7%BE%A4-768887710-orange?style=flat-square" alt="QQ Chat Group">
  </a>
  <a href="https://qun.qq.com/qqweb/qunpro/share?_wv=3&_wwv=128&appChannel=share&inviteCode=7b4a3&appChannel=share&businessType=9&from=246610&biz=ka">
    <img src="https://img.shields.io/badge/QQ%E9%A2%91%E9%81%93-NoneBot-5492ff?style=flat-square" alt="QQ Channel">
  </a>
  <a href="https://t.me/botuniverse">
    <img src="https://img.shields.io/badge/telegram-botuniverse-blue?style=flat-square" alt="Telegram Channel">
  </a>
  <a href="https://discord.gg/VKtE6Gdc4h">
    <img src="https://discordapp.com/api/guilds/847819937858584596/widget.png?style=shield" alt="Discord Server">
  </a>
</p>

<p align="center">
  <a href="https://nonebot.dev/">文档</a>
  ·
  <a href="https://nonebot.dev/docs/quick-start">快速上手</a>
  ·
  <a href="#插件">文档打不开?</a>
</p>

<p align="center">
  <a href="https://asciinema.org/a/569440">
    <img src="https://nonebot.dev/img/setup.svg" alt="setup" >
  </a>
</p>

## 简介

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

## 特色

- 异步优先:基于 Python 的异步特性,即使是~~非常~~大量的消息,也能吞吐自如
- 易于开发:配合 NB-CLI 脚手架,代码编写上手简单,没有过多的冗余代码,可以让开发者专注于业务逻辑
- 生而可靠:100% 类型注解覆盖,配合编辑器的类型推导功能,能将绝大多数的 Bug 杜绝在编辑器中 ([编辑器支持](https://nonebot.dev/docs/editor-support))
- 社区丰富:社区用户众多,直接和间接用户超过十万人,每天都有大量的活跃用户 ([社区资源](#社区资源))
- 海纳百川:一个框架,支持多个聊天软件平台,可自定义通信协议

  |                                                           协议名称                                                           | 状态 |                                   注释                                    |
  | :--------------------------------------------------------------------------------------------------------------------------: | :--: | :-----------------------------------------------------------------------: |
  |                   OneBot([仓库](https://github.com/nonebot/adapter-onebot),[协议](https://onebot.dev/))                   |  ✅  | 支持 QQ、TG、微信公众号、KOOK 等[平台](https://onebot.dev/ecosystem.html) |
  |         Telegram([仓库](https://github.com/nonebot/adapter-telegram),[协议](https://core.telegram.org/bots/api))          |  ✅  |                                                                           |
  |        飞书([仓库](https://github.com/nonebot/adapter-feishu),[协议](https://open.feishu.cn/document/home/index))         |  ✅  |                                                                           |
  |             GitHub([仓库](https://github.com/nonebot/adapter-github),[协议](https://docs.github.com/en/apps))             |  ✅  |                          GitHub APP & OAuth APP                           |
  |                   QQ([仓库](https://github.com/nonebot/adapter-qq),[协议](https://bot.q.qq.com/wiki/))                    |  ✅  |                            QQ 官方接口调整较多                            |
  |             钉钉([仓库](https://github.com/nonebot/adapter-ding),[协议](https://open.dingtalk.com/document/))             |  🤗  |                        寻找 Maintainer(暂不可用)                        |
  |                                Console([仓库](https://github.com/nonebot/adapter-console))                                 |  ✅  |                                控制台交互                                 |
  |        Red ([仓库](https://github.com/nonebot/adapter-red),[协议](https://chrononeko.github.io/QQNTRedProtocol/))         |  ✅  |                                  QQ 协议                                  |
  |               Satori([仓库](https://github.com/nonebot/adapter-satori),[协议](https://satori.js.org/zh-CN))               |  ✅  |               支持 Onebot、TG、飞书、微信公众号、Koishi 等                |
  |      Discord ([仓库](https://github.com/nonebot/adapter-discord),[协议](https://discord.com/developers/docs/intro))       |  ✅  |                             Discord Bot 协议                              |
  |                  DoDo ([仓库](https://github.com/nonebot/adapter-dodo),[协议](https://open.imdodo.com/))                  |  ✅  |                               DoDo Bot 协议                               |
  |        开黑啦([仓库](https://github.com/Tian-que/nonebot-adapter-kaiheila),[协议](https://developer.kookapp.cn/))         |  ↗️  |                                由社区贡献                                 |
  |    Mirai([仓库](https://github.com/ieew/nonebot_adapter_mirai2),[协议](https://docs.mirai.mamoe.net/mirai-api-http/))     |  ↗️  |                            QQ 协议,由社区贡献                            |
  |                              Ntchat([仓库](https://github.com/JustUndertaker/adapter-ntchat))                              |  ↗️  |                           微信协议,由社区贡献                            |
  |                         MineCraft([仓库](https://github.com/17TheWord/nonebot-adapter-minecraft))                          |  ↗️  |                                由社区贡献                                 |
  |                             BiliBili Live([仓库](https://github.com/wwweww/adapter-bilibili))                              |  ↗️  |                                由社区贡献                                 |
  |                          Walle-Q([仓库](https://github.com/onebot-walle/nonebot_adapter_walleq))                           |  ↗️  |                            QQ 协议,由社区贡献                            |
  | Villa([仓库](https://github.com/CMHopeSunshine/nonebot-adapter-villa),[协议](https://webstatic.mihoyo.com/vila/bot/doc/)) |  ↗️  |                     米游社大别野 Bot 协议,由社区贡献                     |

- 坚实后盾:支持多种 web 框架,可自定义替换、组合

  |                              驱动框架                               |  类型  |
  | :-----------------------------------------------------------------: | :----: |
  |              [FastAPI](https://fastapi.tiangolo.com/)               | 服务端 |
  | [Quart](https://quart.palletsprojects.com/en/latest/)(异步 Flask) | 服务端 |
  |           [aiohttp](https://docs.aiohttp.org/en/stable/)            | 客户端 |
  |               [httpx](https://www.python-httpx.org/)                | 客户端 |
  |     [websockets](https://websockets.readthedocs.io/en/stable/)      | 客户端 |

更多:[概览](https://nonebot.dev/docs/)

## 什么不是 NoneBot2

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

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

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

## 即刻开始

~~完整~~文档可以在 [这里](https://nonebot.dev/) 查看。

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

1. 安装 [pipx](https://pypa.github.io/pipx/)

   ```bash
   python -m pip install --user pipx
   python -m pipx ensurepath
   ```

2. 安装脚手架

   ```bash
   pipx install nb-cli
   ```

3. 使用脚手架创建项目

   ```bash
   nb create
   ```

4. 运行项目

   ```bash
   nb run
   ```

## 社区资源

### 常见问题

- [常见问题解答(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)

- 其他插件请查看 [商店](https://nonebot.dev/store/plugins)

## 许可证

`NoneBot` 采用 `MIT` 许可证进行开源

```text
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.
```

## 贡献

请参考 [贡献指南](./CONTRIBUTING.md)

## 鸣谢

### 赞助者

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

<p align="center">
  <a href="https://github.com/">
    <picture>
      <source media="(prefers-color-scheme: dark)" srcset="https://assets.nonebot.dev/github-dark.png">
      <img src="https://assets.nonebot.dev/github-light.png" height="50" alt="GitHub">
    </picture>
  </a>&nbsp;&nbsp;&nbsp;&nbsp;
  <a href="https://www.netlify.com/">
    <picture>
      <source media="(prefers-color-scheme: dark)" srcset="https://assets.nonebot.dev/netlify-dark.svg">
      <img src="https://assets.nonebot.dev/netlify-light.svg" height="50" alt="netlify">
    </picture>
  </a>&nbsp;&nbsp;&nbsp;&nbsp;
  <a href="https://sentry.io/">
    <picture>
      <source media="(prefers-color-scheme: dark)" srcset="https://assets.nonebot.dev/sentry-dark.svg">
      <img src="https://assets.nonebot.dev/sentry-light.svg" height="50" alt="sentry">
    </picture>
  </a>
</p>
<p align="center">
  <a href="https://www.docker.com/">
    <picture>
      <source media="(prefers-color-scheme: dark)" srcset="https://assets.nonebot.dev/docker-dark.svg">
      <img src="https://assets.nonebot.dev/docker-light.svg" height="50" alt="docker">
    </picture>
  </a>&nbsp;&nbsp;&nbsp;&nbsp;
  <a href="https://www.algolia.com/">
    <picture>
      <source media="(prefers-color-scheme: dark)" srcset="https://assets.nonebot.dev/algolia-dark.svg">
      <img src="https://assets.nonebot.dev/algolia-light.svg" height="50" alt="algolia">
    </picture>
  </a>
</p>
<p align="center">
  <a href="https://www.jetbrains.com/">
    <img src="https://resources.jetbrains.com/storage/products/company/brand/logos/jb_beam.svg" height="80" alt="JetBrains" >
  </a>
</p>

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

<a href="https://assets.nonebot.dev/sponsors.svg">
  <img src="https://assets.nonebot.dev/sponsors.svg" alt="sponsors" />
</a>

### 开发者

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

<a href="https://github.com/nonebot/nonebot2/graphs/contributors">
  <img src="https://contrib.rocks/image?repo=nonebot/nonebot2&max=1000" alt="contributors" />
</a>


            

Raw data

            {
    "_id": null,
    "home_page": "https://nonebot.dev/",
    "name": "nonebot2",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8,<4.0",
    "maintainer_email": "",
    "keywords": "bot,qq,qqbot,mirai,coolq",
    "author": "yanyongyu",
    "author_email": "yyy@nonebot.dev",
    "download_url": "https://files.pythonhosted.org/packages/1a/3c/15ba0f9057c0b5319a5eb3e0c487eb4f2884c0ef6c4ef764372624357971/nonebot2-2.2.1.tar.gz",
    "platform": null,
    "description": "<!-- markdownlint-disable MD033 MD041 -->\n<p align=\"center\">\n  <a href=\"https://nonebot.dev/\"><img src=\"https://nonebot.dev/logo.png\" width=\"200\" height=\"200\" alt=\"nonebot\"></a>\n</p>\n\n<div align=\"center\">\n\n# NoneBot\n\n<!-- prettier-ignore-start -->\n<!-- markdownlint-disable-next-line MD036 -->\n_\u2728 \u8de8\u5e73\u53f0 Python \u5f02\u6b65\u673a\u5668\u4eba\u6846\u67b6 \u2728_\n<!-- prettier-ignore-end -->\n\n</div>\n\n<p align=\"center\">\n  <a href=\"https://raw.githubusercontent.com/nonebot/nonebot2/master/LICENSE\">\n    <img src=\"https://img.shields.io/github/license/nonebot/nonebot2\" alt=\"license\">\n  </a>\n  <a href=\"https://pypi.python.org/pypi/nonebot2\">\n    <img src=\"https://img.shields.io/pypi/v/nonebot2?logo=python&logoColor=edb641\" alt=\"pypi\">\n  </a>\n  <img src=\"https://img.shields.io/badge/python-3.8+-blue?logo=python&logoColor=edb641\" alt=\"python\">\n  <a href=\"https://github.com/psf/black\">\n    <img src=\"https://img.shields.io/badge/code%20style-black-000000.svg?logo=python&logoColor=edb641\" alt=\"black\">\n  </a>\n  <a href=\"https://github.com/Microsoft/pyright\">\n    <img src=\"https://img.shields.io/badge/types-pyright-797952.svg?logo=python&logoColor=edb641\" alt=\"pyright\">\n  </a>\n  <a href=\"https://github.com/astral-sh/ruff\">\n    <img src=\"https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v2.json\" alt=\"ruff\">\n  </a>\n  <br />\n  <a href=\"https://codecov.io/gh/nonebot/nonebot2\">\n    <img src=\"https://codecov.io/gh/nonebot/nonebot2/branch/master/graph/badge.svg?token=2P0G0VS7N4\" alt=\"codecov\"/>\n  </a>\n  <a href=\"https://github.com/nonebot/nonebot2/actions/workflows/website-deploy.yml\">\n    <img src=\"https://github.com/nonebot/nonebot2/actions/workflows/website-deploy.yml/badge.svg?branch=master&event=push\" alt=\"site\"/>\n  </a>\n  <a href=\"https://results.pre-commit.ci/latest/github/nonebot/nonebot2/master\">\n    <img src=\"https://results.pre-commit.ci/badge/github/nonebot/nonebot2/master.svg\" alt=\"pre-commit\" />\n  </a>\n  <a href=\"https://github.com/nonebot/nonebot2/actions/workflows/pyright.yml\">\n    <img src=\"https://github.com/nonebot/nonebot2/actions/workflows/pyright.yml/badge.svg?branch=master&event=push\" alt=\"pyright\">\n  </a>\n  <a href=\"https://github.com/nonebot/nonebot2/actions/workflows/ruff.yml\">\n    <img src=\"https://github.com/nonebot/nonebot2/actions/workflows/ruff.yml/badge.svg?branch=master&event=push\" alt=\"ruff\">\n  </a>\n  <br />\n  <a href=\"https://onebot.dev/\">\n    <img src=\"https://img.shields.io/badge/OneBot-v11-black?style=social&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABABAMAAABYR2ztAAAAIVBMVEUAAAAAAAADAwMHBwceHh4UFBQNDQ0ZGRkoKCgvLy8iIiLWSdWYAAAAAXRSTlMAQObYZgAAAQVJREFUSMftlM0RgjAQhV+0ATYK6i1Xb+iMd0qgBEqgBEuwBOxU2QDKsjvojQPvkJ/ZL5sXkgWrFirK4MibYUdE3OR2nEpuKz1/q8CdNxNQgthZCXYVLjyoDQftaKuniHHWRnPh2GCUetR2/9HsMAXyUT4/3UHwtQT2AggSCGKeSAsFnxBIOuAggdh3AKTL7pDuCyABcMb0aQP7aM4AnAbc/wHwA5D2wDHTTe56gIIOUA/4YYV2e1sg713PXdZJAuncdZMAGkAukU9OAn40O849+0ornPwT93rphWF0mgAbauUrEOthlX8Zu7P5A6kZyKCJy75hhw1Mgr9RAUvX7A3csGqZegEdniCx30c3agAAAABJRU5ErkJggg==\" alt=\"onebot\">\n  </a>\n  <a href=\"https://onebot.dev/\">\n    <img src=\"https://img.shields.io/badge/OneBot-v12-black?style=social&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABABAMAAABYR2ztAAAAIVBMVEUAAAAAAAADAwMHBwceHh4UFBQNDQ0ZGRkoKCgvLy8iIiLWSdWYAAAAAXRSTlMAQObYZgAAAQVJREFUSMftlM0RgjAQhV+0ATYK6i1Xb+iMd0qgBEqgBEuwBOxU2QDKsjvojQPvkJ/ZL5sXkgWrFirK4MibYUdE3OR2nEpuKz1/q8CdNxNQgthZCXYVLjyoDQftaKuniHHWRnPh2GCUetR2/9HsMAXyUT4/3UHwtQT2AggSCGKeSAsFnxBIOuAggdh3AKTL7pDuCyABcMb0aQP7aM4AnAbc/wHwA5D2wDHTTe56gIIOUA/4YYV2e1sg713PXdZJAuncdZMAGkAukU9OAn40O849+0ornPwT93rphWF0mgAbauUrEOthlX8Zu7P5A6kZyKCJy75hhw1Mgr9RAUvX7A3csGqZegEdniCx30c3agAAAABJRU5ErkJggg==\" alt=\"onebot\">\n  </a>\n  <a href=\"https://bot.q.qq.com/wiki/\">\n    <img src=\"https://img.shields.io/badge/QQ-Bot-lightgrey?style=social&logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMTIuODIgMTMwLjg5Ij48ZyBkYXRhLW5hbWU9IuWbvuWxgiAyIj48ZyBkYXRhLW5hbWU9IuWbvuWxgiAxIj48cGF0aCBkPSJNNTUuNjMgMTMwLjhjLTcgMC0xMy45LjA4LTIwLjg2IDAtMTkuMTUtLjI1LTMxLjcxLTExLjQtMzQuMjItMzAuMy00LjA3LTMwLjY2IDE0LjkzLTU5LjIgNDQuODMtNjYuNjQgMi0uNTEgNS4yMS0uMzEgNS4yMS0xLjYzIDAtMi4xMy4xNC0yLjEzLjE0LTUuNTcgMC0uODktMS4zLTEuNDYtMi4yMi0yLjMxLTYuNzMtNi4yMy03LjY3LTEzLjQxLTEtMjAuMTggNS40LTUuNTIgMTEuODctNS40IDE3LjgtLjU5IDYuNDkgNS4yNiA2LjMxIDEzLjA4LS44NiAyMS0uNjguNzQtMS43OCAxLjYtMS43OCAyLjY3djQuMjFjMCAxLjM1IDIuMiAxLjYyIDQuNzkgMi4zNSAzMS4wOSA4LjY1IDQ4LjE3IDM0LjEzIDQ1IDY2LjM3LTEuNzYgMTguMTUtMTQuNTYgMzAuMjMtMzIuNyAzMC42My04LjAyLjE5LTE2LjA3LS4wMS0yNC4xMy0uMDF6IiBmaWxsPSIjMDI5OWZlIi8+PHBhdGggZD0iTTMxLjQ2IDExOC4zOGMtMTAuNS0uNjktMTYuOC02Ljg2LTE4LjM4LTE3LjI3LTMtMTkuNDIgMi43OC0zNS44NiAxOC40Ni00Ny44MyAxNC4xNi0xMC44IDI5Ljg3LTEyIDQ1LjM4LTMuMTkgMTcuMjUgOS44NCAyNC41OSAyNS44MSAyNCA0NS4yOS0uNDkgMTUuOS04LjQyIDIzLjE0LTI0LjM4IDIzLjUtNi41OS4xNC0xMy4xOSAwLTE5Ljc5IDAiIGZpbGw9IiNmZWZlZmUiLz48cGF0aCBkPSJNNDYuMDUgNzkuNThjLjA5IDUgLjIzIDkuODItNyA5Ljc3LTcuODItLjA2LTYuMS01LjY5LTYuMjQtMTAuMTktLjE1LTQuODItLjczLTEwIDYuNzMtOS44NHM2LjM3IDUuNTUgNi41MSAxMC4yNnoiIGZpbGw9IiMxMDlmZmUiLz48cGF0aCBkPSJNODAuMjcgNzkuMjdjLS41MyAzLjkxIDEuNzUgOS42NC01Ljg4IDEwLTcuNDcuMzctNi44MS00LjgyLTYuNjEtOS41LjItNC4zMi0xLjgzLTEwIDUuNzgtMTAuNDJzNi41OSA0Ljg5IDYuNzEgOS45MnoiIGZpbGw9IiMwODljZmUiLz48L2c+PC9nPjwvc3ZnPg==\" alt=\"QQ\">\n  </a>\n  <a href=\"https://core.telegram.org/bots/api\">\n    <img src=\"https://img.shields.io/badge/telegram-Bot-lightgrey?style=social&logo=telegram\" alt=\"telegram\">\n  </a>\n  <a href=\"https://open.feishu.cn/document/home/index\">\n    <img src=\"https://img.shields.io/badge/%E9%A3%9E%E4%B9%A6-Bot-lightgrey?style=social&logo=data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDQ4IDQ4IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0xNyAyOUMyMSAyOSAyNSAyNi45MzM5IDI4IDIzLjQwNjVDMzYgMTQgNDEuNDI0MiAxNi44MTY2IDQ0IDE3Ljk5OThDMzguNSAyMC45OTk4IDQwLjUgMjkuNjIzMyAzMyAzNS45OTk4QzI4LjM4MiAzOS45MjU5IDIzLjQ5NDUgNDEuMDE0IDE5IDQxQzEyLjUyMzEgNDAuOTc5OSA2Ljg2MjI2IDM3Ljc2MzcgNCAzNS40MDYzVjE2Ljk5OTgiIHN0cm9rZT0iIzMzMyIgc3Ryb2tlLXdpZHRoPSI0IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48cGF0aCBkPSJNNS42NDgwOCAxNS44NjY5QzUuMDIyMzEgMTQuOTU2NyAzLjc3NzE1IDE0LjcyNjEgMi44NjY5NCAxNS4zNTE5QzEuOTU2NzMgMTUuOTc3NyAxLjcyNjE1IDE3LjIyMjggMi4zNTE5MiAxOC4xMzMxTDUuNjQ4MDggMTUuODY2OVpNMzYuMDAyMSAzNS43MzA5QzM2Ljk1OCAzNS4xNzc0IDM3LjI4NDMgMzMuOTUzOSAzNi43MzA5IDMyLjk5NzlDMzYuMTc3NCAzMi4wNDIgMzQuOTUzOSAzMS43MTU3IDMzLjk5NzkgMzIuMjY5MUwzNi4wMDIxIDM1LjczMDlaTTIuMzUxOTIgMTguMTMzMUM1LjI0MzUgMjIuMzM5IDEwLjc5OTIgMjguMTQ0IDE2Ljg4NjUgMzIuMjIzOUMxOS45MzQ1IDM0LjI2NjcgMjMuMjE3IDM1Ljk0NiAyNi40NDkgMzYuNzMyNEMyOS42OTQ2IDM3LjUyMiAzMy4wNDUxIDM3LjQ0MjggMzYuMDAyMSAzNS43MzA5TDMzLjk5NzkgMzIuMjY5MUMzMi4yMDQ5IDMzLjMwNzIgMjkuOTkyOSAzMy40NzggMjcuMzk0NyAzMi44NDU4QzI0Ljc4MyAzMi4yMTAzIDIxLjk0MDUgMzAuNzk1OCAxOS4xMTM1IDI4LjkwMTFDMTMuNDUwOCAyNS4xMDYgOC4yNTY1IDE5LjY2MSA1LjY0ODA4IDE1Ljg2NjlMMi4zNTE5MiAxOC4xMzMxWiIgZmlsbD0iIzMzMyIvPjxwYXRoIGQ9Ik0zMy41OTQ1IDE3QzMyLjgzOTggMTQuNzAyNyAzMC44NTQ5IDkuOTQwNTQgMjcuNTk0NSA3SDExLjU5NDVDMTUuMjE3MSAxMC42NzU3IDIzIDE2IDI3IDI0IiBzdHJva2U9IiMzMzMiIHN0cm9rZS13aWR0aD0iNCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PC9zdmc+\" alt=\"feishu\">\n  </a>\n  <a href=\"https://docs.github.com/en/developers/apps\">\n    <img src=\"https://img.shields.io/badge/GitHub-Bot-181717?style=social&logo=github\" alt=\"github\"/>\n  </a>\n  <!-- <a href=\"https://ding-doc.dingtalk.com/document#/org-dev-guide/elzz1p\">\n    <img src=\"https://img.shields.io/badge/%E9%92%89%E9%92%89-Bot-lightgrey?style=social&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAAnFBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD4jUzeAAAAM3RSTlMAQKSRaA+/f0YyFevh29R3cyklIfrlyrGsn41tVUs48c/HqJm9uZdhX1otGwkF9IN8V1CX0Q+IAAABY0lEQVRYw+3V2W7CMBAF0JuNQAhhX9OEfYdu9///rUVWpagE27Ef2gfO+0zGozsKnv6bMGzAhkNytIe5gDdzrwtTCwrbI8x4/NF668NAxgI3Q3UtFi3TyPwNQtPLUUmDd8YfqGLNe4v22XwEYb5zoOuF5baHq2UHtsKe5ivWfGAwrWu2mC34QM0PoCAuqZdOmiwV+5BLyMRtZ7dTSEcs48rzWfzwptMLyzpApka1SJ5FtR4kfCqNIBPEVDmqoqgwUYY5plQOlf6UEjNoOPnuKB6wzDyCrks///TDza8+PnR109WQdxLo8RKWq0PPnuXG0OXKQ6wWLFnCg75uYYbhmMIVVdQ709q33aHbGIj6Duz+2k1HQFX9VwqmY8xYsEJll2ahvhWgsjYLHFRXvIi2Qb0jzMQCzC3FAoydxCma88UCzE3JCWwkjCNYyMUCzHX4DiuTMawEwwhW6hnshPhjZzzJfAH0YacpbmRd7QAAAABJRU5ErkJggg==\" alt=\"dingtalk\"> -->\n  </a>\n  <br />\n  <a href=\"https://jq.qq.com/?_wv=1027&k=5OFifDh\">\n    <img src=\"https://img.shields.io/badge/QQ%E7%BE%A4-768887710-orange?style=flat-square\" alt=\"QQ Chat Group\">\n  </a>\n  <a href=\"https://qun.qq.com/qqweb/qunpro/share?_wv=3&_wwv=128&appChannel=share&inviteCode=7b4a3&appChannel=share&businessType=9&from=246610&biz=ka\">\n    <img src=\"https://img.shields.io/badge/QQ%E9%A2%91%E9%81%93-NoneBot-5492ff?style=flat-square\" alt=\"QQ Channel\">\n  </a>\n  <a href=\"https://t.me/botuniverse\">\n    <img src=\"https://img.shields.io/badge/telegram-botuniverse-blue?style=flat-square\" alt=\"Telegram Channel\">\n  </a>\n  <a href=\"https://discord.gg/VKtE6Gdc4h\">\n    <img src=\"https://discordapp.com/api/guilds/847819937858584596/widget.png?style=shield\" alt=\"Discord Server\">\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"https://nonebot.dev/\">\u6587\u6863</a>\n  \u00b7\n  <a href=\"https://nonebot.dev/docs/quick-start\">\u5feb\u901f\u4e0a\u624b</a>\n  \u00b7\n  <a href=\"#\u63d2\u4ef6\">\u6587\u6863\u6253\u4e0d\u5f00\uff1f</a>\n</p>\n\n<p align=\"center\">\n  <a href=\"https://asciinema.org/a/569440\">\n    <img src=\"https://nonebot.dev/img/setup.svg\" alt=\"setup\" >\n  </a>\n</p>\n\n## \u7b80\u4ecb\n\nNoneBot2 \u662f\u4e00\u4e2a\u73b0\u4ee3\u3001\u8de8\u5e73\u53f0\u3001\u53ef\u6269\u5c55\u7684 Python \u804a\u5929\u673a\u5668\u4eba\u6846\u67b6\uff0c\u5b83\u57fa\u4e8e Python \u7684\u7c7b\u578b\u6ce8\u89e3\u548c\u5f02\u6b65\u7279\u6027\uff0c\u80fd\u591f\u4e3a\u4f60\u7684\u9700\u6c42\u5b9e\u73b0\u63d0\u4f9b\u4fbf\u6377\u7075\u6d3b\u7684\u652f\u6301\u3002\n\n## \u7279\u8272\n\n- \u5f02\u6b65\u4f18\u5148\uff1a\u57fa\u4e8e Python \u7684\u5f02\u6b65\u7279\u6027\uff0c\u5373\u4f7f\u662f~~\u975e\u5e38~~\u5927\u91cf\u7684\u6d88\u606f\uff0c\u4e5f\u80fd\u541e\u5410\u81ea\u5982\n- \u6613\u4e8e\u5f00\u53d1\uff1a\u914d\u5408 NB-CLI \u811a\u624b\u67b6\uff0c\u4ee3\u7801\u7f16\u5199\u4e0a\u624b\u7b80\u5355\uff0c\u6ca1\u6709\u8fc7\u591a\u7684\u5197\u4f59\u4ee3\u7801\uff0c\u53ef\u4ee5\u8ba9\u5f00\u53d1\u8005\u4e13\u6ce8\u4e8e\u4e1a\u52a1\u903b\u8f91\n- \u751f\u800c\u53ef\u9760\uff1a100% \u7c7b\u578b\u6ce8\u89e3\u8986\u76d6\uff0c\u914d\u5408\u7f16\u8f91\u5668\u7684\u7c7b\u578b\u63a8\u5bfc\u529f\u80fd\uff0c\u80fd\u5c06\u7edd\u5927\u591a\u6570\u7684 Bug \u675c\u7edd\u5728\u7f16\u8f91\u5668\u4e2d ([\u7f16\u8f91\u5668\u652f\u6301](https://nonebot.dev/docs/editor-support))\n- \u793e\u533a\u4e30\u5bcc\uff1a\u793e\u533a\u7528\u6237\u4f17\u591a\uff0c\u76f4\u63a5\u548c\u95f4\u63a5\u7528\u6237\u8d85\u8fc7\u5341\u4e07\u4eba\uff0c\u6bcf\u5929\u90fd\u6709\u5927\u91cf\u7684\u6d3b\u8dc3\u7528\u6237 ([\u793e\u533a\u8d44\u6e90](#\u793e\u533a\u8d44\u6e90))\n- \u6d77\u7eb3\u767e\u5ddd\uff1a\u4e00\u4e2a\u6846\u67b6\uff0c\u652f\u6301\u591a\u4e2a\u804a\u5929\u8f6f\u4ef6\u5e73\u53f0\uff0c\u53ef\u81ea\u5b9a\u4e49\u901a\u4fe1\u534f\u8bae\n\n  |                                                           \u534f\u8bae\u540d\u79f0                                                           | \u72b6\u6001 |                                   \u6ce8\u91ca                                    |\n  | :--------------------------------------------------------------------------------------------------------------------------: | :--: | :-----------------------------------------------------------------------: |\n  |                   OneBot\uff08[\u4ed3\u5e93](https://github.com/nonebot/adapter-onebot)\uff0c[\u534f\u8bae](https://onebot.dev/)\uff09                   |  \u2705  | \u652f\u6301 QQ\u3001TG\u3001\u5fae\u4fe1\u516c\u4f17\u53f7\u3001KOOK \u7b49[\u5e73\u53f0](https://onebot.dev/ecosystem.html) |\n  |         Telegram\uff08[\u4ed3\u5e93](https://github.com/nonebot/adapter-telegram)\uff0c[\u534f\u8bae](https://core.telegram.org/bots/api)\uff09          |  \u2705  |                                                                           |\n  |        \u98de\u4e66\uff08[\u4ed3\u5e93](https://github.com/nonebot/adapter-feishu)\uff0c[\u534f\u8bae](https://open.feishu.cn/document/home/index)\uff09         |  \u2705  |                                                                           |\n  |             GitHub\uff08[\u4ed3\u5e93](https://github.com/nonebot/adapter-github)\uff0c[\u534f\u8bae](https://docs.github.com/en/apps)\uff09             |  \u2705  |                          GitHub APP & OAuth APP                           |\n  |                   QQ\uff08[\u4ed3\u5e93](https://github.com/nonebot/adapter-qq)\uff0c[\u534f\u8bae](https://bot.q.qq.com/wiki/)\uff09                    |  \u2705  |                            QQ \u5b98\u65b9\u63a5\u53e3\u8c03\u6574\u8f83\u591a                            |\n  |             \u9489\u9489\uff08[\u4ed3\u5e93](https://github.com/nonebot/adapter-ding)\uff0c[\u534f\u8bae](https://open.dingtalk.com/document/)\uff09             |  \ud83e\udd17  |                        \u5bfb\u627e Maintainer\uff08\u6682\u4e0d\u53ef\u7528\uff09                        |\n  |                                Console\uff08[\u4ed3\u5e93](https://github.com/nonebot/adapter-console)\uff09                                 |  \u2705  |                                \u63a7\u5236\u53f0\u4ea4\u4e92                                 |\n  |        Red \uff08[\u4ed3\u5e93](https://github.com/nonebot/adapter-red)\uff0c[\u534f\u8bae](https://chrononeko.github.io/QQNTRedProtocol/)\uff09         |  \u2705  |                                  QQ \u534f\u8bae                                  |\n  |               Satori\uff08[\u4ed3\u5e93](https://github.com/nonebot/adapter-satori)\uff0c[\u534f\u8bae](https://satori.js.org/zh-CN)\uff09               |  \u2705  |               \u652f\u6301 Onebot\u3001TG\u3001\u98de\u4e66\u3001\u5fae\u4fe1\u516c\u4f17\u53f7\u3001Koishi \u7b49                |\n  |      Discord \uff08[\u4ed3\u5e93](https://github.com/nonebot/adapter-discord)\uff0c[\u534f\u8bae](https://discord.com/developers/docs/intro)\uff09       |  \u2705  |                             Discord Bot \u534f\u8bae                              |\n  |                  DoDo \uff08[\u4ed3\u5e93](https://github.com/nonebot/adapter-dodo)\uff0c[\u534f\u8bae](https://open.imdodo.com/)\uff09                  |  \u2705  |                               DoDo Bot \u534f\u8bae                               |\n  |        \u5f00\u9ed1\u5566\uff08[\u4ed3\u5e93](https://github.com/Tian-que/nonebot-adapter-kaiheila)\uff0c[\u534f\u8bae](https://developer.kookapp.cn/)\uff09         |  \u2197\ufe0f  |                                \u7531\u793e\u533a\u8d21\u732e                                 |\n  |    Mirai\uff08[\u4ed3\u5e93](https://github.com/ieew/nonebot_adapter_mirai2)\uff0c[\u534f\u8bae](https://docs.mirai.mamoe.net/mirai-api-http/)\uff09     |  \u2197\ufe0f  |                            QQ \u534f\u8bae\uff0c\u7531\u793e\u533a\u8d21\u732e                            |\n  |                              Ntchat\uff08[\u4ed3\u5e93](https://github.com/JustUndertaker/adapter-ntchat)\uff09                              |  \u2197\ufe0f  |                           \u5fae\u4fe1\u534f\u8bae\uff0c\u7531\u793e\u533a\u8d21\u732e                            |\n  |                         MineCraft\uff08[\u4ed3\u5e93](https://github.com/17TheWord/nonebot-adapter-minecraft)\uff09                          |  \u2197\ufe0f  |                                \u7531\u793e\u533a\u8d21\u732e                                 |\n  |                             BiliBili Live\uff08[\u4ed3\u5e93](https://github.com/wwweww/adapter-bilibili)\uff09                              |  \u2197\ufe0f  |                                \u7531\u793e\u533a\u8d21\u732e                                 |\n  |                          Walle-Q\uff08[\u4ed3\u5e93](https://github.com/onebot-walle/nonebot_adapter_walleq)\uff09                           |  \u2197\ufe0f  |                            QQ \u534f\u8bae\uff0c\u7531\u793e\u533a\u8d21\u732e                            |\n  | Villa\uff08[\u4ed3\u5e93](https://github.com/CMHopeSunshine/nonebot-adapter-villa)\uff0c[\u534f\u8bae](https://webstatic.mihoyo.com/vila/bot/doc/)\uff09 |  \u2197\ufe0f  |                     \u7c73\u6e38\u793e\u5927\u522b\u91ce Bot \u534f\u8bae\uff0c\u7531\u793e\u533a\u8d21\u732e                     |\n\n- \u575a\u5b9e\u540e\u76fe\uff1a\u652f\u6301\u591a\u79cd web \u6846\u67b6\uff0c\u53ef\u81ea\u5b9a\u4e49\u66ff\u6362\u3001\u7ec4\u5408\n\n  |                              \u9a71\u52a8\u6846\u67b6                               |  \u7c7b\u578b  |\n  | :-----------------------------------------------------------------: | :----: |\n  |              [FastAPI](https://fastapi.tiangolo.com/)               | \u670d\u52a1\u7aef |\n  | [Quart](https://quart.palletsprojects.com/en/latest/)\uff08\u5f02\u6b65 Flask\uff09 | \u670d\u52a1\u7aef |\n  |           [aiohttp](https://docs.aiohttp.org/en/stable/)            | \u5ba2\u6237\u7aef |\n  |               [httpx](https://www.python-httpx.org/)                | \u5ba2\u6237\u7aef |\n  |     [websockets](https://websockets.readthedocs.io/en/stable/)      | \u5ba2\u6237\u7aef |\n\n\u66f4\u591a\uff1a[\u6982\u89c8](https://nonebot.dev/docs/)\n\n## \u4ec0\u4e48\u4e0d\u662f NoneBot2\n\nNoneBot2 \u4e0d\u662f\u67d0\u4e2a\u5e73\u53f0\u6216\u8005\u534f\u8bae\u7684\u5177\u4f53\u5b9e\u73b0\uff0c\u5b83\u53ea\u8d1f\u8d23\u548c\u5df2\u6709\u534f\u8bae\u9002\u914d\u5668\u901a\u4fe1\uff0c\u5e76\u5904\u7406\u63a5\u6536\u5230\u7684\u4e8b\u4ef6\u3002\u6240\u4ee5\uff0c\u201cNoneBot \u6709 blabla \u5e73\u53f0\u7684 blabla \u529f\u80fd\u5417\uff1f\u201d\u8fd9\u79cd\u95ee\u9898\u662f\u4e0e NoneBot2 \u65e0\u5173\u7684\u3002\u8bf7\u5728\u76f8\u5e94\u5e73\u53f0\u7684\u529f\u80fd\u6587\u6863\u4e2d\u786e\u8ba4\uff0c\u6216\u4e0e\u76f8\u5e94\u5e73\u53f0\u7684\u534f\u8bae\u9002\u914d\u5f00\u53d1\u8005\u8054\u7cfb\u3002\n\nNoneBot2 \u4e0d\u662f NoneBot1 \u7684\u66ff\u4ee3\u54c1\u3002\u4e8b\u5b9e\u4e0a\uff0c\u5b83\u4eec\u90fd\u5728\u88ab\u79ef\u6781\u7684\u7ef4\u62a4\u7740\u3002\u4f46\u662f\uff0c\u5982\u679c\u4f60\u60f3\u5c1d\u8bd5\u4e00\u4e9b\u65b0\u529f\u80fd\uff0c\u6216\u8005\u60f3\u8981\u652f\u6301\u66f4\u591a\u7684\u5e73\u53f0\uff0c\u53ef\u4ee5\u8003\u8651\u4f7f\u7528 NoneBot2\u3002\n\n> ~~NoneBot2 \u548c NoneBot1 \u7684\u533a\u522b\uff0c\u5c31\u50cf\u662f VisualStudio Code \u548c VisualStudio \u4e00\u6837~~\n\n## \u5373\u523b\u5f00\u59cb\n\n~~\u5b8c\u6574~~\u6587\u6863\u53ef\u4ee5\u5728 [\u8fd9\u91cc](https://nonebot.dev/) \u67e5\u770b\u3002\n\n\u61d2\u5f97\u770b\u6587\u6863\uff1f\u4e0b\u9762\u662f\u5feb\u901f\u5b89\u88c5\u6307\u5357\uff1a\n\n1. \u5b89\u88c5 [pipx](https://pypa.github.io/pipx/)\n\n   ```bash\n   python -m pip install --user pipx\n   python -m pipx ensurepath\n   ```\n\n2. \u5b89\u88c5\u811a\u624b\u67b6\n\n   ```bash\n   pipx install nb-cli\n   ```\n\n3. \u4f7f\u7528\u811a\u624b\u67b6\u521b\u5efa\u9879\u76ee\n\n   ```bash\n   nb create\n   ```\n\n4. \u8fd0\u884c\u9879\u76ee\n\n   ```bash\n   nb run\n   ```\n\n## \u793e\u533a\u8d44\u6e90\n\n### \u5e38\u89c1\u95ee\u9898\n\n- [\u5e38\u89c1\u95ee\u9898\u89e3\u7b54(FAQ)](https://faq.nonebot.dev/)\n- [\u8bba\u575b(Discussion)](https://discussions.nonebot.dev/)\n\n### \u6559\u7a0b/\u5b9e\u9645\u9879\u76ee/\u7ecf\u9a8c\u5206\u4eab\n\n- [awesome-nonebot](https://github.com/nonebot/awesome-nonebot)\n\n### \u63d2\u4ef6\n\n\u6b64\u5916\uff0cNoneBot2 \u8fd8\u6709\u4e30\u5bcc\u7684\u5b98\u65b9\u4ee5\u53ca\u7b2c\u4e09\u65b9\u73b0\u6210\u7684\u63d2\u4ef6\u4f9b\u5927\u5bb6\u4f7f\u7528\uff1a\n\n- [NoneBot-Plugin-Docs](https://github.com/nonebot/nonebot2/tree/master/packages/nonebot-plugin-docs)\uff1a\u79bb\u7ebf\u6587\u6863\u81f3\u672c\u5730\u9879\u76ee\u4f7f\u7528 (\u522b\u518d\u8bf4\u6587\u6863\u6253\u4e0d\u5f00\u4e86\uff01)\n\n  \u5728\u9879\u76ee\u76ee\u5f55\u4e0b\u6267\u884c\uff1a\n\n  ```bash\n  nb plugin install nonebot_plugin_docs\n  ```\n\n  \u6216\u8005\u5c1d\u8bd5\u4ee5\u4e0b\u955c\u50cf\uff1a\n\n  - [\u6587\u6863\u955c\u50cf(\u4e2d\u56fd\u5883\u5185)](https://nb2.baka.icu)\n\n- \u5176\u4ed6\u63d2\u4ef6\u8bf7\u67e5\u770b [\u5546\u5e97](https://nonebot.dev/store/plugins)\n\n## \u8bb8\u53ef\u8bc1\n\n`NoneBot` \u91c7\u7528 `MIT` \u8bb8\u53ef\u8bc1\u8fdb\u884c\u5f00\u6e90\n\n```text\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\nFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\nCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\nCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n```\n\n## \u8d21\u732e\n\n\u8bf7\u53c2\u8003 [\u8d21\u732e\u6307\u5357](./CONTRIBUTING.md)\n\n## \u9e23\u8c22\n\n### \u8d5e\u52a9\u8005\n\n\u611f\u8c22\u4ee5\u4e0b\u4ea7\u54c1\u5bf9 NoneBot \u9879\u76ee\u63d0\u4f9b\u7684\u8d5e\u52a9\uff1a\n\n<p align=\"center\">\n  <a href=\"https://github.com/\">\n    <picture>\n      <source media=\"(prefers-color-scheme: dark)\" srcset=\"https://assets.nonebot.dev/github-dark.png\">\n      <img src=\"https://assets.nonebot.dev/github-light.png\" height=\"50\" alt=\"GitHub\">\n    </picture>\n  </a>&nbsp;&nbsp;&nbsp;&nbsp;\n  <a href=\"https://www.netlify.com/\">\n    <picture>\n      <source media=\"(prefers-color-scheme: dark)\" srcset=\"https://assets.nonebot.dev/netlify-dark.svg\">\n      <img src=\"https://assets.nonebot.dev/netlify-light.svg\" height=\"50\" alt=\"netlify\">\n    </picture>\n  </a>&nbsp;&nbsp;&nbsp;&nbsp;\n  <a href=\"https://sentry.io/\">\n    <picture>\n      <source media=\"(prefers-color-scheme: dark)\" srcset=\"https://assets.nonebot.dev/sentry-dark.svg\">\n      <img src=\"https://assets.nonebot.dev/sentry-light.svg\" height=\"50\" alt=\"sentry\">\n    </picture>\n  </a>\n</p>\n<p align=\"center\">\n  <a href=\"https://www.docker.com/\">\n    <picture>\n      <source media=\"(prefers-color-scheme: dark)\" srcset=\"https://assets.nonebot.dev/docker-dark.svg\">\n      <img src=\"https://assets.nonebot.dev/docker-light.svg\" height=\"50\" alt=\"docker\">\n    </picture>\n  </a>&nbsp;&nbsp;&nbsp;&nbsp;\n  <a href=\"https://www.algolia.com/\">\n    <picture>\n      <source media=\"(prefers-color-scheme: dark)\" srcset=\"https://assets.nonebot.dev/algolia-dark.svg\">\n      <img src=\"https://assets.nonebot.dev/algolia-light.svg\" height=\"50\" alt=\"algolia\">\n    </picture>\n  </a>\n</p>\n<p align=\"center\">\n  <a href=\"https://www.jetbrains.com/\">\n    <img src=\"https://resources.jetbrains.com/storage/products/company/brand/logos/jb_beam.svg\" height=\"80\" alt=\"JetBrains\" >\n  </a>\n</p>\n\n\u611f\u8c22\u4ee5\u4e0b\u8d5e\u52a9\u8005\u5bf9 NoneBot \u9879\u76ee\u63d0\u4f9b\u7684\u8d44\u91d1\u652f\u6301\uff1a\n\n<a href=\"https://assets.nonebot.dev/sponsors.svg\">\n  <img src=\"https://assets.nonebot.dev/sponsors.svg\" alt=\"sponsors\" />\n</a>\n\n### \u5f00\u53d1\u8005\n\n\u611f\u8c22\u4ee5\u4e0b\u5f00\u53d1\u8005\u5bf9 NoneBot2 \u4f5c\u51fa\u7684\u8d21\u732e\uff1a\n\n<a href=\"https://github.com/nonebot/nonebot2/graphs/contributors\">\n  <img src=\"https://contrib.rocks/image?repo=nonebot/nonebot2&max=1000\" alt=\"contributors\" />\n</a>\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "An asynchronous python bot framework.",
    "version": "2.2.1",
    "project_urls": {
        "Bug Tracker": "https://github.com/nonebot/nonebot2/issues",
        "Changelog": "https://nonebot.dev/changelog",
        "Documentation": "https://nonebot.dev/",
        "Funding": "https://afdian.net/@nonebot",
        "Homepage": "https://nonebot.dev/",
        "Repository": "https://github.com/nonebot/nonebot2"
    },
    "split_keywords": [
        "bot",
        "qq",
        "qqbot",
        "mirai",
        "coolq"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fe288cb58caf6217cb4374c2556dc2579807c2c1b3109ba21da2ee85445c096e",
                "md5": "570f170c12e324a459bcfdc9e8b9d6b2",
                "sha256": "88f2bb456bf90922925bbe489a9effe3b09300f3aa50bfa75ee50d8a83d7330f"
            },
            "downloads": -1,
            "filename": "nonebot2-2.2.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "570f170c12e324a459bcfdc9e8b9d6b2",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8,<4.0",
            "size": 107902,
            "upload_time": "2024-02-24T04:39:22",
            "upload_time_iso_8601": "2024-02-24T04:39:22.364588Z",
            "url": "https://files.pythonhosted.org/packages/fe/28/8cb58caf6217cb4374c2556dc2579807c2c1b3109ba21da2ee85445c096e/nonebot2-2.2.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1a3c15ba0f9057c0b5319a5eb3e0c487eb4f2884c0ef6c4ef764372624357971",
                "md5": "4a2c0b4b155302894b423c662c06bbc0",
                "sha256": "fe57692300571b00724999238545d8d894523460e6835a11b326a2e1cdf98fc4"
            },
            "downloads": -1,
            "filename": "nonebot2-2.2.1.tar.gz",
            "has_sig": false,
            "md5_digest": "4a2c0b4b155302894b423c662c06bbc0",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8,<4.0",
            "size": 90615,
            "upload_time": "2024-02-24T04:39:26",
            "upload_time_iso_8601": "2024-02-24T04:39:26.105397Z",
            "url": "https://files.pythonhosted.org/packages/1a/3c/15ba0f9057c0b5319a5eb3e0c487eb4f2884c0ef6c4ef764372624357971/nonebot2-2.2.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-02-24 04:39:26",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "nonebot",
    "github_project": "nonebot2",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "nonebot2"
}
        
Elapsed time: 0.21180s